rip-lang 3.14.1 → 3.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -32
- package/docs/RIP-LANG.md +89 -4
- package/docs/RIP-SCHEMA.md +98 -8
- package/docs/dist/rip.js +693 -446
- package/docs/dist/rip.min.js +210 -176
- package/docs/dist/rip.min.js.br +0 -0
- package/docs/extensions/duckdb/index.html +97 -0
- package/docs/extensions/duckdb/manifest.json +11 -0
- package/docs/extensions/duckdb/v1.5.2/linux_amd64/ripdb.duckdb_extension.gz +0 -0
- package/docs/extensions/duckdb/v1.5.2/osx_arm64/ripdb.duckdb_extension.gz +0 -0
- package/docs/extensions/index.html +82 -0
- package/docs/extensions/vscode/print/index.html +40 -0
- package/docs/extensions/vscode/print/print-1.0.13.vsix +0 -0
- package/docs/extensions/vscode/print/print-latest.vsix +0 -0
- package/docs/extensions/vscode/rip/index.html +40 -0
- package/docs/extensions/vscode/rip/rip-0.5.15.vsix +0 -0
- package/docs/extensions/vscode/rip/rip-latest.vsix +0 -0
- package/package.json +1 -1
- package/src/AGENTS.md +32 -0
- package/src/compiler.js +140 -22
- package/src/grammar/grammar.rip +41 -0
- package/src/lexer.js +146 -17
- package/src/parser.js +213 -205
- package/src/schema.js +66 -4
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(()=>{var{defineProperty:U2,getOwnPropertyNames:n3,getOwnPropertyDescriptor:o3}=Object,a3=Object.prototype.hasOwnProperty;function r3(u){return this[u]}var s3=(u)=>{var U=(C2??=new WeakMap).get(u),_;if(U)return U;if(U=U2({},"__esModule",{value:!0}),u&&typeof u==="object"||typeof u==="function"){for(var W of n3(u))if(!a3.call(U,W))U2(U,W,{get:r3.bind(u,W),enumerable:!(_=o3(u,W))||_.enumerable})}return C2.set(u,U),U},C2;var t3=(u)=>u;function e3(u,U){this[u]=t3.bind(null,U)}var T2=(u,U)=>{for(var _ in U)U2(u,_,{get:U[_],enumerable:!0,configurable:!0,set:e3.bind(U,_)})};var u0={};T2(u0,{rip:()=>z3,processRipScripts:()=>Q3,parser:()=>z1,importRip:()=>I1,getStdlibCode:()=>l1,getReactiveRuntime:()=>m1,getComponentRuntime:()=>k1,formatSExpr:()=>w1,formatErrorHTML:()=>O2,formatError:()=>B1,compileToJS:()=>D1,compile:()=>t1,VERSION:()=>Z3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>x1,CodeEmitter:()=>Y1,BUILD_DATE:()=>G3});var u4={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,Schema: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,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":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,SCHEMA:180,SCHEMA_BODY:181,COMPONENT:182,ComponentBody:183,ComponentLine:184,OFFER:185,ACCEPT:186,RENDER:187,IMPORT:188,ImportDefaultSpecifier:189,ImportNamespaceSpecifier:190,ImportSpecifierList:191,ImportSpecifier:192,AS:193,DEFAULT:194,IMPORT_ALL:195,EXPORT:196,ExportSpecifierList:197,EXPORT_ALL:198,ExportSpecifier:199,UNARY:200,DO:201,DO_IIFE:202,UNARY_MATH:203,"-":204,"+":205,"?":206,PRESENCE:207,"--":208,"++":209,MATH:210,"**":211,SHIFT:212,COMPARE: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:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",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:"SCHEMA",181:"SCHEMA_BODY",182:"COMPONENT",185:"OFFER",186:"ACCEPT",187:"RENDER",188:"IMPORT",193:"AS",194:"DEFAULT",195:"IMPORT_ALL",196:"EXPORT",198:"EXPORT_ALL",200:"UNARY",201:"DO",202:"DO_IIFE",203:"UNARY_MATH",204:"-",205:"+",206:"?",207:"PRESENCE",208:"--",209:"++",210:"MATH",211:"**",212:"SHIFT",213:"COMPARE",214:"&",215:"^",216:"|",217:"||",218:"??",219:"&&",220:"PIPE",221:"RELATION",222:"TERNARY",223:"COMPOUND_ASSIGN"},parseTable:(()=>{let u=[112,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,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,2,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,76,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,32,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,32,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,55,1,5,51,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,144,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,145,146,147,-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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,62,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,29,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,43,1,5,62,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,29,1,5,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,9,1,5,62,1,1,5,32,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,32,23,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,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,62,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,62,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,62,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,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,148,149,150,151,152,-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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,53,1,5,56,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,29,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,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,153,-200,-200,154,155,111,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,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,2,5,1,8,4,1,1,1,1,1,3,1,164,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,163,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,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,2,5,1,8,4,1,1,1,1,1,3,1,166,167,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,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,2,5,1,8,4,1,1,1,1,1,3,1,169,170,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,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,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,2,5,1,8,4,1,1,1,1,1,3,1,171,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,177,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,178,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,179,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,180,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,48,14,1,22,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,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,181,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,48,14,1,22,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,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,185,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,61,1,5,56,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,29,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,186,187,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,190,189,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,191,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,1,5,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,192,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,43,1,5,62,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,29,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,2,69,10,165,193,2,69,10,165,194,43,1,5,62,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,29,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,198,157,109,159,160,158,104,195,196,87,161,200,197,199,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,201,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,202,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,93,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,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,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-332,165,-332,107,108,-332,203,205,75,76,98,-332,104,-332,-332,-332,-332,-332,87,-332,91,-332,88,89,94,-332,-332,-332,172,-332,173,95,96,90,92,93,86,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,204,176,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,2,69,109,206,207,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,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,2,5,1,8,4,1,1,1,1,1,3,1,209,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,208,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,210,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,211,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,212,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-251,213,-251,107,108,-251,55,54,75,76,98,-251,104,-251,-251,-251,-251,-251,87,-251,91,-251,88,89,94,-251,-251,68,-251,172,-251,173,95,96,90,92,93,86,-251,72,66,67,214,56,99,-251,57,100,-251,-251,58,62,59,-251,-251,60,103,-251,-251,-251,51,-251,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,2,58,1,215,109,2,58,1,216,109,1,181,217,6,15,20,96,2,1,1,219,218,44,45,95,96,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,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,2,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,220,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-248,221,-248,107,108,-248,55,54,75,76,98,-248,104,-248,-248,-248,-248,-248,87,-248,91,-248,88,89,94,-248,-248,68,-248,172,-248,173,95,96,90,92,93,86,-248,72,66,67,56,99,-248,57,100,-248,-248,58,62,59,-248,-248,60,103,-248,-248,-248,51,-248,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,9,57,1,1,3,1,29,97,1,5,222,226,109,110,111,225,223,224,227,63,14,1,3,1,1,1,6,1,4,1,4,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,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,3,12,4,4,182,183,234,235,236,237,229,230,231,232,240,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,233,109,110,111,107,108,55,241,75,76,98,228,87,91,88,89,94,68,172,173,95,96,90,92,93,86,63,69,64,238,239,176,58,1,5,56,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,29,1,1,1,3,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,58,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,53,1,5,56,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,29,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,56,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,29,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,111,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,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,2,5,1,8,4,1,1,1,1,1,3,1,242,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,243,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,118,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,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,2,5,1,8,4,1,1,1,1,1,3,1,244,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,245,91,255,88,89,94,246,247,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,24,16,257,258,256,144,2,112,16,259,144,53,1,5,56,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,29,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,55,1,5,54,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,260,261,-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,1,86,262,1,86,263,35,6,33,8,2,1,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,-147,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-147,-147,107,108,-147,279,280,271,104,162,161,268,264,265,266,267,86,57,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,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,-198,-198,57,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,62,1,5,56,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,26,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,56,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,26,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,283,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,284,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,285,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,286,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,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,2,5,1,8,4,1,1,1,1,1,3,1,288,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,287,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-112,294,105,106,296,109,297,261,110,111,-112,-112,-112,298,289,-112,290,295,299,291,292,293,300,53,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,1,1,1,3,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,48,14,1,22,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,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,301,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,241,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,64,1,5,56,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,15,11,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,56,1,5,56,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,29,1,1,1,3,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,6,57,5,1,1,2,1,305,110,111,302,303,304,114,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,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,2,5,1,8,4,1,1,1,1,1,3,1,-5,306,-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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,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,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,2,5,1,8,4,1,1,1,1,1,3,1,307,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,308,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,309,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,310,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,311,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,312,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,313,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,314,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,315,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,318,168,316,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,317,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,321,168,319,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,320,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,324,168,322,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,323,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,325,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,326,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,327,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,328,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,329,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,1,5,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,333,157,109,159,160,158,104,330,331,87,161,200,332,199,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,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,2,5,1,8,4,1,1,1,1,1,3,1,334,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,335,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,62,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,29,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,54,1,5,56,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,29,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,54,1,5,56,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,29,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,2,112,16,336,144,2,60,1,337,261,2,60,1,338,261,111,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,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,2,5,1,8,4,1,1,1,1,1,3,1,339,168,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,77,78,344,80,81,82,83,84,85,105,106,97,109,110,111,340,107,108,342,55,54,75,76,98,341,104,61,87,91,346,88,89,94,343,345,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,88,347,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,348,44,45,95,96,254,349,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,353,261,2,60,1,354,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,355,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,356,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,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,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,2,5,1,8,4,1,1,1,1,1,3,1,358,357,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,359,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,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,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,2,5,1,8,4,1,1,1,1,1,3,1,361,360,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,362,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,364,363,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,365,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,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,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,2,5,1,8,4,1,1,1,1,1,3,1,367,366,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,368,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,370,369,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,371,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,6,63,1,5,23,1,8,8,15,2,-244,-244,-244,373,374,-244,-244,-244,-244,372,6,6,63,1,5,55,2,-201,-201,-201,-201,-201,-201,7,6,63,1,5,1,54,2,-205,-205,-205,-205,375,-205,-205,15,6,52,1,10,1,5,8,1,1,7,14,2,22,2,5,-208,157,109,-208,-208,-208,159,160,158,104,162,161,-208,-208,376,11,6,63,1,5,1,21,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,11,6,63,1,5,1,21,33,2,39,2,2,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,11,6,63,1,5,1,21,33,2,39,2,2,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,11,6,63,1,5,1,21,33,2,39,2,2,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,2,60,1,260,261,118,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,245,91,255,88,89,94,246,247,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,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,9,1,5,62,1,1,5,32,23,16,-197,-197,-197,-197,-197,-197,-197,-197,-197,111,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,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,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,377,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,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,29,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,130,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,123,-403,-403,-403,-403,9,1,5,62,1,1,5,32,23,16,-400,-400,-400,-400,-400,-400,-400,-400,-400,5,156,1,9,1,1,132,133,134,101,102,44,1,5,62,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,29,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,130,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,123,-404,-404,-404,-404,9,1,5,62,1,1,5,32,23,16,-401,-401,-401,-401,-401,-401,-401,-401,-401,44,1,5,62,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,29,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,130,-405,-405,-405,-405,-405,-405,-405,-405,-405,116,-405,-405,-405,-405,-405,-405,123,-405,-405,-405,-405,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,379,-200,-200,154,155,2,69,10,165,163,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,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,2,5,1,8,4,1,1,1,1,1,3,1,166,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,169,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,5,15,116,2,1,1,219,172,173,95,96,44,1,5,62,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,29,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,130,-406,-406,-406,-406,-406,-406,-406,-406,-406,116,-406,-406,-406,-406,-406,-406,123,-406,-406,-406,-406,44,1,5,62,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,29,1,5,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,130,-407,-407,-407,-407,-407,-407,-407,-407,-407,116,-407,-407,-407,-407,-407,-407,123,-407,-407,-407,-407,44,1,5,62,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,29,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,130,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,123,-410,-410,-410,-410,2,84,8,380,104,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-89,-89,-412,-412,-412,-412,-89,-89,-89,-89,-89,-89,-89,-89,-412,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-89,-412,-412,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-89,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,10,57,5,1,23,1,1,3,21,16,11,137,110,111,140,141,142,143,138,144,139,3,86,1,1,145,146,147,53,1,5,56,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,29,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,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-89,-89,-413,-413,-413,-413,-89,-89,-89,-89,-89,-89,-89,-89,-413,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-89,-413,-413,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-89,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,43,1,5,62,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,29,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,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,43,1,5,62,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,29,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,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,107,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,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,2,5,1,8,4,1,1,1,1,1,3,1,383,381,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,382,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,384,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,1,5,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,3,69,10,73,165,385,386,46,1,5,62,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,29,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,387,388,389,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,43,1,5,62,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,29,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,4,97,74,2,2,391,390,392,393,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,394,162,161,200,199,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,395,162,161,200,199,3,69,10,93,165,396,397,5,75,22,74,2,2,398,-330,-330,-330,-330,6,75,1,21,74,2,2,-328,399,-328,-328,-328,-328,22,69,26,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,400,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,163,1,1,401,402,403,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,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,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,2,5,1,8,4,1,1,1,1,1,3,1,404,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,60,1,5,56,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,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-89,-89,-336,165,-336,-336,-89,-89,-89,405,-89,-89,-89,-89,-89,-336,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-89,-336,-336,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,406,-336,-336,-89,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,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,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,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,407,408,412,413,65,73,74,46,47,71,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,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,2,5,1,8,4,1,1,1,1,1,3,1,414,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,131,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,130,101,102,-353,-353,-353,-353,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-249,-249,-249,-249,-249,-249,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,415,104,44,1,5,62,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,29,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,130,-252,-252,-252,-252,-252,-252,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,416,104,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,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,2,5,1,8,4,1,1,1,1,1,3,1,417,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,69,10,49,165,419,418,2,69,10,165,420,43,1,5,62,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,29,1,5,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,9,1,5,62,1,1,5,32,23,16,-402,-402,-402,-402,-402,-402,-402,-402,-402,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,62,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,29,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,130,-246,-246,-246,-246,-246,-246,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,421,104,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,75,75,423,422,1,150,424,7,58,1,10,30,92,1,2,429,109,428,425,426,427,430,2,75,75,-370,-370,1,193,431,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,85,3,2,-112,294,105,106,436,109,297,261,110,111,435,-112,-112,298,289,432,290,295,299,291,292,293,300,437,433,434,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,13,1,5,62,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,62,1,1,5,32,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,62,1,5,56,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,26,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,439,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,440,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,150,441,57,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,149,150,151,152,-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,58,1,5,56,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,29,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,2,6,140,112,442,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,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,2,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,20,12,2,16,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,131,-226,346,444,345,-226,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,1,1,1,3,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,445,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,448,-244,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,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,-181,-181,5,6,63,1,5,32,-172,-172,-172,-172,-172,117,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,452,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,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,2,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,-183,-183,-183,-183,-183,-183,5,6,63,1,5,32,-177,-177,-177,-177,-177,6,6,63,1,5,32,23,-227,-227,-227,-227,-227,-227,6,6,63,1,5,32,23,-228,-228,-228,-228,-228,-228,111,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,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,2,5,1,8,4,1,1,1,1,1,3,1,-229,454,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-229,-229,107,108,-229,55,54,75,76,98,104,61,87,-229,91,88,89,94,68,-229,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,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,2,60,1,455,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,456,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,457,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,1,1,1,3,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,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,2,60,1,458,261,2,60,1,459,261,53,1,5,56,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,29,1,1,1,3,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,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,461,460,-244,-244,-244,-244,5,6,63,1,5,40,-148,-148,-148,-148,-148,1,94,462,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,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,2,5,1,8,4,1,1,1,1,1,3,1,463,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,1,94,-168,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,464,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,465,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,466,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,131,-285,-285,467,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,130,101,102,-285,-285,-285,-285,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,165,-292,-292,468,-292,-292,131,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,130,101,102,-292,-292,-292,-292,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,19,5,-117,-117,-117,-117,469,-117,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,471,470,-244,-244,-244,-244,7,6,63,1,5,1,18,5,-126,-126,-126,-126,472,-126,-126,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,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,2,5,1,8,4,1,1,1,1,1,3,1,473,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,60,1,45,260,261,474,6,6,63,1,5,19,5,-129,-129,-129,-129,-129,-129,5,6,63,1,5,24,-113,-113,-113,-113,-113,11,6,63,1,5,1,10,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,63,1,5,1,10,1,1,6,5,29,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,11,6,63,1,5,1,10,1,1,6,5,29,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,5,6,63,1,5,24,-118,-118,-118,-118,-118,17,39,4,1,14,1,1,1,23,1,7,13,3,2,1,2,29,3,478,480,479,296,109,297,261,477,298,104,475,91,476,481,482,90,86,54,1,5,56,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,29,1,1,1,3,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,6,57,5,1,2,1,1,305,110,111,484,485,304,4,62,1,2,2,-61,-61,-61,-61,112,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,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,2,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,488,487,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,76,-4,-4,-4,-4,-4,44,1,5,62,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,29,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,130,-416,-416,-416,-416,-416,-416,-416,-416,115,116,-416,-416,-416,-416,-416,-416,123,-416,-416,-416,-416,44,1,5,62,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,29,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,130,-417,-417,-417,-417,-417,-417,-417,-417,115,116,-417,-417,-417,-417,-417,-417,123,-417,-417,-417,-417,44,1,5,62,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,29,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,130,-418,-418,-418,-418,-418,-418,-418,-418,-418,116,-418,-418,-418,-418,-418,-418,123,-418,-418,-418,-418,44,1,5,62,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,29,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,130,-419,-419,-419,-419,-419,-419,-419,-419,-419,116,-419,-419,-419,-419,-419,-419,123,-419,-419,-419,-419,44,1,5,62,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,29,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,130,-420,-420,-420,-420,-420,-420,114,113,115,116,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,44,1,5,62,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,29,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,130,-421,-421,-421,-421,-421,-421,114,113,115,116,117,-421,-421,-421,-421,-421,123,-421,-421,126,-421,44,1,5,62,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,29,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,130,-422,-422,-422,-422,-422,-422,114,113,115,116,117,118,-422,-422,-422,-422,123,-422,-422,126,-422,44,1,5,62,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,29,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,130,-423,-423,-423,-423,-423,-423,114,113,115,116,117,118,119,-423,-423,-423,123,-423,-423,126,-423,44,1,5,62,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,29,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,130,-424,-424,-424,-424,-424,-424,114,113,115,116,117,118,119,120,-424,-424,123,-424,-424,126,-424,43,1,5,62,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,29,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,43,1,5,62,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,29,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,44,1,5,62,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,29,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,130,-432,-432,-432,-432,-432,-432,114,113,115,116,117,118,119,120,121,-432,123,124,-432,126,-432,43,1,5,62,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,29,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,43,1,5,62,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,29,1,5,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,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,131,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,128,129,130,101,102,-433,-433,-433,-433,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,43,1,5,62,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,29,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,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,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,29,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,130,-431,-431,-431,-431,-431,-431,114,113,115,116,117,118,119,120,121,-431,123,-431,-431,126,-431,44,1,5,62,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,29,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,130,-434,-434,-434,-434,-434,-434,114,113,115,116,117,118,119,120,121,122,123,124,-434,126,-434,44,1,5,62,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,29,1,5,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,130,-435,-435,-435,-435,-435,-435,114,113,115,116,117,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,22,94,1,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,489,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,131,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,490,-263,-263,130,101,102,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,131,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,130,101,102,-267,-267,-267,-267,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,97,74,2,2,492,491,493,494,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,495,162,161,200,199,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,496,162,161,200,199,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,497,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,131,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,130,101,102,-262,-262,-262,-262,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,131,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,101,102,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,54,1,5,56,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,29,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,62,1,5,56,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,26,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,62,1,5,56,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,26,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,25,89,6,14,16,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,498,131,346,499,345,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,500,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,501,104,61,87,91,346,88,89,94,343,345,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,89,502,1,89,503,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,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,2,5,1,8,4,1,1,1,1,1,3,1,504,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-191,107,108,55,54,75,76,98,-191,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,505,-48,-48,-48,-70,-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,58,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,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,-185,-185,58,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,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,-186,-186,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,506,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,507,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,1,1,1,3,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,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,508,-244,-244,-244,-244,5,6,63,1,5,55,-221,-221,-221,-221,-221,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,44,45,95,96,254,510,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,20,12,23,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,131,-226,-226,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,62,1,5,56,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,26,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,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,511,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,512,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,513,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,514,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,515,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,516,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,517,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,1,5,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,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,518,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,519,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,520,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,1,5,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,3,133,1,1,521,95,96,18,6,52,1,10,1,13,1,1,7,7,7,1,1,1,6,15,6,1,-245,157,109,-245,-245,159,160,158,104,-245,162,-245,161,156,-245,-245,522,155,2,6,63,523,524,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,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,2,5,1,8,4,1,1,1,1,1,3,1,525,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,6,6,63,1,5,55,2,-207,-207,-207,-207,-207,-207,56,1,5,56,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,29,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,-240,-240,-240,2,6,64,112,526,10,6,63,1,5,23,1,8,8,15,2,-244,-244,-244,373,374,-244,-244,-244,-244,527,1,70,528,44,1,5,62,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,29,1,5,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,130,-437,-437,-437,-437,-437,-437,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,529,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,530,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,1,5,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,531,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,532,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,2,69,10,165,533,6,58,1,10,10,5,8,534,109,165,536,535,104,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,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,2,5,1,8,4,1,1,1,1,1,3,1,537,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,538,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,539,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,540,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,541,1,173,542,43,1,5,62,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,29,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,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,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,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,2,5,1,8,4,1,1,1,1,1,3,1,543,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,58,1,24,1,1,7,14,2,29,39,157,109,159,160,158,104,162,161,200,544,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,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,2,5,1,8,4,1,1,1,1,1,3,1,545,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,163,1,1,546,402,403,4,70,83,11,1,547,548,549,403,3,70,83,12,-279,-279,-279,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,1,3,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,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,551,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,550,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,165,-334,-334,552,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,553,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,2,6,64,555,554,2,6,64,-344,-344,23,6,64,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-348,-348,7,6,64,86,1,9,1,1,-349,-349,132,133,134,101,102,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,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,2,5,1,8,4,1,1,1,1,1,3,1,556,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,59,557,22,69,26,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,558,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,559,1,70,560,44,1,5,62,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,29,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,-254,-254,-254,130,-254,-254,-254,-254,-254,-254,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,561,-200,-200,154,155,43,1,5,62,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,29,1,5,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,43,1,5,62,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,29,1,5,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,1,70,562,3,57,5,1,563,110,111,3,92,98,5,565,564,227,3,57,5,1,566,110,111,1,150,567,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,568,-244,-244,-244,-244,5,6,63,1,5,24,-361,-361,-361,-361,-361,6,58,1,10,122,1,2,429,109,428,570,427,430,6,6,63,1,5,24,94,-366,-366,-366,-366,-366,571,6,6,63,1,5,24,94,-368,-368,-368,-368,-368,572,2,58,1,573,109,14,1,5,62,1,1,5,32,23,16,4,6,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,574,-372,-372,-372,-372,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,575,-244,-244,-244,-244,5,6,63,1,5,24,-390,-390,-390,-390,-390,6,58,1,10,125,3,2,578,109,435,437,577,434,12,6,63,1,5,1,10,1,1,6,5,29,65,-395,-395,-395,-395,-123,-123,-123,-123,-123,-395,-123,579,6,6,63,1,5,24,94,-398,-398,-398,-398,-398,580,107,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,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,2,5,1,8,4,1,1,1,1,1,3,1,582,581,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,583,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,131,-385,-385,-385,-385,-385,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,584,104,3,57,5,1,585,110,111,53,1,5,56,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,29,1,1,1,3,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,2,6,64,112,586,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,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,2,5,1,8,4,1,1,1,1,1,3,1,587,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,58,1,5,56,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,29,1,1,1,3,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,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,451,-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,-182,5,6,63,1,5,32,-178,-178,-178,-178,-178,2,69,38,589,588,122,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,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,2,5,1,8,4,1,1,1,1,1,3,1,-245,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-245,-245,107,108,251,55,54,75,76,98,104,61,-245,87,-245,91,255,88,89,94,-245,591,590,252,248,68,-245,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,37,592,-179,-179,-179,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,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,-184,-184,-184,-184,-184,-184,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,593,-244,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,20,12,23,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,131,-213,-213,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,53,1,5,56,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,29,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,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,594,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,595,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,53,1,5,56,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,29,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,53,1,5,56,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,29,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,3,6,63,46,597,598,596,36,6,33,8,2,1,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,-245,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-245,-245,107,108,279,280,271,104,-245,162,-245,161,268,-245,599,267,-245,86,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,600,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,601,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,26,6,63,1,5,20,20,41,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,131,-154,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,43,1,5,62,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,29,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,602,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,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,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,2,5,1,8,4,1,1,1,1,1,3,1,603,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,604,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,605,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,606,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,6,63,30,608,609,607,24,6,41,9,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,6,15,-245,294,105,106,296,109,297,261,110,111,-245,-245,298,611,-245,610,299,291,292,-245,293,300,-245,-245,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,612,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,613,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,614,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,615,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,6,63,1,5,11,1,1,11,13,16,-130,-130,-130,-130,-132,-132,-132,-130,616,144,10,6,63,1,5,11,1,1,11,13,16,-131,-131,-131,-131,618,619,620,-131,617,144,9,6,63,1,5,11,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,63,1,5,11,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,63,1,5,11,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,63,1,5,11,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,86,2,24,16,257,258,621,144,2,112,16,622,144,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,623,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,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,2,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,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,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,2,5,1,8,4,1,1,1,1,1,3,1,625,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,627,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,626,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,628,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,629,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,630,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,631,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,632,1,173,633,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,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,2,5,1,8,4,1,1,1,1,1,3,1,634,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,62,1,5,56,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,26,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,635,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-189,107,108,55,54,75,76,98,-189,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,25,70,25,14,16,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,636,131,346,499,345,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,637,62,1,5,56,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,26,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,62,1,5,56,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,26,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,23,70,19,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,638,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,639,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,640,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,6,63,61,642,643,641,118,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,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,2,5,1,8,4,1,1,1,1,1,3,1,-245,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-245,-245,107,108,55,54,75,76,98,104,61,-245,87,-245,91,255,88,89,94,-245,644,68,-245,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,645,-244,-244,-244,-244,62,1,5,56,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,26,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,646,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,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,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,647,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,648,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,649,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,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,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,2,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,650,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,55,2,-202,-202,-202,-202,-202,-202,11,58,1,24,1,1,7,14,2,1,27,1,157,109,159,160,158,104,162,161,156,652,155,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,653,-200,-200,154,155,27,6,63,1,5,20,35,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,131,-206,-206,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,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,29,1,1,1,3,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,3,133,1,1,654,95,96,43,1,5,62,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,29,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,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,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,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,656,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,165,657,43,1,5,62,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,29,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,2,69,10,165,658,2,69,10,165,659,44,1,5,62,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,29,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,-274,25,69,10,16,5,56,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,660,131,661,128,129,130,101,102,662,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,663,131,664,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,665,131,666,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,667,131,668,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,669,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,670,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,671,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,97,74,2,2,-331,-331,-331,-331,26,75,20,2,59,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,131,-329,128,129,130,101,102,-329,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,83,11,1,672,673,549,403,43,1,5,62,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,29,1,5,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,2,69,10,165,674,3,70,83,12,-280,-280,-280,3,69,6,4,165,676,675,23,69,6,20,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,165,-338,-338,677,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,113,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,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,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-346,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-346,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,678,412,413,65,73,74,46,47,71,48,49,50,52,53,23,6,64,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-351,-351,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,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,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,679,408,412,413,65,73,74,46,47,71,48,49,50,52,53,43,1,5,62,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,29,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,43,1,5,62,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,29,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,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,373,374,-244,-244,-244,680,43,1,5,62,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,29,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,150,681,6,58,1,10,122,1,2,429,109,428,682,427,430,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,57,5,1,683,110,111,3,6,63,30,685,686,684,11,6,52,1,10,1,29,8,8,15,62,2,-245,429,109,-245,-245,-245,-245,-245,-245,687,430,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,688,-244,-244,-244,-244,2,58,1,689,109,2,58,1,690,109,1,150,-371,3,57,5,1,691,110,111,3,6,63,30,693,694,692,11,6,52,1,10,1,29,8,8,15,64,5,-245,578,109,-245,-245,-245,-245,-245,-245,437,695,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,696,-244,-244,-244,-244,6,6,63,1,5,24,94,-395,-395,-395,-395,-395,579,3,58,1,135,697,109,698,2,58,1,699,109,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,131,-378,-378,-378,-378,-378,130,-378,-378,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,700,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,701,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,70,702,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,1,146,703,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,704,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,117,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,705,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,32,-173,-173,-173,-173,-173,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-180,-180,107,108,251,55,54,75,76,98,104,61,87,-180,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,706,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,589,707,53,1,5,56,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,29,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,708,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,53,1,5,56,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,29,1,1,1,3,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,29,39,8,2,1,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,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,107,108,279,280,271,104,162,161,268,709,267,86,35,6,33,8,2,1,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,-147,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-147,-147,107,108,-147,279,280,271,104,162,161,268,-147,710,266,267,86,5,6,63,1,5,40,-149,-149,-149,-149,-149,26,6,63,1,5,20,20,41,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,131,-152,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,711,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,2,69,10,165,712,44,1,5,62,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,29,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,130,-284,-284,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-286,-286,-286,-286,-286,-286,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,713,-119,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,714,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,58,1,5,56,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,29,1,1,1,3,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,17,47,9,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,294,105,106,296,109,297,261,110,111,298,611,715,299,291,292,293,300,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-112,294,105,106,296,109,297,261,110,111,-112,-112,-112,298,611,-112,716,295,299,291,292,293,300,5,6,63,1,5,24,-114,-114,-114,-114,-114,6,6,63,1,5,19,5,-117,-117,-117,-117,717,-117,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,131,-121,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,718,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,6,6,63,1,5,19,5,-127,-127,-127,-127,-127,-127,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,719,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,6,63,1,5,11,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,63,1,5,11,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,2,60,1,720,261,2,60,1,721,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,722,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,723,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,9,6,63,1,5,11,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,63,1,5,11,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,724,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,725,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,131,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,130,101,102,-265,-265,-265,-265,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,726,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,130,-311,-311,-311,727,-311,-311,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,728,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,729,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,130,-320,-320,-320,-320,-320,-320,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,730,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,130,-324,-324,-324,-324,-324,-324,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,731,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,732,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,130,-327,-327,-327,-327,-327,-327,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,733,1,89,734,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,736,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,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,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,44,45,95,96,254,737,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,55,-222,-222,-222,-222,-222,3,6,63,1,642,643,738,1,89,739,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,43,1,5,62,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,29,1,5,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,43,1,5,62,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,29,1,5,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,53,1,5,56,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,29,1,1,1,3,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,9,1,5,62,1,1,5,32,23,16,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,63,1,5,55,2,-203,-203,-203,-203,-203,-203,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,373,740,-244,-244,-244,-244,2,69,10,165,650,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,43,1,5,62,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,29,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,-256,-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,62,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,29,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,44,1,5,62,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,29,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,-272,44,1,5,62,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,29,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,-273,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,741,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,742,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,743,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,744,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,745,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,746,131,747,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,748,131,749,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,43,1,5,62,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,29,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,2,69,10,165,750,1,70,751,4,6,64,83,12,752,-281,-281,-281,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,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,2,5,1,8,4,1,1,1,1,1,3,1,753,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,2,6,64,-345,-345,2,6,64,555,754,2,69,10,165,755,3,57,5,1,756,110,111,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,757,-244,-244,-244,-244,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,150,758,4,58,1,133,2,429,109,759,430,6,58,1,10,122,1,2,429,109,428,760,427,430,5,6,63,1,5,24,-362,-362,-362,-362,-362,3,6,63,1,685,686,761,5,6,63,1,5,24,-367,-367,-367,-367,-367,5,6,63,1,5,24,-369,-369,-369,-369,-369,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,14,1,5,62,1,1,5,32,23,16,4,6,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,762,-373,-373,-373,-373,4,58,1,135,5,578,109,437,763,6,58,1,10,125,3,2,578,109,435,437,764,434,5,6,63,1,5,24,-391,-391,-391,-391,-391,3,6,63,1,693,694,765,5,6,63,1,5,24,-396,-396,-396,-396,-396,5,6,63,1,5,24,-397,-397,-397,-397,-397,5,6,63,1,5,24,-399,-399,-399,-399,-399,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,131,-379,-379,-379,-379,-379,130,-379,-379,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,766,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,53,1,5,56,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,29,1,1,1,3,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,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,767,-244,5,6,63,1,5,32,-174,-174,-174,-174,-174,5,6,63,1,5,32,-175,-175,-175,-175,-175,1,89,768,5,6,63,1,5,40,-150,-150,-150,-150,-150,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,461,769,-244,-244,-244,-244,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,333,157,109,159,160,158,104,771,772,87,161,200,332,199,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,773,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,24,-115,-115,-115,-115,-115,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,471,774,-244,-244,-244,-244,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,775,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,606,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,776,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,19,5,-128,-128,-128,-128,-128,-128,9,6,63,1,5,11,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,9,6,63,1,5,11,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,777,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,778,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,68,779,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,780,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,781,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,782,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,783,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,784,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,785,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,786,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,787,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,130,-322,-322,-322,-322,-322,-322,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,62,1,5,56,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,26,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,1,89,788,5,6,63,1,5,55,-223,-223,-223,-223,-223,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,789,-244,-244,-244,-244,5,6,63,1,5,55,-224,-224,-224,-224,-224,62,1,5,56,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,26,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,3,6,63,1,523,524,790,24,69,10,16,61,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,791,131,128,129,130,101,102,792,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,793,131,794,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,795,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,796,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,797,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,798,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,799,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,70,800,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,3,70,83,12,-282,-282,-282,23,69,6,20,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,43,1,5,62,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,29,1,5,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,3,6,63,30,685,686,801,3,57,5,1,802,110,111,5,6,63,1,5,24,-363,-363,-363,-363,-363,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,803,-244,-244,-244,-244,5,6,63,1,5,24,-364,-364,-364,-364,-364,3,57,5,1,804,110,111,5,6,63,1,5,24,-392,-392,-392,-392,-392,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,805,-244,-244,-244,-244,5,6,63,1,5,24,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,2,69,1,589,806,53,1,5,56,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,29,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,3,6,63,1,597,598,807,5,6,63,1,5,40,-153,-153,-153,-153,-153,4,97,74,2,2,808,491,493,494,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,809,162,161,200,199,5,6,63,1,5,24,-120,-120,-120,-120,-120,3,6,63,1,608,609,810,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,131,-119,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,24,-122,-122,-122,-122,-122,9,6,63,1,5,11,1,1,11,29,-143,-143,-143,-143,-143,-143,-143,-143,-143,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,62,1,2,2,-64,-64,-64,-64,43,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,44,1,5,62,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,29,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,130,-312,-312,-312,812,-312,-312,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,813,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,130,-313,-313,-313,-313,-313,-313,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,130,-321,-321,-321,-321,-321,-321,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,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,130,-325,-325,-325,-325,-325,-325,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,814,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,815,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,62,1,5,56,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,26,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,3,6,63,1,642,643,816,6,6,63,1,5,55,2,-204,-204,-204,-204,-204,-204,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,817,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,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,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,2,5,1,8,4,1,1,1,1,1,3,1,818,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,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,29,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,43,1,5,62,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,29,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,43,1,5,62,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,29,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,-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,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,820,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,1,5,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,1,150,821,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,3,6,63,1,685,686,822,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,3,6,63,1,693,694,823,5,6,63,1,5,32,-176,-176,-176,-176,-176,5,6,63,1,5,40,-151,-151,-151,-151,-151,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,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,2,5,1,8,4,1,1,1,1,1,3,1,824,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,825,5,6,63,1,5,24,-116,-116,-116,-116,-116,1,89,826,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,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,2,5,1,8,4,1,1,1,1,1,3,1,827,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,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,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,2,5,1,8,4,1,1,1,1,1,3,1,828,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-323,-323,-323,-323,-323,-323,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,55,-225,-225,-225,-225,-225,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,829,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,830,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,43,1,5,62,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,29,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,3,57,5,1,831,110,111,5,6,63,1,5,24,-365,-365,-365,-365,-365,5,6,63,1,5,24,-394,-394,-394,-394,-394,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,834,-316,-316,-316,-316,832,-316,833,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,2,5,1,8,4,1,1,1,1,1,3,1,835,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,9,6,63,1,5,11,1,1,11,29,-144,-144,-144,-144,-144,-144,-144,-144,-144,44,1,5,62,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,29,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,130,-314,-314,-314,-314,-314,-314,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,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,29,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,62,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,29,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,99,836,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,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,2,5,1,8,4,1,1,1,1,1,3,1,837,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,7,6,63,1,29,8,8,15,-245,-245,-245,-245,-245,-245,-245,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,834,-318,-318,-318,-318,838,-318,839,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,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,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,834,-317,-317,-317,-317,840,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,99,841,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,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,2,5,1,8,4,1,1,1,1,1,3,1,842,168,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,99,843,58,1,5,56,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,29,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,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,834,-319,-319,-319,-319,844,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,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,1,99,845,58,1,5,56,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,29,1,1,1,3,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],U=[],_=0,W,f,$,F;while(_<u.length){W=u[_++],f={},$=0,F=[];while(W--)$+=u[_++],F.push($);for($ of F)f[$]=u[_++];U.push(f)}return U})(),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,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,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,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,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,32,6,32,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,30,2,30,4,31,1,31,2,31,4,31,3,151,3,151,5,154,3,154,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,159,3,159,3,159,2,26,5,26,7,26,4,26,6,163,1,163,2,164,3,164,4,166,2,166,4,166,2,166,4,24,2,24,2,24,2,24,1,169,2,169,2,169,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,176,1,176,3,96,1,96,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,183,1,183,3,183,2,184,1,184,1,184,1,184,2,184,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,191,1,191,3,191,4,191,4,191,6,192,1,192,3,192,1,192,3,189,1,190,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,197,1,197,3,197,4,197,4,197,6,199,1,199,3,199,3,199,1,199,3,36,2,36,2,36,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,42,2],ruleActions:(u,U,_,W)=>{let f=U,$=U.length-1;switch(u){case 1:return["program"];case 2:return["program",...f[$]];case 3:case 61:case 113:case 148:case 177:case 181:case 201:case 221:case 230:case 279:case 330:case 344:case 361:case 390:return[f[$]];case 4:case 114:case 149:case 202:case 222:case 231:case 345:case 362:case 391:return[...f[$-2],f[$]];case 5:case 63:case 184:case 346:return f[$-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 55:case 56:case 57:case 58:case 59:case 66:case 67: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 172:case 198:case 199:case 205:case 209:case 210:case 211:case 212:case 226:case 227:case 228:case 244:case 245:case 259:case 261:case 290:case 328:case 347:case 348:case 349:case 366:case 368:case 370:case 395:case 398:return f[$];case 49:case 162:return"undefined";case 50:case 161:return"null";case 54:case 168:return["symbol",f[$]];case 60:return["str",...f[$-1]];case 62:case 178:case 182:case 280:return[...f[$-1],f[$]];case 64:case 220:case 224:case 364:case 393:return f[$-2];case 65:return"";case 68:return["regex",f[$-1]];case 69:return["regex-index",f[$-2],f[$]];case 70:return["regex-index",f[$],null];case 71:case 121:return["=",f[$-2],f[$]];case 72:return["=",f[$-3],f[$]];case 73:case 122:return["=",f[$-4],f[$-1]];case 74:return["state",f[$-2],f[$]];case 75:return["state",f[$-3],f[$]];case 76:return["state",f[$-4],f[$-1]];case 77:case 79:return["computed",f[$-2],f[$]];case 78:return["computed",f[$-3],f[$]];case 80:return["readonly",f[$-2],f[$]];case 81:return["readonly",f[$-3],f[$]];case 82:return["readonly",f[$-4],f[$-1]];case 83:case 85:return["effect",f[$-2],f[$]];case 84:return["effect",f[$-3],f[$]];case 86:case 87:case 88:return["effect",null,f[$]];case 94:case 103:case 141:return[".",f[$-2],f[$]];case 95:case 104:case 142:return["?.",f[$-2],f[$]];case 96:case 98:case 105:case 143:return["[]",f[$-3],f[$-1]];case 97:case 99:case 106:case 144:return["[]",f[$-5],f[$-2]];case 100:return[f[$-1][0],f[$-3],...f[$-1].slice(1)];case 101:return["optindex",f[$-4],f[$-1]];case 102:return["optindex",f[$-6],f[$-2]];case 107:return["object-comprehension",f[$-8],f[$-6],[["for-of",f[$-4],f[$-2],!1]],[]];case 108:return["object-comprehension",f[$-10],f[$-8],[["for-of",f[$-6],f[$-4],!1]],[f[$-2]]];case 109:return["object-comprehension",f[$-9],f[$-7],[["for-of",f[$-4],f[$-2],!0]],[]];case 110:return["object-comprehension",f[$-11],f[$-9],[["for-of",f[$-6],f[$-4],!0]],[f[$-2]]];case 111:return["object",...f[$-2]];case 112:case 147:case 179:case 200:case 219:return[];case 115:case 150:case 203:case 223:case 363:case 392:return[...f[$-3],f[$]];case 116:case 151:case 204:case 225:case 365:case 394:return[...f[$-5],...f[$-2]];case 117:return[null,f[$],f[$]];case 119:case 152:return[":",f[$-2],f[$]];case 120:case 153:return[":",f[$-4],f[$-1]];case 127:return["dynamicKey",f[$-1]];case 128:return["[]","this",f[$-1]];case 130:case 131:case 154:case 213:return["...",f[$]];case 137:case 217:return["super",...f[$]];case 138:case 139:case 140:case 215:case 218:return[f[$-1],...f[$]];case 145:return["map-literal"];case 146:return["map-literal",...f[$-2]];case 169:return["array"];case 170:return["array",...f[$-1]];case 171:return["array",...f[$-2],...f[$-1]];case 173:return[...f[$-2],...f[$]];case 174:return[...f[$-3],...f[$]];case 175:return[...f[$-2],...f[$-1]];case 176:return[...f[$-5],...f[$-4],...f[$-2],...f[$-1]];case 180:return[...f[$]];case 183:return null;case 185:return"..";case 186:case 229:return"...";case 187:return[f[$-2],f[$-3],f[$-1]];case 188:case 418:case 420:case 421:case 435:case 437:return[f[$-1],f[$-2],f[$]];case 189:return[f[$],f[$-1],null];case 190:return[f[$-1],null,f[$]];case 191:return[f[$],null,null];case 192:return["def",f[$-4],f[$-2],f[$]];case 193:return["def",f[$-1],[],f[$]];case 194:case 196:return[f[$-1],f[$-3],f[$]];case 195:case 197:return[f[$-1],[],f[$]];case 206:case 329:return["default",f[$-2],f[$]];case 207:return["rest",f[$]];case 208:return["expansion"];case 214:return["tagged-template",f[$-1],f[$]];case 216:return["optcall",f[$-2],...f[$]];case 232:case 233:return"this";case 234:return[".","this",f[$]];case 235:return[".","super",f[$]];case 236:return["[]","super",f[$-1]];case 237:return["[]","super",f[$-2]];case 238:return[".","new",f[$]];case 239:return[".","import",f[$]];case 240:return["block"];case 241:return["block",...f[$-1]];case 242:return f[$-1].length===1?f[$-1][0]:["block",...f[$-1]];case 243:return f[$-2].length===1?f[$-2][0]:["block",...f[$-2]];case 246:return["return",f[$]];case 247:return["return",f[$-1]];case 248:return["return"];case 249:return["throw",f[$]];case 250:return["throw",f[$-1]];case 251:return["yield"];case 252:return["yield",f[$]];case 253:return["yield",f[$-1]];case 254:return["yield-from",f[$]];case 255:return["if",f[$-1],f[$]];case 256:return f[$-4].length===3?["if",f[$-4][1],f[$-4][2],["if",f[$-1],f[$]]]:[...f[$-4],["if",f[$-1],f[$]]];case 257:return["if",["!",f[$-1]],f[$]];case 258:return["if",["!",f[$-3]],f[$-2],f[$]];case 260:return f[$-2].length===3?["if",f[$-2][1],f[$-2][2],f[$]]:[...f[$-2],f[$]];case 262:case 263:return["if",f[$],[f[$-2]]];case 264:return["?:",f[$-4],f[$-6],f[$-1]];case 265:return["?:",f[$-2],f[$-4],f[$]];case 266:case 267:return["if",["!",f[$]],[f[$-2]]];case 268:return["try",f[$]];case 269:return["try",f[$-1],f[$]];case 270:return["try",f[$-2],f[$]];case 271:return["try",f[$-3],f[$-2],f[$]];case 272:case 273:case 400:case 403:case 405:return[f[$-1],f[$]];case 274:return[null,f[$]];case 275:return["switch",f[$-3],f[$-1],null];case 276:return["switch",f[$-5],f[$-3],f[$-1]];case 277:return["switch",null,f[$-1],null];case 278:return["switch",null,f[$-3],f[$-1]];case 281:return["when",f[$-1],f[$]];case 282:return["when",f[$-2],f[$-1]];case 283:return["while",f[$]];case 284:return["while",f[$-2],f[$]];case 285:return["while",["!",f[$]]];case 286:return["while",["!",f[$-2]],f[$]];case 287:return f[$-1].length===2?[f[$-1][0],f[$-1][1],f[$]]:[f[$-1][0],f[$-1][1],f[$-1][2],f[$]];case 288:case 289:return f[$].length===2?[f[$][0],f[$][1],[f[$-1]]]:[f[$][0],f[$][1],f[$][2],[f[$-1]]];case 291:return["loop",f[$]];case 292:return["loop",[f[$]]];case 293:return["loop-n",f[$-1],f[$]];case 294:return["for-in",f[$-3],f[$-1],null,null,f[$]];case 295:return["for-in",f[$-5],f[$-3],null,f[$-1],f[$]];case 296:return["for-in",f[$-5],f[$-3],f[$-1],null,f[$]];case 297:return["for-in",f[$-7],f[$-5],f[$-1],f[$-3],f[$]];case 298:return["for-in",f[$-7],f[$-5],f[$-3],f[$-1],f[$]];case 299:return["for-of",f[$-3],f[$-1],!1,null,f[$]];case 300:return["for-of",f[$-5],f[$-3],!1,f[$-1],f[$]];case 301:return["for-of",f[$-3],f[$-1],!0,null,f[$]];case 302:return["for-of",f[$-5],f[$-3],!0,f[$-1],f[$]];case 303:return["for-as",f[$-3],f[$-1],!1,null,f[$]];case 304:return["for-as",f[$-5],f[$-3],!1,f[$-1],f[$]];case 305:case 307:return["for-as",f[$-3],f[$-1],!0,null,f[$]];case 306:case 308:return["for-as",f[$-5],f[$-3],!0,f[$-1],f[$]];case 309:return["for-in",[],f[$-1],null,null,f[$]];case 310:return["for-in",[],f[$-3],f[$-1],null,f[$]];case 311:return["comprehension",f[$-4],[["for-in",f[$-2],f[$],null]],[]];case 312:return["comprehension",f[$-6],[["for-in",f[$-4],f[$-2],null]],[f[$]]];case 313:return["comprehension",f[$-6],[["for-in",f[$-4],f[$-2],f[$]]],[]];case 314:return["comprehension",f[$-8],[["for-in",f[$-6],f[$-4],f[$]]],[f[$-2]]];case 315:return["comprehension",f[$-8],[["for-in",f[$-6],f[$-4],f[$-2]]],[f[$]]];case 316:return["comprehension",f[$-4],[["for-of",f[$-2],f[$],!1]],[]];case 317:return["comprehension",f[$-6],[["for-of",f[$-4],f[$-2],!1]],[f[$]]];case 318:return["comprehension",f[$-5],[["for-of",f[$-2],f[$],!0]],[]];case 319:return["comprehension",f[$-7],[["for-of",f[$-4],f[$-2],!0]],[f[$]]];case 320:return["comprehension",f[$-4],[["for-as",f[$-2],f[$],!1,null]],[]];case 321:return["comprehension",f[$-6],[["for-as",f[$-4],f[$-2],!1,null]],[f[$]]];case 322:return["comprehension",f[$-5],[["for-as",f[$-2],f[$],!0,null]],[]];case 323:return["comprehension",f[$-7],[["for-as",f[$-4],f[$-2],!0,null]],[f[$]]];case 324:return["comprehension",f[$-4],[["for-as",f[$-2],f[$],!0,null]],[]];case 325:return["comprehension",f[$-6],[["for-as",f[$-4],f[$-2],!0,null]],[f[$]]];case 326:return["comprehension",f[$-2],[["for-in",[],f[$],null]],[]];case 327:return["comprehension",f[$-4],[["for-in",[],f[$-2],f[$]]],[]];case 331:case 367:case 369:case 396:case 397:case 399:return[f[$-2],f[$]];case 332:return["class",null,null];case 333:return["class",null,null,f[$]];case 334:return["class",null,f[$]];case 335:return["class",null,f[$-1],f[$]];case 336:return["class",f[$],null];case 337:return["class",f[$-1],null,f[$]];case 338:return["class",f[$-2],f[$]];case 339:return["class",f[$-3],f[$-1],f[$]];case 340:return["enum",f[$-1],f[$]];case 341:return["schema",f[$]];case 342:return["component",null,["block",...f[$-1]]];case 343:return["component",f[$-3],["block",...f[$-1]]];case 350:return["offer",f[$]];case 351:return["accept",f[$]];case 352:case 353:return["render",f[$]];case 354:case 357:return["import","{}",f[$]];case 355:case 356:return["import",f[$-2],f[$]];case 358:return["import",f[$-4],f[$]];case 359:return["import",f[$-4],f[$-2],f[$]];case 360:return["import",f[$-7],f[$-4],f[$]];case 371:return["*",f[$]];case 372:return["export","{}"];case 373:return["export",f[$-2]];case 374:case 375:case 376:case 377:case 381:case 382:case 383:case 384:return["export",f[$]];case 378:return["export",["=",f[$-2],f[$]]];case 379:return["export",["=",f[$-3],f[$]]];case 380:return["export",["=",f[$-4],f[$-1]]];case 385:return["export-default",f[$]];case 386:return["export-default",f[$-1]];case 387:return["export-all",f[$]];case 388:return["export-from","{}",f[$]];case 389:return["export-from",f[$-4],f[$]];case 401:case 402:case 404:case 440:return["do-iife",f[$]];case 406:return["-",f[$]];case 407:return["+",f[$]];case 408:return["?",f[$-1]];case 409:return["presence",f[$-1]];case 410:return["await",f[$]];case 411:return["await",f[$-1]];case 412:return["--",f[$],!1];case 413:return["++",f[$],!1];case 414:return["--",f[$-1],!0];case 415:return["++",f[$-1],!0];case 416:return["+",f[$-2],f[$]];case 417:return["-",f[$-2],f[$]];case 419:return["**",f[$-2],f[$]];case 422:return["&",f[$-2],f[$]];case 423:return["^",f[$-2],f[$]];case 424:return["|",f[$-2],f[$]];case 425:case 426:case 427:case 428:case 429:case 430:return["control",f[$-1],f[$-2],f[$]];case 431:return["&&",f[$-2],f[$]];case 432:return["||",f[$-2],f[$]];case 433:return["??",f[$-2],f[$]];case 434:return["|>",f[$-2],f[$]];case 436:return["?:",f[$-4],f[$-2],f[$]];case 438:return[f[$-3],f[$-4],f[$-1]];case 439:return[f[$-2],f[$-3],f[$]]}},parseError(u,U){let _,W,f,$,F,Y,Z;if(U.recoverable)return this.trace(u);else throw f=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${f}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${u}`,W=Error(F),W.hash=U,W},parse(u){let U,_,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B,D,I,M,S;[P,S,Q]=[[0],[null],[]],[w,M,D,B,A]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),R={ctx:{}};for(let N in this.ctx){if(!Object.hasOwn(this.ctx,N))continue;let V=this.ctx[N];R.ctx[N]=V}if(Z.setInput(u,R.ctx),[R.ctx.lexer,R.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};I=Z.loc,Q.push(I),this.parseError=typeof R.ctx.parseError==="function"?R.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let N;if(N=Z.lex()||U,typeof N!=="number")N=this.symbolIds[N]||N;return N},q=K=O=W=H=X=F=z=$=null,J={};while(!0){if(O=P[P.length-1],q==null)q=Y();if(W=w[O]?.[q],W==null){if(f="",!A)$=(()=>{let N=[];for(let V in w[O]){if(!Object.hasOwn(w[O],V))continue;if(this.tokenNames[V]&&V>_)N.push(`'${this.tokenNames[V]}'`)}return N})();throw f=(()=>{if(Z.showPosition)return`Parse error on line ${D+1}:
|
|
1
|
+
(()=>{var{defineProperty:Y2,getOwnPropertyNames:o3,getOwnPropertyDescriptor:r3}=Object,s3=Object.prototype.hasOwnProperty;function t3(f){return this[f]}var e3=(f)=>{var U=(j2??=new WeakMap).get(f),_;if(U)return U;if(U=Y2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var W of o3(f))if(!s3.call(U,W))Y2(U,W,{get:t3.bind(f,W),enumerable:!(_=r3(f,W))||_.enumerable})}return j2.set(f,U),U},j2;var u4=(f)=>f;function f4(f,U){this[f]=u4.bind(null,U)}var b2=(f,U)=>{for(var _ in U)Y2(f,_,{get:U[_],enumerable:!0,configurable:!0,set:f4.bind(U,_)})};var $0={};b2($0,{rip:()=>J3,processRipScripts:()=>A3,parser:()=>z1,importRip:()=>S1,getStdlibCode:()=>m1,getReactiveRuntime:()=>k1,getComponentRuntime:()=>i1,formatSExpr:()=>X1,formatErrorHTML:()=>R2,formatError:()=>I1,compileToJS:()=>D1,compile:()=>f2,VERSION:()=>Q3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>l1,CodeEmitter:()=>Y1,BUILD_DATE:()=>z3});var $4={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,Schema: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,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":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,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[112,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,147,148,149,-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,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,154,-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,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,111,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,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,166,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,165,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,168,169,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,171,172,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,173,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,179,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,180,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,181,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,48,14,1,22,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,48,14,1,22,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,192,191,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,203,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,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,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,211,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,212,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,145,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,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,214,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,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,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,222,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,63,14,1,3,1,1,1,6,1,4,1,4,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,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-54,-54,-54,111,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,244,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,245,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,118,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,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,7,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,2,5,1,8,4,1,1,1,1,1,3,1,246,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,262,263,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,86,264,1,86,265,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,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,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,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,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,285,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,286,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,287,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,288,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,290,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,48,14,1,22,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,15,11,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,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,6,57,5,1,1,2,1,307,110,111,304,305,306,114,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,1,3,1,5,2,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,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,2,5,1,8,4,1,1,1,1,1,3,1,-5,308,-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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,309,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,310,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,311,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,312,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,313,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,314,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,315,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,316,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,317,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,326,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,327,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,328,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,329,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,330,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,331,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,336,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,337,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,111,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,1,3,1,6,2,1,2,7,1,1,1,1,5,7,3,10,2,1,2,2,1,13,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,2,5,1,8,4,1,1,1,1,1,3,1,341,170,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,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,363,263,2,60,1,364,263,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,365,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,368,367,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,371,370,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,374,373,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,377,376,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,380,379,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,118,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,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,7,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,111,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,1,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,388,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,387,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,168,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,171,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,107,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,393,391,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,394,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,29,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,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,414,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,1,1,8,4,1,1,1,1,1,3,1,419,420,421,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,417,418,422,423,65,73,74,46,47,71,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,424,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,104,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,427,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,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,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,448,-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,62,1,1,5,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,449,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,151,152,153,154,-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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-89,-89,-89,2,6,146,112,452,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,453,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-186,-186,-186,-186,-186,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,1,3,1,8,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-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,-198,-198,-198,-198,-198,-198,5,6,63,1,5,36,-189,-189,-189,-189,-189,117,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,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,111,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,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,3,2,1,15,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,2,5,1,8,4,1,1,1,1,1,3,1,-246,464,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-234,-234,-234,-234,2,60,1,465,263,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,466,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-235,-235,-235,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,473,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-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,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,483,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,493,-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,57,5,1,2,1,1,307,110,111,494,495,306,4,62,1,2,2,-61,-61,-61,-61,112,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,1,3,1,5,1,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,496,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,498,497,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,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,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,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,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,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,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,5,7,3,10,2,1,2,2,1,13,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,2,5,1,8,4,1,1,1,1,1,3,1,510,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,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,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,514,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,515,-48,-48,-48,-70,-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,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,523,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-236,-236,-236,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,529,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,530,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,531,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,532,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,533,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,534,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,535,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,536,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,537,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,542,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,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,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,546,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,547,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,548,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,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,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,104,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,554,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,555,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,556,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,557,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,560,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,562,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,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,1,3,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,12,3,10,2,3,2,1,15,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,2,5,1,8,4,1,1,1,1,1,3,1,568,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,570,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,132,133,134,101,102,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,573,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-271,-271,-271,-271,-271,-271,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,107,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,599,598,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,604,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,5,6,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,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,1,3,1,6,1,1,1,3,6,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,6,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,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,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,1,3,1,8,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,612,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,63,50,614,615,613,37,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,86,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,617,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-272,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,620,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,621,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,622,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,629,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,632,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,643,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,644,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,646,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,647,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,648,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,649,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,650,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,653,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,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,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,654,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,657,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,663,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,667,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,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,1,1,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,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,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,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,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,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,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,678,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,677,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,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,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,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,-291,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,696,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,697,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,113,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,1,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-363,419,420,421,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-363,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,1,1,8,4,1,1,1,1,1,3,1,419,420,421,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,727,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,728,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,117,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,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,36,-190,-190,-190,-190,-190,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,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,3,1,8,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,86,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,738,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,741,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,745,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,749,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,756,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,762,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,763,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-237,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,771,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,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,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,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,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,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,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-273,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,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,-290,-290,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,776,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,777,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,778,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,779,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,780,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,788,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-261,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,1,3,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,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,810,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,813,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,820,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,821,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,822,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,823,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,824,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,4,6,64,5,19,-165,-165,-165,-165,1,94,827,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,828,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,840,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,841,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,860,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,861,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,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,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,863,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,864,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-293,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,870,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,875,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,876,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,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,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,883,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,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,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,887,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,882,-334,890,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,103,891,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,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,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,5,1,8,4,1,1,1,1,1,3,1,892,170,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,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],U=[],_=0,W,u,$,F;while(_<f.length){W=f[_++],u={},$=0,F=[];while(W--)$+=f[_++],F.push($);for($ of F)u[$]=f[_++];U.push(u)}return U})(),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,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,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,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,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,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,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,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,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,182,1,182,3,101,1,101,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,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,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,3,36,2,36,2,36,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,42,2],ruleActions:(f,U,_,W)=>{let u=U,$=U.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[$]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[$-2],u[$]];case 5:case 63:case 201:case 363: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 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[$];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[$]];case 60:return["str",...u[$-1]];case 62:case 195:case 199:case 297:return[...u[$-1],u[$]];case 64:case 237:case 241:case 381:case 410:return u[$-2];case 65:return"";case 68:return["regex",u[$-1]];case 69:return["regex-index",u[$-2],u[$]];case 70:return["regex-index",u[$],null];case 71:case 125:return["=",u[$-2],u[$]];case 72:return["=",u[$-3],u[$]];case 73:case 126:return["=",u[$-4],u[$-1]];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 107:case 145:return[".",u[$-2],u[$]];case 95:case 108:case 146:return["?.",u[$-2],u[$]];case 96:case 98:case 109:case 147:return["[]",u[$-3],u[$-1]];case 97:case 99:case 110:case 148:return["[]",u[$-5],u[$-2]];case 100:case 149:return[".{}",u[$-4],...u[$-2]];case 101:case 150:return["?.{}",u[$-4],...u[$-2]];case 102:case 151:return[".{}",u[$-6],...u[$-3]];case 103:case 152:return["?.{}",u[$-6],...u[$-3]];case 104:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 105:return["optindex",u[$-4],u[$-1]];case 106:return["optindex",u[$-6],u[$-2]];case 111:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 112:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 113:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 114:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 115:return["object",...u[$-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[$-3],u[$]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[$-5],...u[$-2]];case 121:return[null,u[$],u[$]];case 123:case 160:return[":",u[$-2],u[$]];case 124:case 161:return[":",u[$-4],u[$-1]];case 131:return["dynamicKey",u[$-1]];case 132:return["[]","this",u[$-1]];case 134:case 135:case 162:case 230:return["...",u[$]];case 141:case 234:return["super",...u[$]];case 142:case 143:case 144:case 232:case 235:return[u[$-1],...u[$]];case 153:return["map-literal"];case 154:return["map-literal",...u[$-2]];case 166:return[u[$],u[$],null];case 167:return[u[$-2],u[$],null];case 168:return[u[$-2],u[$-2],u[$]];case 169:return[u[$-4],u[$-2],u[$]];case 186:return["array"];case 187:return["array",...u[$-1]];case 188:return["array",...u[$-2],...u[$-1]];case 190:return[...u[$-2],...u[$]];case 191:return[...u[$-3],...u[$]];case 192:return[...u[$-2],...u[$-1]];case 193:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 197:return[...u[$]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[$-2],u[$-3],u[$-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[$-1],u[$-2],u[$]];case 206:return[u[$],u[$-1],null];case 207:return[u[$-1],null,u[$]];case 208:return[u[$],null,null];case 209:return["def",u[$-4],u[$-2],u[$]];case 210:return["def",u[$-1],[],u[$]];case 211:case 213:return[u[$-1],u[$-3],u[$]];case 212:case 214:return[u[$-1],[],u[$]];case 223:case 346:return["default",u[$-2],u[$]];case 224:return["rest",u[$]];case 225:return["expansion"];case 231:return["tagged-template",u[$-1],u[$]];case 233:return["optcall",u[$-2],...u[$]];case 249:case 250:return"this";case 251:return[".","this",u[$]];case 252:return[".","super",u[$]];case 253:return["[]","super",u[$-1]];case 254:return["[]","super",u[$-2]];case 255:return[".","new",u[$]];case 256:return[".","import",u[$]];case 257:return["block"];case 258:return["block",...u[$-1]];case 259:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 260:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 263:return["return",u[$]];case 264:return["return",u[$-1]];case 265:return["return"];case 266:return["throw",u[$]];case 267:return["throw",u[$-1]];case 268:return["yield"];case 269:return["yield",u[$]];case 270:return["yield",u[$-1]];case 271:return["yield-from",u[$]];case 272:return["if",u[$-1],u[$]];case 273:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 274:return["if",["!",u[$-1]],u[$]];case 275:return["if",["!",u[$-3]],u[$-2],u[$]];case 277:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 279:case 280:return["if",u[$],[u[$-2]]];case 281:return["?:",u[$-4],u[$-6],u[$-1]];case 282:return["?:",u[$-2],u[$-4],u[$]];case 283:case 284:return["if",["!",u[$]],[u[$-2]]];case 285:return["try",u[$]];case 286:return["try",u[$-1],u[$]];case 287:return["try",u[$-2],u[$]];case 288:return["try",u[$-3],u[$-2],u[$]];case 289:case 290:case 417:case 420:case 422:return[u[$-1],u[$]];case 291:return[null,u[$]];case 292:return["switch",u[$-3],u[$-1],null];case 293:return["switch",u[$-5],u[$-3],u[$-1]];case 294:return["switch",null,u[$-1],null];case 295:return["switch",null,u[$-3],u[$-1]];case 298:return["when",u[$-1],u[$]];case 299:return["when",u[$-2],u[$-1]];case 300:return["while",u[$]];case 301:return["while",u[$-2],u[$]];case 302:return["while",["!",u[$]]];case 303:return["while",["!",u[$-2]],u[$]];case 304:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 305:case 306:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 308:return["loop",u[$]];case 309:return["loop",[u[$]]];case 310:return["loop-n",u[$-1],u[$]];case 311:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 312:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 313:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 314:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 315:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 316:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 317:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 318:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 319:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 320:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 321:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 322:case 324:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 323:case 325:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 326:return["for-in",[],u[$-1],null,null,u[$]];case 327:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 328:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 329:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 330:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 331:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 332:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 333:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 334:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 335:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 336:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 337:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 338:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 339:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 340:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 341:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 342:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 343:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 344:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[$-2],u[$]];case 349:return["class",null,null];case 350:return["class",null,null,u[$]];case 351:return["class",null,u[$]];case 352:return["class",null,u[$-1],u[$]];case 353:return["class",u[$],null];case 354:return["class",u[$-1],null,u[$]];case 355:return["class",u[$-2],u[$]];case 356:return["class",u[$-3],u[$-1],u[$]];case 357:return["enum",u[$-1],u[$]];case 358:return["schema",u[$]];case 359:return["component",null,["block",...u[$-1]]];case 360:return["component",u[$-3],["block",...u[$-1]]];case 367:return["offer",u[$]];case 368:return["accept",u[$]];case 369:case 370:return["render",u[$]];case 371:case 374:return["import","{}",u[$]];case 372:case 373:return["import",u[$-2],u[$]];case 375:return["import",u[$-4],u[$]];case 376:return["import",u[$-4],u[$-2],u[$]];case 377:return["import",u[$-7],u[$-4],u[$]];case 388:return["*",u[$]];case 389:return["export","{}"];case 390:return["export",u[$-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[$]];case 395:return["export",["=",u[$-2],u[$]]];case 396:return["export",["=",u[$-3],u[$]]];case 397:return["export",["=",u[$-4],u[$-1]]];case 402:return["export-default",u[$]];case 403:return["export-default",u[$-1]];case 404:return["export-all",u[$]];case 405:return["export-from","{}",u[$]];case 406:return["export-from",u[$-4],u[$]];case 418:case 419:case 421:case 457:return["do-iife",u[$]];case 423:return["-",u[$]];case 424:return["+",u[$]];case 425:return["?",u[$-1]];case 426:return["presence",u[$-1]];case 427:return["await",u[$]];case 428:return["await",u[$-1]];case 429:return["--",u[$],!1];case 430:return["++",u[$],!1];case 431:return["--",u[$-1],!0];case 432:return["++",u[$-1],!0];case 433:return["+",u[$-2],u[$]];case 434:return["-",u[$-2],u[$]];case 436:return["**",u[$-2],u[$]];case 439:return["&",u[$-2],u[$]];case 440:return["^",u[$-2],u[$]];case 441:return["|",u[$-2],u[$]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[$-1],u[$-2],u[$]];case 448:return["&&",u[$-2],u[$]];case 449:return["||",u[$-2],u[$]];case 450:return["??",u[$-2],u[$]];case 451:return["|>",u[$-2],u[$]];case 453:return["?:",u[$-4],u[$-2],u[$]];case 455:return[u[$-3],u[$-4],u[$-1]];case 456:return[u[$-2],u[$-3],u[$]]}},parseError(f,U){let _,W,u,$,F,Y,Z;if(U.recoverable)return this.trace(f);else throw u=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${u}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${f}`,W=Error(F),W.hash=U,W},parse(f){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,I,R,S,O,P,M,B;[I,B,Q]=[[0],[null],[]],[J,M,O,S,w]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),H={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let V=this.ctx[L];H.ctx[L]=V}if(Z.setInput(f,H.ctx),[H.ctx.lexer,H.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};P=Z.loc,Q.push(P),this.parseError=typeof H.ctx.parseError==="function"?H.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let L;if(L=Z.lex()||U,typeof L!=="number")L=this.symbolIds[L]||L;return L},R=K=q=W=D=A=F=z=$=null,X={};while(!0){if(q=I[I.length-1],R==null)R=Y();if(W=J[q]?.[R],W==null){if(u="",!w)$=(()=>{let L=[];for(let V in J[q]){if(!Object.hasOwn(J[q],V))continue;if(this.tokenNames[V]&&V>_)L.push(`'${this.tokenNames[V]}'`)}return L})();throw u=(()=>{if(Z.showPosition)return`Parse error on line ${O+1}:
|
|
2
2
|
${Z.showPosition()}
|
|
3
|
-
Expecting ${$.join(", ")}, got '${this.tokenNames[q]||q}'`;else return`Parse error on line ${D+1}: Unexpected ${q===U?"end of input":`'${this.tokenNames[q]||q}'`}`,this.parseError(f,{text:Z.match,token:this.tokenNames[q]||q,line:Z.line,loc:I,expected:$})})(),Error(f)}if(W>0)if(P.push(q,W),S.push(Z.text),Q.push(Z.loc),q=null,!K){if([B,M,D,I]=[Z.len,Z.text,Z.line,Z.loc],A>0)A--}else[q,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],J.$=S[S.length-F],G=Q[Q.length-(F||1)],J._$={r:G.r,c:G.c},H=this.ruleActions.call(J,-W,S,Q,R.ctx),H!=null)J.$=H;if(Array.isArray(J.$))J.$.loc=J._$;if(F)P.length-=F*2,S.length-=F,Q.length-=F;P.push(this.ruleTable[-W*2]),S.push(J.$),Q.push(J._$),z=w[P[P.length-2]][P[P.length-1]],P.push(z)}else if(W===0)return S[S.length-1]}},trace(){},ctx:{}},f4=(u={})=>{let U=Object.create(u4);return Object.defineProperty(U,"ctx",{value:{...u},enumerable:!1,writable:!0,configurable:!0}),U},z1=f4();var $0=z1.parse.bind(z1);var $4=new Set(["input","shape","model","mixin","enum"]),v2="input",U4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),W4=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function n1(u,U){if(u)u.prototype.rewriteSchema=function(){_4(this)},v1._LexerCtor=u;if(U)U.prototype.emitSchema=function(_,W,f){return q4(this,_,W,f)},U.prototype.getSchemaRuntime=function(){return v4()}}var j2=new Set(["defaultMaxString"]);function _4(u){let U=u.tokens,_={defaultMaxString:null},W=0,f=0;while(f<U.length){let $=U[f];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=Y4(U,f,_,W);if(F>0){U.splice(f,F);continue}if(F4(U,f))Z4(u,U,f,_);f++}}function Y4(u,U,_,W){let f=u[U];if(!f||f[0]!=="IDENTIFIER"||f[1]!=="schema")return 0;if(u[U+1]?.[0]!==".")return 0;let $=u[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(u[U+3]?.[0]!=="=")return 0;let F=u[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!j2.has(Y))throw v($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...j2].join(", ")}.`);if(W>0)throw v($,`Schema pragma 'schema.${Y}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let Z=u[U+4];if(!Z||Z[0]!=="NUMBER")throw v(Z||$,`Pragma 'schema.${Y}' requires a number literal. Example: schema.${Y} = 100.`);let G=Number(Z[1]);if(!Number.isFinite(G)||G<0||!Number.isInteger(G))throw v(Z,`Pragma 'schema.${Y}' expects a non-negative integer (got ${Z[1]}). Use 0 to disable.`);_[Y]=G===0?null:G;let Q=U+5;if(u[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function F4(u,U){let _=u[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=u[U-1];if(W){let $=W[0];if($==="."||$==="?.")return!1;if(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"||W[0]===")"||W[0]==="]"||W[0]==="}"||W[0]==="STRING"||W[0]==="NUMBER"){if(!W4.has($))return!1}}let f=U+1;if(u[f]?.[0]==="SYMBOL")f++;if(u[f]?.[0]==="TERMINATOR"){if(u[f][1]===";")return!0;f++}return u[f]?.[0]==="INDENT"}function Z4(u,U,_,W){let f=U[_],$=null,F=v2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let w=$[1];if(!$4.has(w))throw v($,`Unknown schema kind :${w}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=w,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let w=Y+1,K=w,H=0,A=U[w]?.loc?.r??null;while(K<U.length){let J=U[K],R=J[0];if(H===0&&A!=null&&J.loc&&J.loc.r>A)break;if(R==="("||R==="["||R==="{"||R==="CALL_START"||R==="INDEX_START"||R==="PARAM_START")H++;else if(R===")"||R==="]"||R==="}"||R==="CALL_END"||R==="INDEX_END"||R==="PARAM_END")H--;else if(H===0&&R==="TERMINATOR"&&J[1]!==";")break;else if(H===0&&(R==="INDENT"||R==="OUTDENT"))break;else if(H===0&&R==="->")throw v(J,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(H===0&&R==="EFFECT")throw v(J,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(H===0&&R==="UNARY_MATH"&&J[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw v(J,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>w&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(w,K),G=K,!Z.length)throw v(f,`Inline schema body is empty. Either add '; field; …' entries after 'schema${$?" :"+F:""};' or switch to the indented form.`)}else{if(U[Y]?.[0]==="TERMINATOR")Y++;if(U[Y]?.[0]!=="INDENT")throw v(f,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let w=Y,K=h4(U,w);if(K<0)throw v(U[w],"Unterminated schema body.");Z=U.slice(w+1,K),G=K+1}let Q=G4(F,Z,{schemaLoc:f.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=Y2("SCHEMA","schema",f),X=Y2("SCHEMA_BODY",F,f);X.data={descriptor:Q},U.splice(_,G-_,z,X)}function G4(u,U,_){let W=[],f=Q4(U);if(u===v2&&!_.kindLoc&&f.length>0&&f[0][0]?.[0]==="SYMBOL")u="enum",_.kind="enum";if(u==="enum")for(let $ of f)O4($,W);else{for(let $ of f)J4(u,$,W,_);if(u==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw v({loc:$.headerLoc||$.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(u==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:input schemas are fields-only. '${$.name}' is a ${$.tag}; use :shape or :model if you need behavior.`);if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(u==="shape")for(let $ of W){if($.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:shape schemas don't have lifecycle hooks. '${$.name}' runs only on :model; move it or remove it.`);if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:u,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function Q4(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(f)}if(_.length)U.push(_);return U}var z4=new Set(["string","email","url","phone","zip"]);function J4(u,U,_,W){let f=U[0];if(!f)return;if(f[0]==="@"){let B=U[1];if(!B||B[0]!=="IDENTIFIER"&&B[0]!=="PROPERTY")throw v(f,"Expected directive name after '@'.");let D=U.slice(2),I=B[1];if(I==="ensure"){let S=K4(D,f);for(let N of S)_.push({tag:"ensure",name:"ensure",message:N.message,paramTokens:N.paramTokens,bodyTokens:N.bodyTokens,loc:N.loc,headerLoc:f.loc});return}let M=null;if(I==="belongs_to"||I==="has_many"||I==="has_one"||I==="one"||I==="many"||I==="mixin"){let S=D[0];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")){let N=S.data?.predicate===!0;if(!N&&D[1]?.[0]==="?")N=!0;M=[{target:S[1],optional:N}]}}_.push({tag:"directive",name:I,args:M,argTokens:D,loc:f.loc});return}if(f[0]==="PROPERTY"){A4(u,f,U,_);return}if(f[0]!=="IDENTIFIER")throw v(f,`Unexpected ${f[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=f[1];if(U[1]?.[0]===":")throw v(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=b4(f),Y=1;while(Y<U.length){let B=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(B[0]==="#"||B[0]==="?"||B[0]==="!"){F.push(B[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw v(Z,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let G="string",Q=null;if(Z?.[0]==="IDENTIFIER")G=Z[1],Y++;else if(Z?.[0]==="STRING"){Q=[JSON.parse(Z[1])],Y++;while(U[Y]?.[0]==="|"&&U[Y+1]?.[0]==="STRING")Y++,Q.push(JSON.parse(U[Y][1])),Y++;if(U[Y]?.[0]==="|"){let B=U[Y+1],D=B?.[0]??"<end>";throw v(B||U[Y],`Literal unions contain string literals only. '${D}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw v(Z,`Literal union needs at least two string literals. Use '${JSON.stringify(Q[0])}' as a default with '[${JSON.stringify(Q[0])}]' instead.`);G="literal-union"}let z=!1,X=U[Y]?.[0],w=U[Y+1]?.[0];if((X==="["||X==="INDEX_START")&&(w==="]"||w==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw v(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let A=null,J=null,R=null,O=null,P=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let B=g1(K);for(let D=0;D<B.length;D++){let I=B[D];while(I.length&&(I[0][0]==="INDENT"||I[0][0]==="TERMINATOR"))I=I.slice(1);if(!I.length)continue;if(I[0][0]!=="->"){let S=X4(I);if(S>0)throw v(I[S],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let M=I[0];if(M[0]!=="->"){while(I.length&&(I[I.length-1][0]==="OUTDENT"||I[I.length-1][0]==="TERMINATOR"))I=I.slice(0,-1);if(!I.length)continue;M=I[0]}if(M[0]==="["||M[0]==="INDEX_START"){if(A)throw v(M,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);A=I}else if(M[0]==="{"){if(J)throw v(M,`Field '${$}' has more than one '{…}' attrs bracket.`);J=I}else if(w4(I)){if(R)throw v(M,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);R=I}else if(M[0]==="REGEX"&&I.length===1){if(O)throw v(M,`Field '${$}' has more than one regex constraint.`);O=M}else if(M[0]==="->"){if(D!==B.length-1)throw v(M,`Transform '-> …' must be the last element on the field line for '${$}'.`);P=I.slice(1)}else throw v(M,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw v(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let q=null;if(W?.defaultMaxString!=null&&!O&&!Q&&z4.has(G))q=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:A,attrsTokens:J,rangeTokens:R,regexToken:O,transformTokens:P,defaultMax:q,loc:f.loc})}function X4(u){let U=0;for(let _=0;_<u.length;_++){let W=u[_][0];if(W==="("||W==="["||W==="{"||W==="CALL_START"||W==="INDEX_START"||W==="PARAM_START")U++;else if(W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="INDEX_END"||W==="PARAM_END")U--;else if(U===0&&W==="->")return _}return-1}function w4(u){let U=0,_=!1;if(u[U]?.[0]==="-"&&u[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(u[U]?.[0]==="NUMBER")U++,_=!0;if(u[U]?.[0]!=="..")return!1;U++;let W=!1;if(u[U]?.[0]==="-"&&u[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(u[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===u.length}function A4(u,U,_,W){let f=U[1],$=_[1];if(!$||$[0]!==":")throw v(U,`Expected ':' after '${f}' before arrow.`);let F=_[2],Y=_[3],Z,G,Q;if(F&&F[0]==="->")Z="->",G=F.loc,Q=3;else if(F&&F[0]==="EFFECT")Z="~>",G=F.loc,Q=3;else if(F&&F[0]==="UNARY_MATH"&&F[1]==="!"&&Y&&Y[0]==="COMPARE"&&Y[1]===">"&&!F.spaced)Z="!>",G=F.loc,Q=4;else throw v($,`Schema top-level '${f}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),X=U4.has(f),w;if(Z==="~>")w="computed";else if(Z==="!>")w="derived";else if(u==="model"&&X)w="hook";else w="method";W.push({tag:w,name:f,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function K4(u,U){let _=u;if(!_.length)throw v(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(_[0]?.[0]==="CALL_START"&&_[_.length-1]?.[0]==="CALL_END")_=_.slice(1,-1);if(!_.length)throw v(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=D4(_,W),F=M4($);if(F.length===0)throw v(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw v(W,`@ensure [...] must have pairs of 'message, fn' (got ${F.length} elements; odd count).`);let Y=[];for(let Z=0;Z<F.length;Z+=2)Y.push(b2(F[Z],F[Z+1],W));return Y}let f=g1(_);if(f.length<2)throw v(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(f.length>2)throw v(W,`@ensure inline form takes exactly 'message, fn' (got ${f.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[b2(f[0],f[1],W)]}function D4(u,U){let _=0,W=[];for(let f=0;f<u.length;f++){let $=u[f],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(f<u.length-1)throw v(u[f+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(W.length>=2&&W[0][0]==="INDENT"&&W[W.length-1][0]==="OUTDENT"){let Y=0,Z=!1;for(let G=0;G<W.length;G++)if(W[G][0]==="INDENT")Y++;else if(W[G][0]==="OUTDENT"){if(Y--,Y===0&&G===W.length-1){Z=!0;break}if(Y===0)break}if(Z)W=W.slice(1,-1)}return W}}if(_>=1)W.push($)}throw v(U,"@ensure: unclosed '['.")}function M4(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if(W===0&&($===","||$==="TERMINATOR")){if(_.length)U.push(_),_=[];continue}_.push(f)}if(_.length)U.push(_);return U}function b2(u,U,_){if(!u||!u.length)throw v(_,"@ensure: missing message (expected a string literal).");if(u.length!==1||u[0][0]!=="STRING")throw v(u[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=u[0],f=JSON.parse(W[1]);if(!U||!U.length)throw v(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw v($,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let F=1,Y=1,Z=[];while(Y<U.length&&F>0){let z=U[Y],X=z[0];if(X==="("||X==="PARAM_START")F++;if(X===")"||X==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw v($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw v(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw v(G,"@ensure: predicate function body is empty.");return{message:f,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function H4(u,U){if(!u.length)return[];return g1(u).map((W)=>{let f=W.filter(($)=>$[0]!=="TERMINATOR");if(f.length!==1||f[0][0]!=="IDENTIFIER")throw v(f[0]||U,"@ensure: predicate parameters must be plain identifiers.");return f[0][1]})}function O4(u,U){let _=u[0];if(!_)return;if(_[0]==="@"){let $=u[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw v(_,`:enum schemas don't accept '@${F}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(_[0]!=="SYMBOL")throw v(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],f=u[1];if(!f){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(f[0]===":")throw v(f,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(u.length>2)throw v(u[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:y4(f),loc:_.loc})}function q4(u,U,_,W){let f=_[0],$=R4(f);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");u.usesSchemas=!0;let F=u._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>P4(u,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function R4(u){if(u&&typeof u==="object"){if(u.descriptor)return u.descriptor;if(u.data?.descriptor)return u.data.descriptor}return null}function P4(u,U){switch(U.tag){case"field":{let _=['tag: "field"',`name: ${JSON.stringify(U.name)}`,`modifiers: ${JSON.stringify(U.modifiers)}`,`typeName: ${JSON.stringify(U.typeName)}`,`array: ${U.array?"true":"false"}`];if(U.literals)_.push(`literals: ${JSON.stringify(U.literals)}`);let W=U.rangeTokens?L4(U.rangeTokens,U):null,f=U.constraintTokens?N4(U.constraintTokens,U):null,$=U.regexToken?E4(U.regexToken):null,F=V4(W,f,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${I4(u,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=T4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=S4(u,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=B4(u,U);return`{${[`tag: ${JSON.stringify(U.tag)}`,`name: ${JSON.stringify(U.name)}`,`fn: ${_}`].join(", ")}}`}case"enum-member":{let _=['tag: "enum-member"',`name: ${JSON.stringify(U.name)}`];if(U.value!==void 0)_.push(`value: ${JSON.stringify(U.value)}`);return`{${_.join(", ")}}`}default:return'{tag: "unknown"}'}}function B4(u,U){let _=v1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return u.emit(W,"value")}function I4(u,U){let _=v1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return u.emit(W,"value")}function S4(u,U){let _=v1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let f=["->",H4(U.paramTokens,U),_];return u.emit(f,"value")}function N4(u,U){let _=u.slice(1,-1),W=g1(_);if(!W.length)return{c:null};let f=W.map(($)=>g2($,U));if(f.length===1){let $=f[0];if($ instanceof RegExp)throw v(u[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(f.length===2&&typeof f[0]==="number"&&typeof f[1]==="number")throw v(u[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${f[0]}, ${f[1]}]' with '${f[0]}..${f[1]}'.`);if(f.length===3&&f.every(($)=>typeof $==="number"))throw v(u[0],`Range + default is two separate constraints in v2. Replace '[${f[0]}, ${f[1]}, ${f[2]}]' with '${f[0]}..${f[1]}, [${f[2]}]'.`);throw v(u[0],`Constraint bracket takes a single default value in v2. Got ${f.length} elements.`)}function E4(u){let U=u[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw v(u,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw v(u,`Invalid regex '${U}': ${W.message}`)}}function L4(u,U){let _=0,W=()=>{let Y=1;if(u[_]?.[0]==="-")Y=-1,_++;let Z=u[_++],G=g2([Z],U);if(typeof G!=="number")throw v(Z,"Range endpoints must be numeric literals.");return Y*G},f;if(u[_]?.[0]!=="..")f=W();_++;let $;if(_<u.length)$=W();if(f!==void 0&&$!==void 0&&f>$)throw v(u[0],`Range '${f}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(f!==void 0)F.min=f;if($!==void 0)F.max=$;return F}function V4(u,U,_,W){let f=U&&U.c||{},$=u&&u.min===void 0;if(u){if(u.min!==void 0)f.min=u.min;if(u.max!==void 0)f.max=u.max;if($&&f.min===void 0&&W?.modifiers?.includes("!"))f.min=1}if(_)f.regex=_;if(W?.defaultMax!=null&&f.max===void 0)f.max=W.defaultMax;if(f.min!==void 0&&f.max!==void 0&&f.min>f.max){let F=u&&u.min!==void 0?`range min ${u.min}`:"implicit min=1 from `!`",Y=u&&u.max!==void 0?`range max ${u.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw v({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${f.min} > max=${f.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(f.min===void 0&&f.max===void 0&&f.default===void 0&&f.regex===void 0)return null;return C4(f)}function C4(u){let U=[];if(u.min!==void 0)U.push(`min: ${W2(u.min)}`);if(u.max!==void 0)U.push(`max: ${W2(u.max)}`);if(u.default!==void 0)U.push(`default: ${W2(u.default)}`);if(u.regex!==void 0)U.push(`regex: ${u.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function W2(u){if(u===null)return"null";if(u===void 0)return"undefined";if(typeof u==="string")return JSON.stringify(u);if(typeof u==="number"||typeof u==="boolean")return String(u);if(u instanceof RegExp)return u.toString();return JSON.stringify(u)}function T4(u,U){if(!U.length)return null;if(u==="belongs_to"||u==="has_many"||u==="has_one"||u==="one"||u==="many"||u==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw v(_||U[U.length-1],`@${u} requires a target name.`);let W=_[1],f=_.data?.predicate===!0,$=1;if(!f&&U[$]?.[0]==="?")f=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(f)F.push("optional: true");return`[{${F.join(", ")}}]`}if(u==="index"){let _=[],W=!1,f=0;if(U[f]?.[0]==="IDENTIFIER"||U[f]?.[0]==="PROPERTY")_.push(U[f][1]),f++;else if(U[f]?.[0]==="["||U[f]?.[0]==="INDEX_START"){let F=[],Y=1;f++;while(f<U.length&&Y>0){let Z=U[f];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){f++;break}}F.push(Z),f++}for(let Z of g1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[f]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}return null}function g2(u,U){if(!u.length)throw v(null,"Empty constraint value.");let _=u[0],W=_[0];if(u.length===1){if(W==="NUMBER")return Number(_[1]);if(W==="STRING")return JSON.parse(_[1]);if(W==="BOOL")return _[1]==="true";if(W==="NULL")return null;if(W==="UNDEFINED")return;if(W==="REGEX")return j4(_[1]);if(W==="SYMBOL")return _[1]}if(u.length===2&&W==="-"&&u[1][0]==="NUMBER")return-Number(u[1][1]);throw v(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function j4(u){let U=typeof u==="string"?u:String(u),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function v1(u){if(!u||!u.length)return null;let U=v1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=u.slice();if(W.length>=2&&W[0]?.[0]==="INDENT"){let G=0,Q=-1;for(let z=0;z<W.length;z++)if(W[z][0]==="INDENT")G++;else if(W[z][0]==="OUTDENT"){if(G--,G===0){Q=z;break}}if(Q===W.length-1)W=W.slice(1,-1)}if(_.tokens=W,_.seenFor=_.seenImport=_.seenExport=!1,_.ends=[],_.indent=0,_.outdebt=0,_.indents=[],_.tokens[_.tokens.length-1]?.[0]!=="TERMINATOR")_.tokens.push(Y2("TERMINATOR",`
|
|
4
|
-
`,
|
|
3
|
+
Expecting ${$.join(", ")}, got '${this.tokenNames[R]||R}'`;else return`Parse error on line ${O+1}: Unexpected ${R===U?"end of input":`'${this.tokenNames[R]||R}'`}`,this.parseError(u,{text:Z.match,token:this.tokenNames[R]||R,line:Z.line,loc:P,expected:$})})(),Error(u)}if(W>0)if(I.push(R,W),B.push(Z.text),Q.push(Z.loc),R=null,!K){if([S,M,O,P]=[Z.len,Z.text,Z.line,Z.loc],w>0)w--}else[R,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],X.$=B[B.length-F],G=Q[Q.length-(F||1)],X._$={r:G.r,c:G.c},D=this.ruleActions.call(X,-W,B,Q,H.ctx),D!=null)X.$=D;if(Array.isArray(X.$))X.$.loc=X._$;if(F)I.length-=F*2,B.length-=F,Q.length-=F;I.push(this.ruleTable[-W*2]),B.push(X.$),Q.push(X._$),z=J[I[I.length-2]][I[I.length-1]],I.push(z)}else if(W===0)return B[B.length-1]}},trace(){},ctx:{}},U4=(f={})=>{let U=Object.create($4);return Object.defineProperty(U,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),U},z1=U4();var W0=z1.parse.bind(z1);var W4=new Set(["input","shape","model","mixin","enum"]),c2="input",_4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),Y4=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function a1(f,U){if(f)f.prototype.rewriteSchema=function(){F4(this)},g1._LexerCtor=f;if(U)U.prototype.emitSchema=function(_,W,u){return P4(this,_,W,u)},U.prototype.getSchemaRuntime=function(){return c4()}}var h2=new Set(["defaultMaxString"]);function F4(f){let U=f.tokens,_={defaultMaxString:null},W=0,u=0;while(u<U.length){let $=U[u];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=Z4(U,u,_,W);if(F>0){U.splice(u,F);continue}if(G4(U,u))Q4(f,U,u,_);u++}}function Z4(f,U,_,W){let u=f[U];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[U+1]?.[0]!==".")return 0;let $=f[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(f[U+3]?.[0]!=="=")return 0;let F=f[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!h2.has(Y))throw g($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...h2].join(", ")}.`);if(W>0)throw g($,`Schema pragma 'schema.${Y}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let Z=f[U+4];if(!Z||Z[0]!=="NUMBER")throw g(Z||$,`Pragma 'schema.${Y}' requires a number literal. Example: schema.${Y} = 100.`);let G=Number(Z[1]);if(!Number.isFinite(G)||G<0||!Number.isInteger(G))throw g(Z,`Pragma 'schema.${Y}' expects a non-negative integer (got ${Z[1]}). Use 0 to disable.`);_[Y]=G===0?null:G;let Q=U+5;if(f[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function G4(f,U){let _=f[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=f[U-1];if(W){let $=W[0];if($==="."||$==="?.")return!1;if(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"||W[0]===")"||W[0]==="]"||W[0]==="}"||W[0]==="STRING"||W[0]==="NUMBER"){if(!Y4.has($))return!1}}let u=U+1;if(f[u]?.[0]==="SYMBOL")u++;if(f[u]?.[0]==="TERMINATOR"){if(f[u][1]===";")return!0;u++}return f[u]?.[0]==="INDENT"}function Q4(f,U,_,W){let u=U[_],$=null,F=c2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let J=$[1];if(!W4.has(J))throw g($,`Unknown schema kind :${J}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=J,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let J=Y+1,K=J,D=0,w=U[J]?.loc?.r??null;while(K<U.length){let X=U[K],H=X[0];if(D===0&&w!=null&&X.loc&&X.loc.r>w)break;if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="PARAM_START")D++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="PARAM_END")D--;else if(D===0&&H==="TERMINATOR"&&X[1]!==";")break;else if(D===0&&(H==="INDENT"||H==="OUTDENT"))break;else if(D===0&&H==="->")throw g(X,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(D===0&&H==="EFFECT")throw g(X,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(D===0&&H==="UNARY_MATH"&&X[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw g(X,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>J&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(J,K),G=K,!Z.length)throw g(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${$?" :"+F:""};' or switch to the indented form.`)}else{if(U[Y]?.[0]==="TERMINATOR")Y++;if(U[Y]?.[0]!=="INDENT")throw g(u,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let J=Y,K=v4(U,J);if(K<0)throw g(U[J],"Unterminated schema body.");Z=U.slice(J+1,K),G=K+1}let Q=z4(F,Z,{schemaLoc:u.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=G2("SCHEMA","schema",u),A=G2("SCHEMA_BODY",F,u);A.data={descriptor:Q},U.splice(_,G-_,z,A)}function z4(f,U,_){let W=[],u=A4(U);if(f===c2&&!_.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",_.kind="enum";if(f==="enum")for(let $ of u)R4($,W);else{for(let $ of u)X4(f,$,W,_);if(f==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw g({loc:$.headerLoc||$.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(f==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:input schemas are fields-only. '${$.name}' is a ${$.tag}; use :shape or :model if you need behavior.`);if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(f==="shape")for(let $ of W){if($.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:shape schemas don't have lifecycle hooks. '${$.name}' runs only on :model; move it or remove it.`);if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:f,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function A4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}var J4=new Set(["string","email","url","phone","zip"]);function X4(f,U,_,W){let u=U[0];if(!u)return;if(u[0]==="@"){let S=U[1];if(!S||S[0]!=="IDENTIFIER"&&S[0]!=="PROPERTY")throw g(u,"Expected directive name after '@'.");let O=U.slice(2),P=S[1];if(P==="ensure"){let B=M4(O,u);for(let L of B)_.push({tag:"ensure",name:"ensure",message:L.message,paramTokens:L.paramTokens,bodyTokens:L.bodyTokens,loc:L.loc,headerLoc:u.loc});return}let M=null;if(P==="belongs_to"||P==="has_many"||P==="has_one"||P==="one"||P==="many"||P==="mixin"){let B=O[0];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")){let L=B.data?.predicate===!0;if(!L&&O[1]?.[0]==="?")L=!0;M=[{target:B[1],optional:L}]}}_.push({tag:"directive",name:P,args:M,argTokens:O,loc:u.loc});return}if(u[0]==="PROPERTY"){D4(f,u,U,_);return}if(u[0]!=="IDENTIFIER")throw g(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=u[1];if(U[1]?.[0]===":")throw g(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=y4(u),Y=1;while(Y<U.length){let S=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(S[0]==="#"||S[0]==="?"||S[0]==="!"){F.push(S[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw g(Z,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let G="string",Q=null;if(Z?.[0]==="IDENTIFIER")G=Z[1],Y++;else if(Z?.[0]==="STRING"){Q=[JSON.parse(Z[1])],Y++;while(U[Y]?.[0]==="|"&&U[Y+1]?.[0]==="STRING")Y++,Q.push(JSON.parse(U[Y][1])),Y++;if(U[Y]?.[0]==="|"){let S=U[Y+1],O=S?.[0]??"<end>";throw g(S||U[Y],`Literal unions contain string literals only. '${O}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw g(Z,`Literal union needs at least two string literals. Use '${JSON.stringify(Q[0])}' as a default with '[${JSON.stringify(Q[0])}]' instead.`);G="literal-union"}let z=!1,A=U[Y]?.[0],J=U[Y+1]?.[0];if((A==="["||A==="INDEX_START")&&(J==="]"||J==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw g(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let w=null,X=null,H=null,q=null,I=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let S=c1(K);for(let O=0;O<S.length;O++){let P=S[O];while(P.length&&(P[0][0]==="INDENT"||P[0][0]==="TERMINATOR"))P=P.slice(1);if(!P.length)continue;if(P[0][0]!=="->"){let B=w4(P);if(B>0)throw g(P[B],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let M=P[0];if(M[0]!=="->"){while(P.length&&(P[P.length-1][0]==="OUTDENT"||P[P.length-1][0]==="TERMINATOR"))P=P.slice(0,-1);if(!P.length)continue;M=P[0]}if(M[0]==="["||M[0]==="INDEX_START"){if(w)throw g(M,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);w=P}else if(M[0]==="{"){if(X)throw g(M,`Field '${$}' has more than one '{…}' attrs bracket.`);X=P}else if(K4(P)){if(H)throw g(M,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);H=P}else if(M[0]==="REGEX"&&P.length===1){if(q)throw g(M,`Field '${$}' has more than one regex constraint.`);q=M}else if(M[0]==="->"){if(O!==S.length-1)throw g(M,`Transform '-> …' must be the last element on the field line for '${$}'.`);I=P.slice(1)}else throw g(M,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw g(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let R=null;if(W?.defaultMaxString!=null&&!q&&!Q&&J4.has(G))R=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:w,attrsTokens:X,rangeTokens:H,regexToken:q,transformTokens:I,defaultMax:R,loc:u.loc})}function w4(f){let U=0;for(let _=0;_<f.length;_++){let W=f[_][0];if(W==="("||W==="["||W==="{"||W==="CALL_START"||W==="INDEX_START"||W==="PARAM_START")U++;else if(W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="INDEX_END"||W==="PARAM_END")U--;else if(U===0&&W==="->")return _}return-1}function K4(f){let U=0,_=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(f[U]?.[0]==="NUMBER")U++,_=!0;if(f[U]?.[0]!=="..")return!1;U++;let W=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(f[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===f.length}function D4(f,U,_,W){let u=U[1],$=_[1];if(!$||$[0]!==":")throw g(U,`Expected ':' after '${u}' before arrow.`);let F=_[2],Y=_[3],Z,G,Q;if(F&&F[0]==="->")Z="->",G=F.loc,Q=3;else if(F&&F[0]==="EFFECT")Z="~>",G=F.loc,Q=3;else if(F&&F[0]==="UNARY_MATH"&&F[1]==="!"&&Y&&Y[0]==="COMPARE"&&Y[1]===">"&&!F.spaced)Z="!>",G=F.loc,Q=4;else throw g($,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),A=_4.has(u),J;if(Z==="~>")J="computed";else if(Z==="!>")J="derived";else if(f==="model"&&A)J="hook";else J="method";W.push({tag:J,name:u,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function M4(f,U){let _=f;if(!_.length)throw g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(_[0]?.[0]==="CALL_START"&&_[_.length-1]?.[0]==="CALL_END")_=_.slice(1,-1);if(!_.length)throw g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=H4(_,W),F=q4($);if(F.length===0)throw g(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw g(W,`@ensure [...] must have pairs of 'message, fn' (got ${F.length} elements; odd count).`);let Y=[];for(let Z=0;Z<F.length;Z+=2)Y.push(y2(F[Z],F[Z+1],W));return Y}let u=c1(_);if(u.length<2)throw g(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw g(W,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[y2(u[0],u[1],W)]}function H4(f,U){let _=0,W=[];for(let u=0;u<f.length;u++){let $=f[u],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(u<f.length-1)throw g(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(W.length>=2&&W[0][0]==="INDENT"&&W[W.length-1][0]==="OUTDENT"){let Y=0,Z=!1;for(let G=0;G<W.length;G++)if(W[G][0]==="INDENT")Y++;else if(W[G][0]==="OUTDENT"){if(Y--,Y===0&&G===W.length-1){Z=!0;break}if(Y===0)break}if(Z)W=W.slice(1,-1)}return W}}if(_>=1)W.push($)}throw g(U,"@ensure: unclosed '['.")}function q4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if(W===0&&($===","||$==="TERMINATOR")){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}function y2(f,U,_){if(!f||!f.length)throw g(_,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw g(f[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=f[0],u=JSON.parse(W[1]);if(!U||!U.length)throw g(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw g($,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let F=1,Y=1,Z=[];while(Y<U.length&&F>0){let z=U[Y],A=z[0];if(A==="("||A==="PARAM_START")F++;if(A===")"||A==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw g($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw g(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw g(G,"@ensure: predicate function body is empty.");return{message:u,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function O4(f,U){if(!f.length)return[];return c1(f).map((W)=>{let u=W.filter(($)=>$[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw g(u[0]||U,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function R4(f,U){let _=f[0];if(!_)return;if(_[0]==="@"){let $=f[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw g(_,`:enum schemas don't accept '@${F}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(_[0]!=="SYMBOL")throw g(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],u=f[1];if(!u){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(u[0]===":")throw g(u,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(f.length>2)throw g(f[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:g4(u),loc:_.loc})}function P4(f,U,_,W){let u=_[0],$=B4(u);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let F=f._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>I4(f,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function B4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function I4(f,U){switch(U.tag){case"field":{let _=['tag: "field"',`name: ${JSON.stringify(U.name)}`,`modifiers: ${JSON.stringify(U.modifiers)}`,`typeName: ${JSON.stringify(U.typeName)}`,`array: ${U.array?"true":"false"}`];if(U.literals)_.push(`literals: ${JSON.stringify(U.literals)}`);let W=U.rangeTokens?C4(U.rangeTokens,U):null,u=U.constraintTokens?L4(U.constraintTokens,U):null,$=U.regexToken?V4(U.regexToken):null,F=T4(W,u,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${N4(f,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=b4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=E4(f,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=S4(f,U);return`{${[`tag: ${JSON.stringify(U.tag)}`,`name: ${JSON.stringify(U.name)}`,`fn: ${_}`].join(", ")}}`}case"enum-member":{let _=['tag: "enum-member"',`name: ${JSON.stringify(U.name)}`];if(U.value!==void 0)_.push(`value: ${JSON.stringify(U.value)}`);return`{${_.join(", ")}}`}default:return'{tag: "unknown"}'}}function S4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return f.emit(W,"value")}function N4(f,U){let _=g1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return f.emit(W,"value")}function E4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let u=["->",O4(U.paramTokens,U),_];return f.emit(u,"value")}function L4(f,U){let _=f.slice(1,-1),W=c1(_);if(!W.length)return{c:null};let u=W.map(($)=>x2($,U));if(u.length===1){let $=u[0];if($ instanceof RegExp)throw g(f[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw g(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every(($)=>typeof $==="number"))throw g(f[0],`Range + default is two separate constraints in v2. Replace '[${u[0]}, ${u[1]}, ${u[2]}]' with '${u[0]}..${u[1]}, [${u[2]}]'.`);throw g(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function V4(f){let U=f[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw g(f,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw g(f,`Invalid regex '${U}': ${W.message}`)}}function C4(f,U){let _=0,W=()=>{let Y=1;if(f[_]?.[0]==="-")Y=-1,_++;let Z=f[_++],G=x2([Z],U);if(typeof G!=="number")throw g(Z,"Range endpoints must be numeric literals.");return Y*G},u;if(f[_]?.[0]!=="..")u=W();_++;let $;if(_<f.length)$=W();if(u!==void 0&&$!==void 0&&u>$)throw g(f[0],`Range '${u}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(u!==void 0)F.min=u;if($!==void 0)F.max=$;return F}function T4(f,U,_,W){let u=U&&U.c||{},$=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if($&&u.min===void 0&&W?.modifiers?.includes("!"))u.min=1}if(_)u.regex=_;if(W?.defaultMax!=null&&u.max===void 0)u.max=W.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let F=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",Y=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw g({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(u.min===void 0&&u.max===void 0&&u.default===void 0&&u.regex===void 0)return null;return j4(u)}function j4(f){let U=[];if(f.min!==void 0)U.push(`min: ${F2(f.min)}`);if(f.max!==void 0)U.push(`max: ${F2(f.max)}`);if(f.default!==void 0)U.push(`default: ${F2(f.default)}`);if(f.regex!==void 0)U.push(`regex: ${f.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function F2(f){if(f===null)return"null";if(f===void 0)return"undefined";if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||typeof f==="boolean")return String(f);if(f instanceof RegExp)return f.toString();return JSON.stringify(f)}function b4(f,U){if(f==="idStart"&&!U.length)throw g(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!U.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw g(_||U[U.length-1],`@${f} requires a target name.`);let W=_[1],u=_.data?.predicate===!0,$=1;if(!u&&U[$]?.[0]==="?")u=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(u)F.push("optional: true");return`[{${F.join(", ")}}]`}if(f==="index"){let _=[],W=!1,u=0;if(U[u]?.[0]==="IDENTIFIER"||U[u]?.[0]==="PROPERTY")_.push(U[u][1]),u++;else if(U[u]?.[0]==="["||U[u]?.[0]==="INDEX_START"){let F=[],Y=1;u++;while(u<U.length&&Y>0){let Z=U[u];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){u++;break}}F.push(Z),u++}for(let Z of c1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[u]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}if(f==="idStart"){let _=U[0],W=1,u=_;if(_&&_[0]==="-"&&U[1]&&U[1][0]==="NUMBER")W=-1,u=U[1];if(!u||u[0]!=="NUMBER")throw g(_||U[U.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let $=W*Number(u[1]);if(!Number.isInteger($))throw g(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+$+"}]"}return null}function x2(f,U){if(!f.length)throw g(null,"Empty constraint value.");let _=f[0],W=_[0];if(f.length===1){if(W==="NUMBER")return Number(_[1]);if(W==="STRING")return JSON.parse(_[1]);if(W==="BOOL")return _[1]==="true";if(W==="NULL")return null;if(W==="UNDEFINED")return;if(W==="REGEX")return h4(_[1]);if(W==="SYMBOL")return _[1]}if(f.length===2&&W==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw g(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function h4(f){let U=typeof f==="string"?f:String(f),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function g1(f){if(!f||!f.length)return null;let U=g1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=f.slice();if(W.length>=2&&W[0]?.[0]==="INDENT"){let G=0,Q=-1;for(let z=0;z<W.length;z++)if(W[z][0]==="INDENT")G++;else if(W[z][0]==="OUTDENT"){if(G--,G===0){Q=z;break}}if(Q===W.length-1)W=W.slice(1,-1)}if(_.tokens=W,_.seenFor=_.seenImport=_.seenExport=!1,_.ends=[],_.indent=0,_.outdebt=0,_.indents=[],_.tokens[_.tokens.length-1]?.[0]!=="TERMINATOR")_.tokens.push(G2("TERMINATOR",`
|
|
4
|
+
`,f[f.length-1]));try{_.rewriteTypes?.(),_.tagPostfixConditionals?.(),_.rewriteTaggedTemplates?.(),_.addImplicitBracesAndParens?.(),_.addImplicitCallCommas?.()}catch(G){throw g(f[0],`schema: failed to compile body: ${G.message}`)}let $=_.tokens.filter((G)=>G[0]!=="TYPE_DECL"),F=z1.lexer;z1.lexer={tokens:$,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let G=this.tokens[this.pos++],Q=G[1];if(G.data)Q=new String(Q),Object.assign(Q,G.data);return this.text=Q,this.loc=G.loc,this.line=G.loc?.r,G[0]}};let Y;try{Y=z1.parse("")}finally{z1.lexer=F}if(!Array.isArray(Y)||Y[0]!=="program")return null;let Z=Y.slice(1);if(Z.length===0)return null;if(Z.length===1)return Z[0];return["block",...Z]}function y4(f){let U=[],_=f.data;if(_?.await===!0)U.push("!");if(_?.predicate===!0)U.push("?");return U}function v4(f,U){let _=0;for(let W=U;W<f.length;W++)if(f[W][0]==="INDENT")_++;else if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}return-1}function c1(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if($===","&&W===0){if(_.length)U.push(_);_=[];continue}_.push(u)}if(_.length)U.push(_);return U}function g4(f){let U=f[0],_=f[1];if(U==="NUMBER")return Number(_);if(U==="STRING")return JSON.parse(_);if(U==="BOOL")return _==="true";if(U==="NULL")return null;if(U==="UNDEFINED")return;return _}function G2(f,U,_){let W=[f,U];if(W.pre=0,W.data=null,W.loc=_?.loc??{r:0,c:0,n:0},W.spaced=!1,W.newLine=!1,W.generated=!0,_)W.origin=_;return W}function g(f,U){let _=f?.loc||{r:0,c:0},W=Error(U);return W.name="SchemaSyntaxError",W.loc=_,W.line=_.r,W.column=_.c,W.phase="schema",W.code="E_SCHEMA",W}var Z2=1,l2=`
|
|
5
5
|
// ---- Rip Schema Runtime ----------------------------------------------------
|
|
6
6
|
// Four layers, lazy compilation:
|
|
7
7
|
// 1 (descriptor) object passed to __schema({...}). Raw metadata.
|
|
@@ -20,11 +20,11 @@ Expecting ${$.join(", ")}, got '${this.tokenNames[q]||q}'`;else return`Parse err
|
|
|
20
20
|
|
|
21
21
|
var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function() {
|
|
22
22
|
if (typeof globalThis !== 'undefined' && globalThis.__ripSchema) {
|
|
23
|
-
if (globalThis.__ripSchema.__version !== ${
|
|
23
|
+
if (globalThis.__ripSchema.__version !== ${Z2}) {
|
|
24
24
|
throw new Error(
|
|
25
25
|
"rip-schema runtime version mismatch: loaded runtime is v" +
|
|
26
26
|
globalThis.__ripSchema.__version +
|
|
27
|
-
", but this bundle expects v" + ${
|
|
27
|
+
", but this bundle expects v" + ${Z2} +
|
|
28
28
|
". Two compiled Rip bundles with incompatible schema runtimes are loaded in the same process."
|
|
29
29
|
);
|
|
30
30
|
}
|
|
@@ -521,11 +521,20 @@ class __SchemaDef {
|
|
|
521
521
|
enumerable: false, configurable: true, writable: true,
|
|
522
522
|
value: function() { return def._validateFields(this, true); },
|
|
523
523
|
});
|
|
524
|
+
// toJSON mirrors the instance's own enumerable properties, which by
|
|
525
|
+
// construction are: the primary key, declared fields, @timestamps
|
|
526
|
+
// columns, @softDelete timestamp, @belongs_to FK columns, and any
|
|
527
|
+
// !> eager-derived fields. Internal state (_dirty, _persisted,
|
|
528
|
+
// _snapshot) is defined non-enumerable; methods and ~> computed
|
|
529
|
+
// getters live on the prototype. So iterating own keys picks up
|
|
530
|
+
// exactly the user-facing wire shape without special-casing each
|
|
531
|
+
// category — and stays correct when new implicit columns get added
|
|
532
|
+
// to the runtime.
|
|
524
533
|
Object.defineProperty(klass.prototype, 'toJSON', {
|
|
525
534
|
enumerable: false, configurable: true, writable: true,
|
|
526
535
|
value: function() {
|
|
527
536
|
const out = {};
|
|
528
|
-
for (const k of
|
|
537
|
+
for (const k of Object.keys(this)) out[k] = this[k];
|
|
529
538
|
return out;
|
|
530
539
|
},
|
|
531
540
|
});
|
|
@@ -1107,6 +1116,13 @@ async function __schemaSave(def, inst) {
|
|
|
1107
1116
|
}
|
|
1108
1117
|
}
|
|
1109
1118
|
}
|
|
1119
|
+
// Now that the RETURNING columns (id, @timestamps, FKs) are on the
|
|
1120
|
+
// instance, !> eager-derived fields can see them. Mirrors the hydrate
|
|
1121
|
+
// path, which runs _applyEagerDerived once all declared fields are
|
|
1122
|
+
// populated. Per-docs semantics ("materialize once, not reactive")
|
|
1123
|
+
// still hold — we're firing once, at end of construction, not on
|
|
1124
|
+
// subsequent mutations.
|
|
1125
|
+
def._applyEagerDerived(inst);
|
|
1110
1126
|
inst._persisted = true;
|
|
1111
1127
|
} else {
|
|
1112
1128
|
const sets = [], values = [];
|
|
@@ -1163,7 +1179,8 @@ const __SCHEMA_SQL_TYPES = {
|
|
|
1163
1179
|
};
|
|
1164
1180
|
|
|
1165
1181
|
function __schemaToSQL(def, options) {
|
|
1166
|
-
const
|
|
1182
|
+
const opts = options || {};
|
|
1183
|
+
const { dropFirst = false, header } = opts;
|
|
1167
1184
|
const norm = def._normalize();
|
|
1168
1185
|
const blocks = [];
|
|
1169
1186
|
if (header) blocks.push(header);
|
|
@@ -1174,6 +1191,23 @@ function __schemaToSQL(def, options) {
|
|
|
1174
1191
|
blocks.push('DROP TABLE IF EXISTS ' + table + ' CASCADE;\\nDROP SEQUENCE IF EXISTS ' + seq + ';');
|
|
1175
1192
|
}
|
|
1176
1193
|
|
|
1194
|
+
// Sequence seed: explicit option wins over @idStart directive wins over 1.
|
|
1195
|
+
// DuckDB 1.5.2 does not implement ALTER SEQUENCE ... RESTART WITH N, so the
|
|
1196
|
+
// baseline has to be set at creation — hence the knob lives here, not in a
|
|
1197
|
+
// post-create migration.
|
|
1198
|
+
let idStart = 1;
|
|
1199
|
+
for (const d of norm.directives) {
|
|
1200
|
+
if (d.name === 'idStart' && d.args?.[0] && Number.isInteger(d.args[0].value)) {
|
|
1201
|
+
idStart = d.args[0].value;
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
if (opts.idStart !== undefined) {
|
|
1205
|
+
if (!Number.isInteger(opts.idStart)) {
|
|
1206
|
+
throw new Error('schema.toSQL(): idStart must be an integer; got ' + String(opts.idStart));
|
|
1207
|
+
}
|
|
1208
|
+
idStart = opts.idStart;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1177
1211
|
const columns = [];
|
|
1178
1212
|
const indexes = [];
|
|
1179
1213
|
columns.push(' ' + norm.primaryKey + " INTEGER PRIMARY KEY DEFAULT nextval('" + seq + "')");
|
|
@@ -1210,7 +1244,7 @@ function __schemaToSQL(def, options) {
|
|
|
1210
1244
|
indexes.push('CREATE ' + u + 'INDEX idx_' + table + '_' + fields.join('_') + ' ON ' + table + ' (' + fields.map(f => '"' + f + '"').join(', ') + ');');
|
|
1211
1245
|
}
|
|
1212
1246
|
|
|
1213
|
-
blocks.push('CREATE SEQUENCE ' + seq + ' START
|
|
1247
|
+
blocks.push('CREATE SEQUENCE ' + seq + ' START ' + idStart + ';');
|
|
1214
1248
|
blocks.push('CREATE TABLE ' + table + ' (\\n' + columns.join(',\\n') + '\\n);');
|
|
1215
1249
|
if (indexes.length) blocks.push(indexes.join('\\n'));
|
|
1216
1250
|
|
|
@@ -1254,38 +1288,38 @@ function __schema(descriptor) {
|
|
|
1254
1288
|
|
|
1255
1289
|
const exports = {
|
|
1256
1290
|
__schema, SchemaError, __SchemaRegistry, __schemaSetAdapter,
|
|
1257
|
-
__version: ${
|
|
1291
|
+
__version: ${Z2},
|
|
1258
1292
|
};
|
|
1259
1293
|
if (typeof globalThis !== 'undefined') globalThis.__ripSchema = exports;
|
|
1260
1294
|
return exports;
|
|
1261
1295
|
})();
|
|
1262
1296
|
|
|
1263
1297
|
// === End Schema Runtime ===
|
|
1264
|
-
`;function v4(){return c2.trimStart()}var x2=["interface SchemaIssue { field: string; error: string; message: string; }","type SchemaSafeResult<T> = { ok: true; value: T; errors: null } | { ok: false; value: null; errors: SchemaIssue[] };","interface Schema<Out, In = unknown> {"," parse(data: In): Out;"," safe(data: In): SchemaSafeResult<Out>;"," ok(data: unknown): boolean;"," pick<K extends keyof In>(...keys: K[]): Schema<Pick<In, K>, Pick<In, K>>;"," omit<K extends keyof In>(...keys: K[]): Schema<Omit<In, K>, Omit<In, K>>;"," partial(): Schema<Partial<In>, Partial<In>>;"," required<K extends keyof In>(...keys: K[]): Schema<Omit<In, K> & Required<Pick<In, K>>, Omit<In, K> & Required<Pick<In, K>>>;"," extend<U>(other: Schema<U>): Schema<In & U, In & U>;","}","interface SchemaQuery<T> {"," all(): Promise<T[]>;"," first(): Promise<T | null>;"," count(): Promise<number>;"," limit(n: number): SchemaQuery<T>;"," offset(n: number): SchemaQuery<T>;"," order(spec: string): SchemaQuery<T>;","}","interface ModelSchema<Instance, Data = unknown> extends Schema<Instance, Data> {"," find(id: unknown): Promise<Instance | null>;"," findMany(ids: unknown[]): Promise<Instance[]>;"," where(cond: Record<string, unknown> | string, ...params: unknown[]): SchemaQuery<Instance>;"," all(limit?: number): Promise<Instance[]>;"," first(): Promise<Instance | null>;"," count(cond?: Record<string, unknown>): Promise<number>;"," create(data: Partial<Data>): Promise<Instance>;"," toSQL(options?: { dropFirst?: boolean; header?: string }): string;","}"],g4={string:"string",text:"string",email:"string",url:"string",uuid:"string",phone:"string",zip:"string",number:"number",integer:"number",boolean:"boolean",date:"Date",datetime:"Date",json:"unknown",any:"any"};function c4(u){if(u.typeName==="literal-union"&&u.literals?.length)return u.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=g4[u.typeName]??u.typeName;return u.array?`${U}[]`:U}function x4(u){if(!Array.isArray(u))return null;if((u[0]?.valueOf?.()??u[0])!=="schema")return null;let _=u[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function l2(u,U){let _=[];if(F2(u,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),f=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")h2($,f,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")h2($,f,W,U);return!0}function F2(u,U){if(!Array.isArray(u))return;let _=u[0]?.valueOf?.()??u[0],W=!1,f=null;if(_==="export"&&Array.isArray(u[1])){let $=u[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,f=$;else F2(u[1],U)}else if(_==="=")f=u;else if(_==="program"||_==="block"){for(let $=1;$<u.length;$++)if(Array.isArray(u[$]))F2(u[$],U)}if(f&&Array.isArray(f[2])){let $=f[1]?.valueOf?.()??f[1],F=x4(f[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function h2(u,U,_,W){let{name:f,descriptor:$,exported:F}=u,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let A=[];for(let R of $.entries){if(R.tag!=="enum-member")continue;let O=R.value!==void 0?R.value:R.name;A.push(typeof O==="string"?JSON.stringify(O):String(O))}let J=A.length?A.join(" | "):"never";W.push(`${Y}type ${f} = ${J};`),W.push(`${Y}${Z}const ${f}: { parse(data: unknown): ${f}; safe(data: unknown): SchemaSafeResult<${f}>; ok(data: unknown): data is ${f}; };`);return}if($.kind==="mixin"){let A=y2($);W.push(`${Y}type ${f} = { ${A.join("; ")} };`);return}let G=y2($),Q=l4($,U),z=[],X=[];for(let A of $.entries)if(A.tag==="method")z.push(`${A.name}: (...args: any[]) => unknown`);else if(A.tag==="computed")X.push(`readonly ${A.name}: unknown`);let w=`{ ${G.join("; ")} }`,K=Q.length?`${w} & ${Q.join(" & ")}`:w;if($.kind==="model"){let A=`${f}Data`,J=`${f}Instance`,R=m4($,_),O=[...X,...z,...R,`save(): Promise<${J}>`,`destroy(): Promise<${J}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${A}`];W.push(`${Y}type ${A} = ${K};`),W.push(`${Y}type ${J} = ${A} & { ${O.join("; ")} };`),W.push(`${Y}${Z}const ${f}: ModelSchema<${J}, ${A}>;`);return}if($.kind==="shape"){let A=`${f}Data`,J=`${f}Instance`,R=z.length+X.length>0;if(W.push(`${Y}type ${A} = ${K};`),R)W.push(`${Y}type ${J} = ${A} & { ${[...X,...z].join("; ")} };`),W.push(`${Y}${Z}const ${f}: Schema<${J}, ${A}>;`);else W.push(`${Y}${Z}const ${f}: Schema<${A}, ${A}>;`);return}let H=`${f}Value`;W.push(`${Y}type ${H} = ${K};`),W.push(`${Y}${Z}const ${f}: Schema<${H}, ${H}>;`)}function l4(u,U){let _=[];for(let W of u.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let f=W.args,$=f&&f[0]&&f[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function m4(u,U){let _=[];for(let W of u.entries){if(W.tag!=="directive")continue;let f=W.args;if(!f||!f[0])continue;let $=f[0].target;if(!$)continue;let F=f[0].optional===!0,Y=$[0].toLowerCase()+$.slice(1),Z=`${$}Instance`,G=U&&U.has($);if(W.name==="belongs_to"){let Q=G?F?`${Z} | null`:`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_one"||W.name==="one"){let Q=G?`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_many"||W.name==="many"){let Q=G?`${Z}[]`:"unknown[]",z=k4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function k4(u){let U=u.toLowerCase();if(/[^aeiouy]y$/i.test(u))return u.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(u))return u+"es";return u+"s"}function y2(u){let U=[];for(let _ of u.entries){if(_.tag!=="field")continue;let f=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${f}: ${c4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(c2)}catch{}var i4=["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 d4=["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;","};"],p4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",n4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",o4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",a4="declare function __computed<T>(fn: () => T): Computed<T>;",r4="declare function __effect(fn: () => void | (() => void)): () => void;";function i2(u){let U=u.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,f=($,F,Y)=>{let Z=[$,F];if(Z.pre=0,Z.data=null,Z.loc=Y?.loc??{r:0,c:0,n:0},Z.spaced=!1,Z.newLine=!1,Z.generated=!0,Y)Z.origin=Y;return Z};this.scanTokens(($,F,Y)=>{let Z=$[0];if(Z==="IDENTIFIER"){let G=Y[F+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Q=Y[F-1]?.[0]==="DEF",z=k2(Y,F+1);if(z){let X=F+1+z.length,w=!Q&&Y[X]?.[0]==="="&&Y[X+1]?.[0]==="COMPONENT";if(Q||w){if(!$.data)$.data={};if($.data.typeParams=M1(z),Y.splice(F+1,z.length),Q&&Y[F+1]?.[0]==="("){Y[F+1][0]="CALL_START";let K=1,H=F+2;while(H<Y.length&&K>0){if(Y[H][0]==="("||Y[H][0]==="CALL_START")K++;if(Y[H][0]===")"||Y[H][0]==="CALL_END")K--;if(K===0)Y[H][0]="CALL_END";H++}}}}}}if(Z==="TYPE_ANNOTATION"){let G=Y[F-1];if(!G)return 1;let Q=m2(Y,F+1),z=M1(Q),X=G,w="type";if(G[0]==="CALL_END"||G[0]===")"){let H=1,A=F-2;while(A>=0&&H>0){let J=Y[A][0];if(J==="CALL_END"||J===")")H++;if(J==="CALL_START"||J==="(")H--;A--}if(A>=0)X=Y[A];w="returnType"}else if(G[0]==="PARAM_END"){let H=F+1+Q.consumed,A=Y[H];if(A&&(A[0]==="->"||A[0]==="=>"))X=A;w="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")w="returnType";if(!X.data)X.data={};X.data[w]=z;for(let H of Q)if(H[0]==="IDENTIFIER")W.add(H[1]);let K=1+Q.consumed;return Y.splice(F,K),0}if(Z==="IDENTIFIER"&&$[1]==="type"){let G=Y[F-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let z=F+1,X=Y[z];if(!X||X[0]!=="IDENTIFIER")return 1;let w=X[1],K=G==="EXPORT",H=K?F-1:F,A=z+1;if(Y[A]?.[0]==="COMPARE"&&Y[A]?.[1]==="<"&&!Y[A].spaced){let q=k2(Y,A);if(q){if(!X.data)X.data={};X.data.typeParams=M1(q),Y.splice(A,q.length)}}if(Y[A]?.[0]!=="=")return 1;let J=(q)=>{let B=f("TYPE_DECL",w,X);if(B.data={name:w,typeText:q,exported:K},X.data?.typeParams)B.data.typeParams=X.data.typeParams;return B},R=A+1,O=Y[R];if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let q=s4(Y,R);if(q)return Y.splice(H,q.endIdx-H+1,J(q.typeText)),0}if(O&&O[0]==="INDENT"){let q=G2(Y,R);return Y.splice(H,q-H+1,J(Z2(Y,R))),0}let P=m2(Y,R);return Y.splice(H,R+P.consumed-H,J(M1(P))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let X=z[1],w=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")w=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let H=Z2(Y,K),A=G2(Y,K),J=f("TYPE_DECL",X,z);J.data={name:X,kind:"interface",extends:w,typeText:H,exported:G};let R=G?F-1:F,O=A-R+1;return Y.splice(R,O,J),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let F=_[$+1];if(!F||F[0]!=="IDENTIFIER")continue;let Y=$+2;if(_[Y]?.[0]!=="CALL_START")continue;let Z=1;Y++;while(Y<_.length&&Z>0){if(_[Y][0]==="CALL_START")Z++;if(_[Y][0]==="CALL_END")Z--;Y++}let G=Y-1,Q=_[Y];if(Q&&Q[0]!=="TERMINATOR")continue;let z=F.data?.returnType;if(!z){for(let J=$+2;J<=G;J++)if(_[J].data?.type){z=!0;break}}if(!z)continue;let X=_.slice($,Y+1),w=$>=1&&_[$-1]?.[0]==="EXPORT",K=w?$-1:$,H=Y+1-K,A=f("TYPE_DECL",F[1],F);if(A.data={name:F[1],kind:"overload",overloadTokens:X,exported:w},F.data?.typeParams)A.data.typeParams=F.data.typeParams;_.splice(K,H,A)}}}function m2(u,U){let _=[],W=0,f=U;while(U<u.length){let $=u[U],F=$[0],Y=F==="("||F==="["||F==="{"||F==="CALL_START"||F==="PARAM_START"||F==="INDEX_START"||F==="COMPARE"&&$[1]==="<",Z=F===")"||F==="]"||F==="}"||F==="CALL_END"||F==="PARAM_END"||F==="INDEX_END"||F==="COMPARE"&&$[1]===">";if(F==="SHIFT"&&$[1]===">>"&&W>=2){W-=2,_.push($),U++;continue}if(Y){W++,_.push($),U++;continue}if(Z){if(W>0){W--,_.push($),U++;continue}break}if(W===0){if(F==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){U++;let G=1;while(U<u.length&&G>0)if(u[U][0]==="INDENT")G++,U++;else if(u[U][0]==="OUTDENT")G--,U++;else _.push(u[U]),U++;continue}if(F==="="||F==="REACTIVE_ASSIGN"||F==="COMPUTED_ASSIGN"||F==="READONLY_ASSIGN"||F==="EFFECT"||F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"||F==="->"||F===",")break}_.push($),U++}return _.consumed=U-f,_}function M1(u){if(u.length===0)return"";if(u[0]?.[0]==="=>")u.unshift(["","()"]);let U=u.map((_)=>_[1]).join(" ").replace(/\s+/g," ").trim();return U=U.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,": "),U}function k2(u,U){if(U>=u.length)return null;let _=u[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],f=1,$=U+1;while($<u.length&&f>0){let F=u[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")f++;else if(F[0]==="COMPARE"&&F[1]===">")f--;$++}return f===0?W:null}function Z2(u,U){let _=[],W=U+1,f=1;while(W<u.length&&f>0){let $=u[W];if($[0]==="INDENT"){f++,W++;continue}if($[0]==="OUTDENT"){if(f--,f===0)break;W++;continue}if($[0]==="TERMINATOR"){W++;continue}if(f===1&&$[0]==="["){let Y=[];W++;while(W<u.length&&u[W][0]!=="]")Y.push(u[W]),W++;if(W++,u[W]?.[1]===":"||u[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<u.length){let z=u[W];if(z[0]==="TERMINATOR"||z[0]==="OUTDENT")break;Z.push(z),W++}let G=M1(Y),Q=M1(Z);_.push(`[${G}]: ${Q}`);continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||f===1&&/^[a-zA-Z_$]/.test($[1])&&u[W+1]?.[0]==="TYPE_ANNOTATION";if(f===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="readonly"&&u[W]&&(u[W][0]==="PROPERTY"||u[W][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(u[W][1])&&u[W+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,Y=u[W][1],u[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(u[W]?.[1]==="?"&&!u[W]?.spaced)Z=!0,W++;if(u[W]?.[1]===":"||u[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<u.length){let H=u[W];if(H[0]==="IDENTIFIER"&&H[1]==="type"&&u[W+1]?.[0]==="INDENT"){W++;let A=Z2(u,W);Q.push(["",A]);let J=1;W++;while(W<u.length&&J>0){if(u[W][0]==="INDENT")J++;if(u[W][0]==="OUTDENT")J--;W++}continue}if(H[0]==="INDENT"){z++,W++;continue}if(H[0]==="OUTDENT"){if(z>0){z--,W++;continue}break}if(H[0]==="TERMINATOR"&&z===0)break;Q.push(H),W++}let X=M1(Q),w=G?"readonly ":"",K=Z?"?":"";_.push(`${w}${Y}${K}: ${X}`)}else W++}return"{ "+_.join("; ")+" }"}function G2(u,U){let _=0;for(let W=U;W<u.length;W++){if(u[W][0]==="INDENT")_++;if(u[W][0]==="OUTDENT"){if(_--,_===0)return W}}return u.length-1}function s4(u,U){let _=U;if(u[_]?.[0]==="TERMINATOR")_++;if(u[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<u.length&&u[_][0]==="TERMINATOR")_++;if(!u[_]||u[_][1]!=="|")return null;let f=[],$=1;_=W+1;while(_<u.length&&$>0){let Y=u[_];if(Y[0]==="INDENT"){$++,_++;continue}if(Y[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(Y[0]==="TERMINATOR"){_++;continue}if(Y[1]==="|"&&$===1){_++;let Z=[];while(_<u.length){let G=u[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)f.push(M1(Z));continue}_++}if(f.length===0)return null;let F=G2(u,W);return{typeText:f.join(" | "),endIdx:F}}function z2(u,U=null,_=""){let W=[],f=0,$=" ",F=()=>$.repeat(f),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,X=typeof _==="string"?_.split(`
|
|
1265
|
-
`):[];for(let
|
|
1298
|
+
`;function c4(){return l2.trimStart()}var m2=["interface SchemaIssue { field: string; error: string; message: string; }","type SchemaSafeResult<T> = { ok: true; value: T; errors: null } | { ok: false; value: null; errors: SchemaIssue[] };","interface Schema<Out, In = unknown> {"," parse(data: In): Out;"," safe(data: In): SchemaSafeResult<Out>;"," ok(data: unknown): boolean;"," pick<K extends keyof In>(...keys: K[]): Schema<Pick<In, K>, Pick<In, K>>;"," omit<K extends keyof In>(...keys: K[]): Schema<Omit<In, K>, Omit<In, K>>;"," partial(): Schema<Partial<In>, Partial<In>>;"," required<K extends keyof In>(...keys: K[]): Schema<Omit<In, K> & Required<Pick<In, K>>, Omit<In, K> & Required<Pick<In, K>>>;"," extend<U>(other: Schema<U>): Schema<In & U, In & U>;","}","interface SchemaQuery<T> {"," all(): Promise<T[]>;"," first(): Promise<T | null>;"," count(): Promise<number>;"," limit(n: number): SchemaQuery<T>;"," offset(n: number): SchemaQuery<T>;"," order(spec: string): SchemaQuery<T>;","}","interface ModelSchema<Instance, Data = unknown> extends Schema<Instance, Data> {"," find(id: unknown): Promise<Instance | null>;"," findMany(ids: unknown[]): Promise<Instance[]>;"," where(cond: Record<string, unknown> | string, ...params: unknown[]): SchemaQuery<Instance>;"," all(limit?: number): Promise<Instance[]>;"," first(): Promise<Instance | null>;"," count(cond?: Record<string, unknown>): Promise<number>;"," create(data: Partial<Data>): Promise<Instance>;"," toSQL(options?: { dropFirst?: boolean; header?: string; idStart?: number }): string;","}"],x4={string:"string",text:"string",email:"string",url:"string",uuid:"string",phone:"string",zip:"string",number:"number",integer:"number",boolean:"boolean",date:"Date",datetime:"Date",json:"unknown",any:"any"};function l4(f){if(f.typeName==="literal-union"&&f.literals?.length)return f.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=x4[f.typeName]??f.typeName;return f.array?`${U}[]`:U}function m4(f){if(!Array.isArray(f))return null;if((f[0]?.valueOf?.()??f[0])!=="schema")return null;let _=f[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function k2(f,U){let _=[];if(Q2(f,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),u=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")v2($,u,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")v2($,u,W,U);return!0}function Q2(f,U){if(!Array.isArray(f))return;let _=f[0]?.valueOf?.()??f[0],W=!1,u=null;if(_==="export"&&Array.isArray(f[1])){let $=f[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,u=$;else Q2(f[1],U)}else if(_==="=")u=f;else if(_==="program"||_==="block"){for(let $=1;$<f.length;$++)if(Array.isArray(f[$]))Q2(f[$],U)}if(u&&Array.isArray(u[2])){let $=u[1]?.valueOf?.()??u[1],F=m4(u[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function v2(f,U,_,W){let{name:u,descriptor:$,exported:F}=f,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let w=[];for(let H of $.entries){if(H.tag!=="enum-member")continue;let q=H.value!==void 0?H.value:H.name;w.push(typeof q==="string"?JSON.stringify(q):String(q))}let X=w.length?w.join(" | "):"never";W.push(`${Y}type ${u} = ${X};`),W.push(`${Y}${Z}const ${u}: { parse(data: unknown): ${u}; safe(data: unknown): SchemaSafeResult<${u}>; ok(data: unknown): data is ${u}; };`);return}if($.kind==="mixin"){let w=g2($);W.push(`${Y}type ${u} = { ${w.join("; ")} };`);return}let G=g2($),Q=k4($,U),z=[],A=[];for(let w of $.entries)if(w.tag==="method")z.push(`${w.name}: (...args: any[]) => unknown`);else if(w.tag==="computed")A.push(`readonly ${w.name}: unknown`);let J=`{ ${G.join("; ")} }`,K=Q.length?`${J} & ${Q.join(" & ")}`:J;if($.kind==="model"){let w=`${u}Data`,X=`${u}Instance`,H=i4($,_),q=[...A,...z,...H,`save(): Promise<${X}>`,`destroy(): Promise<${X}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${w}`];W.push(`${Y}type ${w} = ${K};`),W.push(`${Y}type ${X} = ${w} & { ${q.join("; ")} };`),W.push(`${Y}${Z}const ${u}: ModelSchema<${X}, ${w}>;`);return}if($.kind==="shape"){let w=`${u}Data`,X=`${u}Instance`,H=z.length+A.length>0;if(W.push(`${Y}type ${w} = ${K};`),H)W.push(`${Y}type ${X} = ${w} & { ${[...A,...z].join("; ")} };`),W.push(`${Y}${Z}const ${u}: Schema<${X}, ${w}>;`);else W.push(`${Y}${Z}const ${u}: Schema<${w}, ${w}>;`);return}let D=`${u}Value`;W.push(`${Y}type ${D} = ${K};`),W.push(`${Y}${Z}const ${u}: Schema<${D}, ${D}>;`)}function k4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let u=W.args,$=u&&u[0]&&u[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function i4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive")continue;let u=W.args;if(!u||!u[0])continue;let $=u[0].target;if(!$)continue;let F=u[0].optional===!0,Y=$[0].toLowerCase()+$.slice(1),Z=`${$}Instance`,G=U&&U.has($);if(W.name==="belongs_to"){let Q=G?F?`${Z} | null`:`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_one"||W.name==="one"){let Q=G?`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_many"||W.name==="many"){let Q=G?`${Z}[]`:"unknown[]",z=d4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function d4(f){let U=f.toLowerCase();if(/[^aeiouy]y$/i.test(f))return f.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(f))return f+"es";return f+"s"}function g2(f){let U=[];for(let _ of f.entries){if(_.tag!=="field")continue;let u=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${u}: ${l4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(l2)}catch{}var p4=["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 n4=["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;","};"],a4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",o4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",r4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",s4="declare function __computed<T>(fn: () => T): Computed<T>;",t4="declare function __effect(fn: () => void | (() => void)): () => void;";function p2(f){let U=f.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,u=($,F,Y)=>{let Z=[$,F];if(Z.pre=0,Z.data=null,Z.loc=Y?.loc??{r:0,c:0,n:0},Z.spaced=!1,Z.newLine=!1,Z.generated=!0,Y)Z.origin=Y;return Z};this.scanTokens(($,F,Y)=>{let Z=$[0];if(Z==="IDENTIFIER"){let G=Y[F+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Q=Y[F-1]?.[0]==="DEF",z=d2(Y,F+1);if(z){let A=F+1+z.length,J=!Q&&Y[A]?.[0]==="="&&Y[A+1]?.[0]==="COMPONENT";if(Q||J){if(!$.data)$.data={};if($.data.typeParams=M1(z),Y.splice(F+1,z.length),Q&&Y[F+1]?.[0]==="("){Y[F+1][0]="CALL_START";let K=1,D=F+2;while(D<Y.length&&K>0){if(Y[D][0]==="("||Y[D][0]==="CALL_START")K++;if(Y[D][0]===")"||Y[D][0]==="CALL_END")K--;if(K===0)Y[D][0]="CALL_END";D++}}}}}}if(Z==="TYPE_ANNOTATION"){let G=Y[F-1];if(!G)return 1;let Q=i2(Y,F+1),z=M1(Q),A=G,J="type";if(G[0]==="CALL_END"||G[0]===")"){let D=1,w=F-2;while(w>=0&&D>0){let X=Y[w][0];if(X==="CALL_END"||X===")")D++;if(X==="CALL_START"||X==="(")D--;w--}if(w>=0)A=Y[w];J="returnType"}else if(G[0]==="PARAM_END"){let D=F+1+Q.consumed,w=Y[D];if(w&&(w[0]==="->"||w[0]==="=>"))A=w;J="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")J="returnType";if(!A.data)A.data={};A.data[J]=z;for(let D of Q)if(D[0]==="IDENTIFIER")W.add(D[1]);let K=1+Q.consumed;return Y.splice(F,K),0}if(Z==="IDENTIFIER"&&$[1]==="type"){let G=Y[F-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let z=F+1,A=Y[z];if(!A||A[0]!=="IDENTIFIER")return 1;let J=A[1],K=G==="EXPORT",D=K?F-1:F,w=z+1;if(Y[w]?.[0]==="COMPARE"&&Y[w]?.[1]==="<"&&!Y[w].spaced){let R=d2(Y,w);if(R){if(!A.data)A.data={};A.data.typeParams=M1(R),Y.splice(w,R.length)}}if(Y[w]?.[0]!=="=")return 1;let X=(R)=>{let S=u("TYPE_DECL",J,A);if(S.data={name:J,typeText:R,exported:K},A.data?.typeParams)S.data.typeParams=A.data.typeParams;return S},H=w+1,q=Y[H];if(q&&(q[0]==="TERMINATOR"||q[0]==="INDENT")){let R=e4(Y,H);if(R)return Y.splice(D,R.endIdx-D+1,X(R.typeText)),0}if(q&&q[0]==="INDENT"){let R=A2(Y,H);return Y.splice(D,R-D+1,X(z2(Y,H))),0}let I=i2(Y,H);return Y.splice(D,H+I.consumed-D,X(M1(I))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let A=z[1],J=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")J=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let D=z2(Y,K),w=A2(Y,K),X=u("TYPE_DECL",A,z);X.data={name:A,kind:"interface",extends:J,typeText:D,exported:G};let H=G?F-1:F,q=w-H+1;return Y.splice(H,q,X),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let F=_[$+1];if(!F||F[0]!=="IDENTIFIER")continue;let Y=$+2;if(_[Y]?.[0]!=="CALL_START")continue;let Z=1;Y++;while(Y<_.length&&Z>0){if(_[Y][0]==="CALL_START")Z++;if(_[Y][0]==="CALL_END")Z--;Y++}let G=Y-1,Q=_[Y];if(Q&&Q[0]!=="TERMINATOR")continue;let z=F.data?.returnType;if(!z){for(let X=$+2;X<=G;X++)if(_[X].data?.type){z=!0;break}}if(!z)continue;let A=_.slice($,Y+1),J=$>=1&&_[$-1]?.[0]==="EXPORT",K=J?$-1:$,D=Y+1-K,w=u("TYPE_DECL",F[1],F);if(w.data={name:F[1],kind:"overload",overloadTokens:A,exported:J},F.data?.typeParams)w.data.typeParams=F.data.typeParams;_.splice(K,D,w)}}}function i2(f,U){let _=[],W=0,u=U;while(U<f.length){let $=f[U],F=$[0],Y=F==="("||F==="["||F==="{"||F==="CALL_START"||F==="PARAM_START"||F==="INDEX_START"||F==="COMPARE"&&$[1]==="<",Z=F===")"||F==="]"||F==="}"||F==="CALL_END"||F==="PARAM_END"||F==="INDEX_END"||F==="COMPARE"&&$[1]===">";if(F==="SHIFT"&&$[1]===">>"&&W>=2){W-=2,_.push($),U++;continue}if(Y){W++,_.push($),U++;continue}if(Z){if(W>0){W--,_.push($),U++;continue}break}if(W===0){if(F==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){U++;let G=1;while(U<f.length&&G>0)if(f[U][0]==="INDENT")G++,U++;else if(f[U][0]==="OUTDENT")G--,U++;else _.push(f[U]),U++;continue}if(F==="="||F==="REACTIVE_ASSIGN"||F==="COMPUTED_ASSIGN"||F==="READONLY_ASSIGN"||F==="EFFECT"||F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"||F==="->"||F===",")break}_.push($),U++}return _.consumed=U-u,_}function M1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let U=f.map((_)=>_[1]).join(" ").replace(/\s+/g," ").trim();return U=U.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,": "),U}function d2(f,U){if(U>=f.length)return null;let _=f[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],u=1,$=U+1;while($<f.length&&u>0){let F=f[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")u++;else if(F[0]==="COMPARE"&&F[1]===">")u--;$++}return u===0?W:null}function z2(f,U){let _=[],W=U+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 Y=[];W++;while(W<f.length&&f[W][0]!=="]")Y.push(f[W]),W++;if(W++,f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<f.length){let z=f[W];if(z[0]==="TERMINATOR"||z[0]==="OUTDENT")break;Z.push(z),W++}let G=M1(Y),Q=M1(Z);_.push(`[${G}]: ${Q}`);continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[W+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="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,Y=f[W][1],f[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(f[W]?.[1]==="?"&&!f[W]?.spaced)Z=!0,W++;if(f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<f.length){let D=f[W];if(D[0]==="IDENTIFIER"&&D[1]==="type"&&f[W+1]?.[0]==="INDENT"){W++;let w=z2(f,W);Q.push(["",w]);let X=1;W++;while(W<f.length&&X>0){if(f[W][0]==="INDENT")X++;if(f[W][0]==="OUTDENT")X--;W++}continue}if(D[0]==="INDENT"){z++,W++;continue}if(D[0]==="OUTDENT"){if(z>0){z--,W++;continue}break}if(D[0]==="TERMINATOR"&&z===0)break;Q.push(D),W++}let A=M1(Q),J=G?"readonly ":"",K=Z?"?":"";_.push(`${J}${Y}${K}: ${A}`)}else W++}return"{ "+_.join("; ")+" }"}function A2(f,U){let _=0;for(let W=U;W<f.length;W++){if(f[W][0]==="INDENT")_++;if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}}return f.length-1}function e4(f,U){let _=U;if(f[_]?.[0]==="TERMINATOR")_++;if(f[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<f.length&&f[_][0]==="TERMINATOR")_++;if(!f[_]||f[_][1]!=="|")return null;let u=[],$=1;_=W+1;while(_<f.length&&$>0){let Y=f[_];if(Y[0]==="INDENT"){$++,_++;continue}if(Y[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(Y[0]==="TERMINATOR"){_++;continue}if(Y[1]==="|"&&$===1){_++;let Z=[];while(_<f.length){let G=f[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)u.push(M1(Z));continue}_++}if(u.length===0)return null;let F=A2(f,W);return{typeText:u.join(" | "),endIdx:F}}function X2(f,U=null,_=""){let W=[],u=0,$=" ",F=()=>$.repeat(u),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,A=typeof _==="string"?_.split(`
|
|
1299
|
+
`):[];for(let R=0;R<f.length;R++){let S=f[R][0];if(S==="REACTIVE_ASSIGN")G=!0;else if(S==="COMPUTED_ASSIGN")Q=!0}let J=(R,S,O)=>{if(S.startsWith("{ ")&&S.endsWith(" }")){let P=0,M=-1;for(let B=0;B<S.length;B++)if(S[B]==="{")P++;else if(S[B]==="}"){if(P--,P===0){M=B;break}}if(M===S.length-1){let B=S.slice(2,-2),L=[],V=0,N=0;for(let C=0;C<B.length;C++)if(B[C]==="{")N++;else if(B[C]==="}")N--;else if(N===0&&B[C]===";"&&B[C+1]===" ")L.push(B.slice(V,C)),V=C+2;if(V<B.length)L.push(B.slice(V));if(L=L.filter((C)=>C.trim()),L.length>0){W.push(`${F()}${R}{`),u++;for(let C of L)W.push(`${F()}${C};`);u--,W.push(`${F()}}${O}`);return}}}W.push(`${F()}${R}${S}${O}`)},K=(R,S)=>{S++;let O=0;while(S<R.length){let P=R[S];if(P[0]==="("||P[0]==="["||P[0]==="{")O++;if(P[0]===")"||P[0]==="]"||P[0]==="}"){if(O===0)break;O--}if(O===0&&P[1]===",")break;S++}return S},D=(R,S)=>{let O=[],P=!1,M=S+1,B=1;while(M<R.length&&B>0){if(R[M][0]==="{")B++;if(R[M][0]==="}")B--;if(B<=0){M++;break}if(R[M][0]==="..."||R[M][0]==="SPREAD"){if(M++,R[M]?.[0]==="IDENTIFIER")O.push({kind:"rest",propName:R[M][1]}),M++;continue}if(R[M][0]==="PROPERTY"&&R[M+1]?.[0]===":"){let N=R[M][1];if(M+=2,R[M]?.[0]==="{"){let C=D(R,M);if(C.hasAnyType)P=!0;O.push({kind:"nested-obj",propName:N,inner:C}),M=C.endJ;continue}if(R[M]?.[0]==="["){let C=w(R,M);if(C.hasAnyType)P=!0;O.push({kind:"nested-arr",propName:N,inner:C}),M=C.endJ;continue}if(R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;if(E)P=!0;let l=R[M+1]?.[0]==="=";if(O.push({kind:"rename",propName:N,localName:C,type:E?_1(E):null,hasDefault:l}),M++,l)M=K(R,M)}continue}if(R[M][0]==="IDENTIFIER"){let N=R[M][1],C=R[M].data?.type;if(C)P=!0;let E=R[M+1]?.[0]==="=";if(O.push({kind:"simple",propName:N,type:C?_1(C):null,hasDefault:E}),M++,E)M=K(R,M);continue}M++}let L=[],V=[];for(let N of O)if(N.kind==="rest")L.push(`...${N.propName}`),V.push("[key: string]: unknown");else if(N.kind==="nested-obj"||N.kind==="nested-arr")L.push(`${N.propName}: ${N.inner.patternStr}`),V.push(`${N.propName}: ${N.inner.typeStr}`);else if(N.kind==="rename")L.push(`${N.propName}: ${N.localName}`),V.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);else L.push(N.propName),V.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);return{patternStr:`{${L.join(", ")}}`,typeStr:`{${V.join(", ")}}`,endJ:M,hasAnyType:P}},w=(R,S)=>{let O=[],P=[],M=!1,B=S+1,L=1;while(B<R.length&&L>0){if(R[B][0]==="[")L++;if(R[B][0]==="]")L--;if(L>0&&R[B][0]==="IDENTIFIER"){let V=R[B][1],N=R[B].data?.type;if(O.push(V),P.push(N?_1(N):null),N)M=!0}B++}return{patternStr:`[${O.join(", ")}]`,typeStr:`[${P.map((V)=>V||"any").join(", ")}]`,endJ:B,hasAnyType:M}},X=(R,S)=>{let O=[],P=[],M=S,B=R[M]?.[0];if(B!=="CALL_START"&&B!=="PARAM_START")return{params:O,fields:P,endIdx:M};let L=B==="CALL_START"?"CALL_END":"PARAM_END";M++;let V=0;while(M<R.length&&!(R[M][0]===L&&V===0)){let N=R[M];if(N[1]===","&&V===0){M++;continue}if(N[0]==="{"||N[0]==="["||N[0]==="CALL_START"||N[0]==="PARAM_START"||N[0]==="INDEX_START")V++;if(N[0]==="}"||N[0]==="]"||N[0]==="CALL_END"||N[0]==="PARAM_END"||N[0]==="INDEX_END"){V--,M++;continue}if(N[0]==="@"){if(M++,R[M]?.[0]==="PROPERTY"||R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;if(O.push(E?`${C}: ${_1(E)}`:C),E)P.push({name:C,type:_1(E)});M++}continue}if(N[0]==="SPREAD"||N[1]==="..."){if(M++,R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;O.push(E?`...${C}: ${_1(E)}`:`...${C}: any[]`),M++}continue}if(N[0]==="{"){V--;let C=D(R,M);if(M=C.endJ,C.hasAnyType)O.push(`${C.patternStr}: ${C.typeStr}`);else O.push(C.patternStr);continue}if(N[0]==="["){V--;let C=w(R,M);if(M=C.endJ,C.hasAnyType)O.push(`${C.patternStr}: ${C.typeStr}`);else O.push(C.patternStr);continue}if(N[0]==="IDENTIFIER"){let C=N[1],E=N.data?.type,l=!1;if(R[M+1]?.[0]==="=")l=!0;let T=l||N.data?.predicate;if(E)O.push(`${C}${T?"?":""}: ${_1(E)}`);else O.push(C);if(M++,l){M++;let j=0;while(M<R.length){let b=R[M];if(b[0]==="("||b[0]==="["||b[0]==="{")j++;if(b[0]===")"||b[0]==="]"||b[0]==="}")j--;if(j===0&&(b[1]===","||b[0]==="CALL_END"))break;M++}}continue}M++}return{params:O,fields:P,endIdx:M}};for(let R=0;R<f.length;R++){let S=f[R],O=S[0],P=!1;if(O==="EXPORT"){if(P=!0,R++,R>=f.length)break;if(S=f[R],O=S[0],O==="DEFAULT"){if(R++,R>=f.length)break;if(S=f[R],O=S[0],O==="IDENTIFIER")W.push(`${F()}export default ${S[1]};`);continue}}if(O==="IMPORT"){let M=[],B=R+1;while(B<f.length&&f[B][0]!=="TERMINATOR")M.push(f[B]),B++;let L="import "+M.map((V)=>V[1]).join(" ");L=L.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),W.push(`${F()}${L};`),R=B;continue}if(O==="TYPE_DECL"){let M=S.data;if(!M)continue;let B=P||M.exported?"export ":"",L=M.typeParams||"";if(M.kind==="overload"){let V=M.overloadTokens,N=V[1],{params:C}=X(V,2),E=N.data?.returnType,l=E?`: ${_1(E)}`:"",T=Y?"":B?"":"declare ",j=M.typeParams||"";if(Y)W.push(`${F()}${M.name}${j}(${C.join(", ")})${l};`);else W.push(`${F()}${B}${T}function ${M.name}${j}(${C.join(", ")})${l};`)}else if(M.kind==="interface"){let V=M.extends?` extends ${M.extends}`:"";J(`${B}interface ${M.name}${L}${V} `,M.typeText||"{}","")}else{let V=_1(M.typeText||"");J(`${B}type ${M.name}${L} = `,V,";")}continue}if(O==="ENUM"){let M=P?"export ":"",B=f[R+1];if(!B)continue;let L=B[1],V=R+2;if(f[V]?.[0]==="INDENT"){W.push(`${F()}${M}enum ${L} {`),u++,V++;let N=[];while(V<f.length&&f[V][0]!=="OUTDENT"){if(f[V][0]==="TERMINATOR"){V++;continue}if(f[V][0]==="IDENTIFIER"){let C=f[V][1];if(V++,f[V]?.[1]==="="){V++;let E=f[V]?.[1];N.push(`${C} = ${E}`),V++}else N.push(C)}else V++}for(let C=0;C<N.length;C++){let E=C<N.length-1?",":"";W.push(`${F()}${N[C]}${E}`)}u--,W.push(`${F()}}`)}continue}if(O==="CLASS"){let M=P?"export ":"",B=f[R+1];if(!B)continue;let L=B[1],V="",N=R+2;if(f[N]?.[0]==="EXTENDS")V=` extends ${f[N+1]?.[1]||""}`,N+=2;if(f[N]?.[0]==="INDENT"){let C=!1,E=N+1;while(E<f.length&&f[E][0]!=="OUTDENT"){if(f[E].data?.type||f[E].data?.returnType){C=!0;break}E++}if(C)W.push(`${F()}${M}declare class ${L}${V} {`),Y=!0,Z.clear(),u++}continue}if(O==="DEF"){let M=f[R+1];if(!M)continue;let B=M[1],L=M.data?.returnType;if(!L&&M.data?.await===!0)L="void";let V=M.data?.typeParams||"",{params:N,endIdx:C}=X(f,R+2);if(L||N.some((E)=>E.includes(":"))){let E=P?"export ":"",l=Y?"":P?"":"declare ",T=L?`: ${_1(L)}`:"",j=N.join(", ");if(Y)W.push(`${F()}${B}${V}(${j})${T};`);else W.push(`${F()}${E}${l}function ${B}${V}(${j})${T};`)}R=C;continue}if(O==="{"&&Y){let M=R+1,B=1;while(M<f.length&&B>0){let L=f[M];if(L[0]==="{"){B++,M++;continue}if(L[0]==="}"){B--,M++;continue}if(L[0]==="TERMINATOR"){M++;continue}if(L[0]==="PROPERTY"&&B===1){let V=L[1],N=L.data?.returnType;if(M++,f[M]?.[1]===":")M++;let C=[],E=[];if(f[M]?.[0]==="PARAM_START"){let l=X(f,M);C=l.params,E=l.fields,M=l.endIdx+1}if(f[M]?.[0]==="->"||f[M]?.[0]==="=>")M++;if(f[M]?.[0]==="INDENT"){let l=1;M++;while(M<f.length&&l>0){if(f[M][0]==="INDENT")l++;if(f[M][0]==="OUTDENT")l--;M++}}if(N||C.some((l)=>l.includes(":"))){let l=N?`: ${_1(N)}`:"",T=C.join(", ");if(V==="constructor"&&E.length){for(let j of E)if(!Z.has(j.name))W.push(`${F()}${j.name}: ${j.type};`),Z.add(j.name)}W.push(`${F()}${V}(${T})${l};`)}continue}M++}R=M-1;continue}if(O==="INDENT")continue;if(O==="OUTDENT"){if(Y)u--,W.push(`${F()}}`),Y=!1;continue}if(O==="IDENTIFIER"&&!Y&&f[R+1]?.[0]==="="&&(f[R+2]?.[0]==="PARAM_START"||f[R+2]?.[0]==="(")){let M=S[1],B=R+2,{params:L}=X(f,B),V=B,N=0;while(V<f.length){if(f[V][0]==="PARAM_START"||f[V][0]==="(")N++;if(f[V][0]==="PARAM_END"||f[V][0]===")")N--;if(N===0&&(f[V][0]==="->"||f[V][0]==="=>"))break;V++}let C=f[V]?.data?.returnType;if(C||L.some((E)=>E.includes(":"))){let E=P?"export ":"",l=P?"":"declare ",T=C?`: ${_1(C)}`:"",j=L.join(", ");W.push(`${F()}${E}${l}function ${M}(${j})${T};`);continue}}if(O==="IDENTIFIER"&&S.data?.type){let M=S[1],B=_1(S.data.type),L=f[R+1];if(L){let V=P?"export ":"",N=P?"":"declare ";if(L[0]==="READONLY_ASSIGN")W.push(`${F()}${V}${N}const ${M}: ${B};`);else if(L[0]==="REACTIVE_ASSIGN")G=!0,W.push(`${F()}${V}${N}const ${M}: Signal<${B}>;`);else if(L[0]==="COMPUTED_ASSIGN")Q=!0,W.push(`${F()}${V}${N}const ${M}: Computed<${B}>;`);else if(L[0]==="EFFECT")W.push(`${F()}${V}${N}const ${M}: () => void;`);else if(L[0]==="="){let C=R+2;if(f[C]?.[0]==="PARAM_START"){let l=1,T=C+1;while(T<f.length&&l>0){if(f[T][0]==="PARAM_START")l++;if(f[T][0]==="PARAM_END")l--;T++}C=T}let E=f[C];if(E&&(E[0]==="->"||E[0]==="=>")&&E.data?.returnType){let l=_1(E.data.returnType),{params:T}=X(f,R+2),j=T.join(", ");W.push(`${F()}${V}${N}function ${M}(${j}): ${l};`)}else if(Y)W.push(`${F()}${M}: ${B};`),Z.add(M);else W.push(`${F()}${V}let ${M}: ${B};`)}else if(Y)W.push(`${F()}${M}: ${B};`),Z.add(M)}else if(Y)W.push(`${F()}${M}: ${B};`)}}let H=new Set,q=!1;if(U){if(z=J2(U,W,F,u,H,A)||z,H.size>0)for(let S=W.length-1;S>=0;S--){let O=W[S].match(/(?:declare |export )*(?:const|let) (\w+)/);if(O&&H.has(O[1]))W.splice(S,1)}let R=[];if(q=k2(U,R),q){let S=new Set;for(let O of R){let P=O.match(/(?:declare |export )*const (\w+)/);if(P)S.add(P[1])}for(let O=W.length-1;O>=0;O--){let P=W[O].match(/(?:declare |export )*(?:const|let) (\w+)/);if(P&&S.has(P[1]))W.splice(O,1)}W.push(...R)}}if(W.length===0)return null;let I=[];if(z)I.push(...p4);if(/\bARIA\./.test(_))I.push(...n4);if(G)I.push(a4),I.push(o4);if(Q)I.push(r4),I.push(s4);if(G||Q)I.push(t4);if(q)I.push(...m2);if(I.length>0)I.push("");return I.concat(W).join(`
|
|
1266
1300
|
`)+`
|
|
1267
|
-
`}function _1(u){if(!u)return u;return u=u.replace(/::/g,":"),u=u.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),u=u.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),u=u.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),u}function Q2(u,U,_,W,f,$){if(!Array.isArray(u))return!1;let F=u[0]?.valueOf?.()??u[0],Y=!1,Z=new Map,G=(H)=>typeof H==="string"&&/^[a-z]/.test(H),Q=(H)=>{if(!Array.isArray(H))return;let A=H[0]?.valueOf?.()??H[0];if(G(A))for(let J=1;J<H.length;J++){let R=H[J];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="object")continue;for(let P=1;P<R.length;P++){let q=R[P];if(!Array.isArray(q))continue;if((q[0]?.valueOf?.()??q[0])!=="ref")continue;let D=q[1]?.valueOf?.()??q[1];if(typeof D==="string")D=D.replace(/^["']|["']$/g,"");if(typeof D==="string"&&!Z.has(D))Z.set(D,`__RipDomEl<'${A}'> | null`)}}for(let J=1;J<H.length;J++)if(Array.isArray(H[J]))Q(H[J])},z=!1,X=null,w=null,K="";if(F==="export"&&Array.isArray(u[1])){z=!0;let H=u[1];if((H[0]?.valueOf?.()??H[0])==="="&&Array.isArray(H[2])&&(H[2][0]?.valueOf?.()??H[2][0])==="component")K=H[1]?.typeParams||"",X=H[1]?.valueOf?.()??H[1],w=H[2]}else if(F==="="&&Array.isArray(u[2])&&(u[2][0]?.valueOf?.()??u[2][0])==="component")K=u[1]?.typeParams||"",X=u[1]?.valueOf?.()??u[1],w=u[2];if(X&&w){let H=z?"export ":"",A=w[1]?.valueOf?.()??null,J=A?`__RipProps<'${A}'>`:null;if(J)Y=!0;let R=w[2],O=Array.isArray(R)&&(R[0]?.valueOf?.()??R[0])==="block"?R.slice(1):R?[R]:[],P=[],q=[],B=!1,D=(I)=>{let M=I?.valueOf?.()??I;if(typeof M!=="string")return null;if(M==="true"||M==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(M))return"number";if(M.startsWith('"')||M.startsWith("'"))return"string";return null};for(let I of O){if(!Array.isArray(I))continue;let M=I[0]?.valueOf?.()??I[0],S,N,V,L,C;if(M==="state"||M==="readonly"||M==="computed"){if(S=I[1],V=Array.isArray(S)&&(S[0]?.valueOf?.()??S[0])==="."&&(S[1]?.valueOf?.()??S[1])==="this",N=V?S[2]?.valueOf?.()??S[2]:S?.valueOf?.()??S,L=V?S[2]?.type:S?.type,C=!0,!V){f.add(N);let T=M==="computed"?"Computed":"Signal",j=L?_1(L):D(I[2])||"any";q.push(` ${N}: ${T}<${j}>;`);continue}}else if(M==="."){if(V=(I[1]?.valueOf?.()??I[1])==="this",N=V?I[2]?.valueOf?.()??I[2]:null,L=V?I[2]?.type:null,C=!1,!V&&N)f.add(N)}else if(M==="object"){for(let T=1;T<I.length;T++){let j=I[T];if(!Array.isArray(j)||j.length<3)continue;let y=j[1]?.valueOf?.()??j[1],m=j[2];if(!Array.isArray(m))continue;let t=m[0]?.valueOf?.()??m[0];if(t!=="->"&&t!=="=>")continue;let $1=m[1];if(!Array.isArray($1))continue;if(!$1.some((x)=>x?.type))continue;let g=[];for(let x of $1){let l=x?.valueOf?.()??x,e=x?.type?_1(x.type):"any";g.push(`${l}: ${e}`)}q.push(` ${y}(${g.join(", ")}): void;`)}continue}else if(M==="render"){Y=!0,Q(I[1]);continue}else continue;if(!V||!N)continue;let E=L?_1(L):"any",n=C?"?":"";if(!C)B=!0;if(P.push(` ${N}${n}: ${E};`),M==="state")P.push(` __bind_${N}__?: Signal<${E}>;`)}if(U.push(`${H}declare class ${X}${K} {`),P.length>0||J){let I=B?"":"?";if(P.length>0){U.push(` constructor(props${I}: {`);for(let M of P)U.push(M);U.push(J?` } & ${J});`:" });")}else U.push(` constructor(props${I}: ${J});`)}else U.push(" constructor(props?: {});");for(let[I,M]of Z)q.push(` ${I}: ${M};`);for(let I of q)U.push(I);U.push("}")}if(F==="program"||F==="block"){for(let H=1;H<u.length;H++)if(Array.isArray(u[H]))Y=Q2(u[H],U,_,W,f,$)||Y}if(F==="export"&&Array.isArray(u[1])&&!w)Y=Q2(u[1],U,_,W,f,$)||Y;return Y}function d2(u,U,_){let[W,f]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(f)){let G=f[0]==="block"?f.slice(1):[f];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],X=Q[2]?.valueOf?.()??Q[2];F.push([z,X])}}}if(F.length===0)return`const ${$} = {}`;let Y=F.map(([G,Q])=>`${G}: ${Q}`).join(", "),Z=F.map(([G,Q])=>`${Q}: "${G}"`).join(", ");return`const ${$} = {${Y}, ${Z}}`}var p2=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"]),n2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),X2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},o2=new Set(Object.keys(X2)),t4=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),e4=new Set(["break","continue","debugger"]),u5=new Set(["NEW","TYPEOF","DELETE"]),f5=new Set(["IN","OF","INSTANCEOF"]),a1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),w2=new Set([...a1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),o1=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","--","++","SYMBOL"]),$5=new Set(["+","-"]),U5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),W5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),H1=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"]),_5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},a2=new Set(["CATCH","THEN","ELSE","FINALLY",...A1]),J2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Y5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),F5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),r2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Z5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),L1=new Set(["INDENT","OUTDENT","TERMINATOR"]),s2=new Set([".","?."]),t2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),G5=new Set([...w2,"++","--"]),e2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),Q5=new Set(["*","/","%","//","%%"]),z5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),J5=new Set(["<<",">>",">>>"]),X5=new Set(["!","~"]),w5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,A5=/^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,K5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,D5=/^[^\n\S]+/,M5=/^(?:\n[^\n\S]*)+/,H5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,O5=/^[-=]>/,q5=/^(?:~[=>]|=!)/,R5=/^(?:'''\\|"""\\|'''|"""|'|")/,P5=/^(?:[^\\']|\\[\s\S])*/,B5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,I5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,S5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,u3=/\n+([^\n\S]*)(?=\S)/g,N5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,f3=/^\w*/,E5=/^(?!.*(.).*\1)[gimsuy]*$/,L5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,V5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,C5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,T5=/\s+$/,$3=/^\s*(?:,|\??\.(?![.\d]))/,j5=65279;function r1(u,U,{pre:_=0,row:W=0,col:f=0,len:$=0,data:F=null}={}){let Y=[u,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:f,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function J1(u,U,_){let W=r1(u,U);if(W.generated=!0,_)W.origin=_;return W}function X1(u,{row:U=0,col:_=0,len:W=1}={}){let f=SyntaxError(u);throw f.location={first_line:U,first_column:_,last_column:_+W-1},f}function b5(u){if(u==null)return NaN;switch(u.charAt(1)){case"b":return parseInt(u.slice(2).replace(/_/g,""),2);case"o":return parseInt(u.slice(2).replace(/_/g,""),8);case"x":return parseInt(u.slice(2).replace(/_/g,""),16);default:return parseFloat(u.replace(/_/g,""))}}class K1{tokenize(u,U={}){this.code=u,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=U.row||0,this.col=U.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,u=this.clean(u),this.code=u;while(this.pos<u.length){this.chunk=u.slice(this.pos);let _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)X1(`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 _=this.ends[this.ends.length-1];X1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(U.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(u){if(u.charCodeAt(0)===j5)u=u.slice(1);if(u=u.replace(/\r\n?/g,`
|
|
1268
|
-
`),
|
|
1269
|
-
`+
|
|
1270
|
-
`)this.row++,this.col=0;else this.col++;this.pos+=
|
|
1271
|
-
`)return 0;let U=this.prev();if(U)if(
|
|
1272
|
-
`);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!
|
|
1273
|
-
`,{len:0})}isUnfinished(){if(this.inRenderBlock
|
|
1274
|
-
`)
|
|
1275
|
-
`)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===u.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(f)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(u.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let u=A5.exec(this.chunk);if(!u)return 0;let U=u[0],_=U.length,W={row:this.row,col:this.col};if(/^0[BOX]/.test(U))X1(`radix prefix in '${U}' must be lowercase`,{...W,col:W.col+1});if(/^0\d*[89]/.test(U))X1(`decimal literal '${U}' must not be prefixed with '0'`,{...W,len:_});if(/^0\d+/.test(U))X1(`octal literal '${U}' must be prefixed with '0o'`,{...W,len:_});let f=b5(U),$=f===1/0?"INFINITY":"NUMBER",F={parsedValue:f};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let u=this.matchWithInterpolations(L5,"///");if(u){let{tokens:G,index:Q}=u,[z]=f3.exec(this.chunk.slice(Q)),X=Q+z.length;if(G.length===1||!G.some((w)=>w[0]==="TOKENS")){let w=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${w}/${z}`,{len:X,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(G,{quote:"///",endOffset:X-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 X}let U=N5.exec(this.chunk);if(!U)return 0;let[_,W,f]=U,$=this.prev();if($){if($.spaced&&a1.has($[0])&&(!f||/^\/=?\s/.test(_)))return 0;if(G5.has($[0])&&!($.spaced&&a1.has($[0])))return 0}if(!f)X1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=_.length,[Y]=f3.exec(this.chunk.slice(F)),Z=F+Y.length;if(!E5.test(Y))X1(`invalid regular expression flags ${Y}`,{row:this.row,col:this.col+F,len:Y.length});return this.emit("REGEX",`/${W}/${Y}`,{len:Z,data:{delimiter:"/"}}),Z}jsToken(){if(this.chunk[0]!=="`")return 0;let u=C5.exec(this.chunk)||V5.exec(this.chunk);if(!u)return 0;let U=u[1],_=u[0].length;return this.emit("JS",U,{len:_,data:{here:u[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let u=this.chunk[2];if(!u||/\s/.test(u))return 0;let _={"[":"]","(":")","{":"}","<":">"}[u]||u,W=_!==u,f=1,$=3;while($<this.chunk.length&&f>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(W&&G===u)f++;if(G===_)f--;if(f>0)$++}if(f!==0)return 0;let F=this.chunk.slice(3,$),Y=$+1,Z=[];if(F.trim()){let G=F.trim().split(/(?<!\\)\s+/);for(let Q of G)Z.push(Q.replace(/\\ /g," "))}this.emit("[","[",{len:Y});for(let G=0;G<Z.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${Z[G]}"`)}return this.emit("]","]"),Y}symbolToken(){if(this.chunk[0]!==":")return 0;let u=this.chunk[1];if(!u||u==="="||u===":"||/\s/.test(u))return 0;if(!/[a-zA-Z_$]/.test(u))return 0;let U=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!U)return 0;let _=U[1],W=_.length+1;return this.emit("SYMBOL",_,{len:W}),W}literalToken(){let u=this.wordLiteral();if(u)return u;let U=this.symbolToken();if(U)return U;let _=K5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),f=W,$=this.prev();if(O5.test(W))this.tagParameters();if(W==="="&&$&&$[1]==="."&&!$.spaced){let F=this.tokens,Y=F.length-2;while(Y>=1&&F[Y][0]==="PROPERTY"&&F[Y-1]?.[1]===".")Y-=2;if(Y>=0&&(F[Y][0]==="IDENTIFIER"||F[Y][0]===")"||F[Y][0]==="]")){let Z=F.slice(Y,F.length-1);$[0]="=",$[1]="=";for(let G of Z)this.tokens.push(r1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(r1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||e2.has(W))){if(W==="="&&($[1]==="||"||$[1]==="&&"||$[1]==="??")&&!$.spaced)return $[0]="COMPOUND_ASSIGN",$[1]+="=",W.length}if(W==="("&&$?.[0]==="IMPORT")$[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&$?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,f="TERMINATOR";else if(W==="|>")f="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")f="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")f="COMPUTED_ASSIGN";else if(W===":=")f="REACTIVE_ASSIGN";else if(W==="<=>")f="BIND";else if(W==="~>")f="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")f="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(W==="*>"&&(!$||$[0]==="TERMINATOR"||$[0]==="INDENT"||$[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let F=this.chunk.slice(2),Y=/^@(\s*)=(?!=)/.exec(F);if(Y){let G=Y[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Q=this.emit("PROPERTY","assign");return Q.spaced=!0,this.emit("@","@"),this.emit(",",","),3+G.length+1}let Z=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(F);if(Z){let G=Z[1],Q=Z[2],z=G[0]==="@",X=z?G.slice(1):G,w=X?X.split("."):[],K=()=>{if(z){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let A=1;A<w.length;A++)this.emit(".","."),this.emit("PROPERTY",w[A])};K(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),K(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let H=this.prev();return H.mergeClose=!0,2+G.length+Q.length+1}}else if(W==="*"&&$?.[0]==="EXPORT")f="EXPORT_ALL";else if(Q5.has(W))f="MATH";else if(z5.has(W))f="COMPARE";else if(e2.has(W))f="COMPOUND_ASSIGN";else if(X5.has(W))f="UNARY_MATH";else if(J5.has(W))f="SHIFT";else if(W==="?"&&$?.spaced)f="TERNARY";else if(W==="?!"&&$&&!$.spaced)f="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))f="?.";else if($){if(W==="("&&!$.spaced&&a1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";f="CALL_START"}if(W==="["&&!$.spaced&&w2.has($[0])){if(f="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||f==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:_5[W],origin:[f,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(f,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let u=this.tokens.length-1,U=[];this.tokens[u][0]="PARAM_END";while(u-- >0){let _=this.tokens[u];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(u-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(u){let U=this.tokens[u??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(u){return this.tokens=u,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let u=0;while(this.tokens[u]?.[0]==="TERMINATOR")u++;if(u>0)this.tokens.splice(0,u)}rewriteMapLiterals(){let u=this.tokens;for(let U=0;U<u.length;U++){if(u[U][0]!=="MATH"||u[U][1]!=="*")continue;let _=u[U+1];if(!_||_[0]!=="{")continue;if(u[U].spaced||u[U].newLine)continue;let W=u[U-1];if(W&&w2.has(W[0]))continue;u.splice(U,1),u[U][0]="MAP_START";let f=1;for(let $=U+1;$<u.length&&f>0;$++){let F=u[$][0];if(F==="{"||F==="MAP_START")f++;if(F==="}"){if(f--,f===0)u[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((u,U)=>{if(u[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((u,U)=>{if(u[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")u[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let u=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&Z5.has($[0])&&!($[0]==="TERMINATOR"&&a2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&u!=="THEN")||$[0]==="INDENT"&&!$.generated&&(u==="->"||u==="=>")||$[0]===","&&(u==="->"||u==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||s2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},f=($,F)=>{let Y=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(Y,0,_)};this.scanTokens(($,F,Y)=>{let[Z]=$;if(Z==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return Y.splice(F,1,...this.makeIndentation()),1;if(a2.has(this.tokens[F+1]?.[0]))return Y.splice(F,1),0}if(Z==="CATCH")for(let G=1;G<=2;G++){let Q=this.tokens[F+G]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return Y.splice(F+G,0,...this.makeIndentation()),2+G}if((Z==="->"||Z==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[U,_]=this.makeIndentation(),Y.splice(F+1,0,U,_),1;if(r2.has(Z)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(Z==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(u=Z,[U,_]=this.makeIndentation(),Z==="THEN")U.fromThen=!0;if(Y.splice(F+1,0,U),Z==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,W,f);else this.detectEnd(F+2,W,f);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(u){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=u-1;_>=0;_--){let W=this.tokens[_],f=W?.[0];if(U.has(f))return f;if(L1.has(f)||W?.newLine)return null}return null}detectWhenThenEnd(u,U,_){let W=0,f=0;while(u<this.tokens.length){let $=this.tokens[u],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(u)!=="LEADING_WHEN")f++;else if(F==="ELSE"&&f>0)f--;else if(U.call(this,$,u))return _.call(this,$,u)}if(H1.has(F))W++;if(A1.has(F))W--;if(W<0)return _.call(this,$,u);u++}}tagPostfixConditionals(){let u=null,U=(W,f)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!r2.has(this.tokens[f-1]?.[0])},_=(W)=>{if(W[0]!=="INDENT"||W.generated&&!W.fromThen)u[0]="POST_"+u[0]};this.scanTokens((W,f)=>{if(W[0]!=="IF"&&W[0]!=="UNLESS")return 1;if(this.tokens[f-1]?.[0]==="INTERPOLATION_START")return 1;return u=W,this.detectEnd(f+1,U,_),1})}rewriteTaggedTemplates(){let u=this.tokens;for(let U=u.length-2;U>=0;U--)if(u[U][0]==="IDENTIFIER"&&u[U][1]==="$"&&(u[U+1]?.[0]==="STRING"||u[U+1]?.[0]==="STRING_START")){let _=u[U-1];if(_&&Y5.has(_[0])){if(u.splice(U,1),_.spaced=!1,u[U].spaced=!1,u[U].pre=0,u[U].newLine)u[U].newLine=!1}}}addImplicitBracesAndParens(){let u=[],U=!1;this.scanTokens((_,W,f)=>{let[$]=_,F=f[W-1]||[],Y=f[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(D)=>W-Q+D,X=()=>u[u.length-1],w=(D)=>D?.[2]?.ours,K=()=>w(X())&&X()?.[0]==="(",H=()=>w(X())&&X()?.[0]==="{",A=(D)=>{u.push(["(",D,{ours:!0}]),f.splice(D,0,J1("CALL_START","("))},J=()=>{u.pop(),f.splice(W,0,J1("CALL_END",")")),W+=1},R=(D,I={})=>{u.push(["{",D,{sameLine:!0,startsLine:I.startsLine??!0,ours:!0}]);let M=J1("{","{");if(!M.data)M.data={};M.data.generated=!0,f.splice(D,0,M)},O=(D)=>{D=D??W,u.pop(),f.splice(D,0,J1("}","}")),W+=1};if((K()||H())&&F5.has($))return u.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&w(X())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||H()&&Z!==":")if(K())J();else O();if(X()?.[2]?.ours&&X()[0]==="CONTROL")u.pop();return u.push([$,W]),z(1)}if(H1.has($))return u.push([$,W]),z(1);if(A1.has($)){while(w(X()))if(K())J();else if(H())O();else u.pop();u.pop()}if(J2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(f[W+2]?.[0])||$5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return A(W+1),z(2);if(J2.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 A(W+1),u.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(f[W-1]?.[0]==="PROPERTY"&&f[W-2]?.[0]==="."){let M=W-2;while(M>=2&&f[M]?.[0]==="."&&(f[M-1]?.[0]==="PROPERTY"||f[M-1]?.[0]==="IDENTIFIER"))M-=2;if(M+=1,f[M]?.[0]==="IDENTIFIER"||f[M]?.[0]==="PROPERTY"){let S=[];for(let V=M;V<W;V+=2)S.push(f[V][1]);let N=J1("STRING",`"${S.join(".")}"`,f[M]);N.pre=f[M].pre,N.spaced=f[M].spaced,N.newLine=f[M].newLine,N.loc=f[M].loc,f.splice(M,W-M,N),W=M+1}}let D=A1.has(this.tokens[W-1]?.[0])?u[u.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")D=W-2;let I=D<=0||L1.has(this.tokens[D-1]?.[0])||this.tokens[D-1]?.newLine;if(X()){let[M,S]=X(),N=u[u.length-2],V=(L)=>L==="{"||L==="MAP_START";if((V(M)||M==="INDENT"&&V(N?.[0])&&!w(N))&&(I||this.tokens[D-1]?.[0]===","||V(this.tokens[D-1]?.[0])||V(this.tokens[D]?.[0])))return z(1)}return R(D,{startsLine:!!I}),z(2)}if(L1.has($))for(let D=u.length-1;D>=0;D--){if(!w(u[D]))break;if(u[D][0]==="{")u[D][2].sameLine=!1}let P=Z==="OUTDENT"||F.newLine,q=$==="||"||$==="&&",B=!1;if(q){let D=W+1,I=f[D]?.[0];if(I==="("||I==="["||I==="{"){for(let M=1;++D<f.length&&M>0;)if(I=f[D][0],I==="("||I==="["||I==="{")M++;else if(I===")"||I==="]"||I==="}")M--}else if(I&&I!=="TERMINATOR"&&I!=="OUTDENT"&&I!==",")D++;B=f[D]?.[0]===","}if(U5.has($)&&!B||s2.has($)&&P)while(w(X())){let[D,,{sameLine:I,startsLine:M}]=X();if(K()&&Z!==",")J();else if(H()&&!q&&I&&$!=="TERMINATOR"&&Z!==":")O();else if(H()&&$==="TERMINATOR"&&Z!==","&&!(M&&this.looksObjectish(W+1)))O();else if(X()?.[2]?.ours&&X()[0]==="CONTROL"&&f[X()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")u.pop();else break}if($===","&&!this.looksObjectish(W+1)&&H()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let D=G==="OUTDENT"?1:0;while(H())O(W+D)}return z(1)})}addImplicitCallCommas(){let u=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],f=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")u++;if(W==="CALL_END"||W===")")u--;if(u>0&&(W==="->"||W==="=>")&&W5.has(f))_.splice(U,0,J1(",",",")),U++;U++}}scanTokens(u){let U=0;while(U<this.tokens.length)U+=u.call(this,this.tokens[U],U,this.tokens)}detectEnd(u,U,_,W={}){let f=0;while(u<this.tokens.length){let $=this.tokens[u];if(f===0&&U.call(this,$,u))return _.call(this,$,u);if(H1.has($[0]))f++;if(A1.has($[0]))f--;if(f<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,u)}u++}}closeMergeAssignments(){let u=this.tokens;for(let U=0;U<u.length;U++){if(!u[U].mergeClose)continue;let _=0;for(let W=U+1;W<u.length;W++){let f=u[W][0];if(f==="("||f==="["||f==="{"||f==="CALL_START"||f==="INDEX_START"||f==="INDENT")_++;if(f===")"||f==="]"||f==="}"||f==="CALL_END"||f==="INDEX_END"||f==="OUTDENT")_--;if(_<0||_===0&&f==="TERMINATOR"){u.splice(W,0,J1("CALL_END",")",u[W-1]));break}if(W===u.length-1){u.splice(W+1,0,J1("CALL_END",")",u[W]));break}}}}commaInImplicitCall(u){let U=0;for(let _=u-1;_>=0;_--){let W=this.tokens[_][0];if(A1.has(W)){U++;continue}if(H1.has(W)){if(W==="INDENT")return!1;if(U--,U<0)return!1;continue}if(U>0)continue;if(J2.has(W)&&this.tokens[_].spaced){let f=this.tokens[_+1]?.[0];return o1.has(f)||f==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(u){let U=0;for(let _=u-1;_>=0;_--){let W=this.tokens[_][0];if(A1.has(W)){U++;continue}if(H1.has(W)){if(U--,U<0)return!1;continue}if(U>0)continue;if(W===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(u+1);if(L1.has(W))return!1}return!1}looksObjectish(u){if(!this.tokens[u])return!1;if(this.tokens[u]?.[0]==="@"&&this.tokens[u+2]?.[0]===":")return!0;if(this.tokens[u+1]?.[0]===":")return!0;if((this.tokens[u]?.[0]==="IDENTIFIER"||this.tokens[u]?.[0]==="PROPERTY")&&this.tokens[u+1]?.[0]==="."){let U=u+2;while(this.tokens[U]?.[0]==="PROPERTY"&&this.tokens[U+1]?.[0]===".")U+=2;if(this.tokens[U]?.[0]==="PROPERTY"&&this.tokens[U+1]?.[0]===":")return!0}if(H1.has(this.tokens[u]?.[0])){let U=null;if(this.detectEnd(u+1,(_)=>A1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(u,U){let _=new Set(U),W=[];while(u>=0){let f=this.tokens[u]?.[0];if(!W.length&&_.has(f))return!0;if(A1.has(f))W.push(f);if(H1.has(f)&&W.length)W.pop();if(!W.length&&(H1.has(f)&&!this.tokens[u]?.generated||L1.has(f)))break;u--}return!1}makeIndentation(u){let U=J1("INDENT",2),_=J1("OUTDENT",2);if(u)U.generated=_.generated=!0,U.origin=_.origin=u;else U.explicit=_.explicit=!0;return[U,_]}}i2(K1);n1(K1);var h5=["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"],U3=new Set(h5);var y5=["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 v5=["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"],g5=["math","param","portal"],W3=new Set([...y5,...g5]),O1=new Set(v5),q1=new Set([...W3,...O1]);var _3="__bind_",Y3="__",A2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),c5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),K2="http://www.w3.org/2000/svg";function x5(u){for(let U of u){if(!Array.isArray(U))continue;let _=U[1]instanceof String?U[1].valueOf():U[1],W=U[2]instanceof String?U[2].valueOf():U[2];if(_==="type"&&typeof W==="string")return W.replace(/^["']|["']$/g,"")}return null}function R1(u){if(typeof u==="string"||u instanceof String)return u.valueOf();if(Array.isArray(u)&&u[0]==="."&&u[1]==="this"&&(typeof u[2]==="string"||u[2]instanceof String))return u[2].valueOf();return null}function D2(u){return Array.isArray(u)&&u[0]==="."&&u[1]==="this"}function M2(u){if(u instanceof String&&u.type)return u.type;if(Array.isArray(u)&&u[2]instanceof String&&u[2].type)return u[2].type;return null}function F3(u,U){let _=(Y,Z)=>Y instanceof String?Y[Z]:void 0,W=U.prototype.classifyKeyword;U.prototype.classifyKeyword=function(Y,Z,G){if(Y==="offer"||Y==="accept"){let Q=0;for(let z=this.tokens.length-1;z>=0;z--){let X=this.tokens[z][0];if(X==="OUTDENT")Q++;else if(X==="INDENT")Q--;if(Q<0&&this.tokens[z-1]?.[0]==="COMPONENT")return Y.toUpperCase()}return Z}return W.call(this,Y,Z,G)},U.prototype.rewriteRender=function(){let Y=(J,R,O)=>{let P=[J,R];if(P.pre=0,P.data=null,P.loc=O?.loc??{r:0,c:0,n:0},P.spaced=!1,P.newLine=!1,P.generated=!0,O)P.origin=O;return P},Z=!1,G=0,Q=0,z=[],X=(J)=>{let R=J.split("#")[0];return q1.has(R)},w=(J)=>{if(!J||typeof J!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(J)},K=(J)=>{return X(J)||w(J)},H=(J,R,O,P)=>{let q=1,B=R;while(B>=0&&q>0){let D=J[B][0];if(D===O)q++;else if(D===P)q--;if(q>0)B--}return B},A=(J,R)=>{let O=R;while(O>0){let P=J[O-1][0];if(P==="TERMINATOR"||P==="RENDER")break;if(P==="INDENT"||P==="OUTDENT"){let q=J[O][0];if(q==="CALL_END"||q===")"){O=H(J,O-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(P==="CALL_END"||P===")"){O=H(J,O-2,P,P==="CALL_END"?"CALL_START":"(");continue}if(P==="INTERPOLATION_END"){O=H(J,O-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(P==="STRING_END"){O=H(J,O-2,"STRING_END","STRING_START");continue}O--}return J[O]&&J[O][0]==="IDENTIFIER"&&(K(J[O][1])||(O===0||J[O-1][0]==="INDENT"||J[O-1][0]==="TERMINATOR"||J[O-1][0]==="RENDER"))};this.scanTokens(function(J,R,O){let P=J[0],q=R<O.length-1?O[R+1]:null;if(P==="RENDER")return Z=!0,G=Q+1,1;if(P==="INDENT")return Q++,1;if(P==="OUTDENT"){Q--;let B=0;while(z.length>0&&z[z.length-1]>Q){let D=Y("CALL_END",")",J);O.splice(R+1+B,0,D),z.pop(),B++}if(Z&&Q<G)Z=!1;return 1+B}if(!Z)return 1;if(P==="="&&R>0){let B=O[R-1][0];if(B==="TERMINATOR"||B==="INDENT"||B==="RENDER"){let D=Y("IDENTIFIER","__text__",J),I=Y("CALL_START","(",J);return O.splice(R,1,D,I),this.detectEnd(R+2,(M)=>M[0]==="TERMINATOR"||M[0]==="OUTDENT",(M,S)=>O.splice(S,0,Y("CALL_END",")",M)),{returnOnNegativeLevel:!0}),2}}if(P==="UNARY_MATH"&&J[1]==="~"&&q&&q[0]==="IDENTIFIER"){J[0]="PROPERTY",J[1]="__transition__";let B=Y(":",":",J),D=Y("STRING",`"${q[1]}"`,q);return O.splice(R+1,1,B,D),1}if(P==="PROPERTY"&&J[1][0]==="$"&&J[1].length>1)return J[0]="STRING",J[1]=`"data-${J[1].slice(1)}"`,1;if(P==="IDENTIFIER"&&!J.spaced){let B=[J[1]],D=R+1;while(D+1<O.length){let I=O[D],M=O[D+1];if(I[0]==="-"&&!I.spaced&&(M[0]==="IDENTIFIER"||M[0]==="PROPERTY")){if(B.push(M[1]),D+=2,M[0]==="PROPERTY")break}else break}if(B.length>1&&D>R+1&&O[D-1][0]==="PROPERTY"){let I=B.join("-");if(I[0]==="$")I="data-"+I.slice(1);return J[0]="STRING",J[1]=`"${I}"`,O.splice(R+1,D-R-1),1}}if(P==="."){let B=R>0?O[R-1]:null,D=B?B[0]:null;if(D==="INDENT"||D==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let I=R+2<O.length?O[R+2]:null;if(!I||I[0]!==":"){let M=Y("IDENTIFIER","div",J);return O.splice(R,0,M),2}}if(!q||q[0]!=="(")return J[0]="IDENTIFIER",J[1]="div",0}}if(P==="IDENTIFIER"||P==="PROPERTY"){let B=O[R+1],D=O[R+2];if(B&&B[0]==="#"&&D&&(D[0]==="PROPERTY"||D[0]==="IDENTIFIER")){if(J[1]=J[1]+"#"+D[1],D.spaced)J.spaced=!0;return O.splice(R+1,2),0}}if(P==="BIND"){let B=R>0?O[R-1]:null,D=O[R+1];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")&&D&&D[0]==="IDENTIFIER")return B[1]=`__bind_${B[1]}__`,J[0]=":",J[1]=":",1}if(P==="@"){let B=R+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>R+2&&B<O.length&&O[B][0]===":"){let D=Y("[","[",J);O.splice(R,0,D);let I=Y("]","]",O[B+1]);return O.splice(B+1,0,I),2}}}if(P==="."&&q&&q[0]==="("){let B=R>0?O[R-1]:null,D=B?B[0]:null,I=D==="INDENT"||D==="TERMINATOR",M=Y("PROPERTY","__clsx",J);q[0]="CALL_START";let S=1;for(let N=R+2;N<O.length&&S>0;N++)if(O[N][0]==="("||O[N][0]==="CALL_START")S++;else if(O[N][0]===")"){if(S--,S===0)O[N][0]="CALL_END"}else if(O[N][0]==="CALL_END")S--;if(I){let N=Y("IDENTIFIER","div",J);return O.splice(R,0,N),O.splice(R+2,0,M),3}else if(D===":")return O[R]=Y("IDENTIFIER","__clsx",J),1;else return O.splice(R+1,0,M),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(P==="->"||P==="=>"||P==="CALL_START"||P==="(")return 1;let B=!1,D=R>0?O[R-1][0]:null,I=D==="IF"||D==="UNLESS"||D==="WHILE"||D==="UNTIL"||D==="WHEN"||D==="FORIN"||D==="FOROF"||D==="FORAS"||D==="FORASAWAIT"||D==="BY",M=!1;if(P==="CALL_END"){let N=1;for(let V=R-1;V>=0&&N>0;V--)if(O[V][0]==="CALL_END")N++;else if(O[V][0]==="CALL_START"){if(N--,N===0&&V>0&&O[V-1][0]==="PROPERTY"&&O[V-1][1]==="__clsx")M=!0}}let S=P==="IDENTIFIER"&&(D==="INDENT"||D==="TERMINATOR"||D==="RENDER");if(M)B=!0;else if(P==="IDENTIFIER"&&K(J[1])&&!I)B=!0;else if(P==="IDENTIFIER"&&!I)B=S||A(O,R);else if(P==="PROPERTY"||P==="STRING"||P==="STRING_END"||P==="NUMBER"||P==="BOOL"||P==="CALL_END"||P===")"||P==="PRESENCE")B=A(O,R);if(B){let N=!1;if(P==="PROPERTY"&&R>0&&O[R-1][0]==="."){let L=R;while(L>=2&&O[L-1][0]==="."&&O[L-2][0]==="PROPERTY")L-=2;if(L>=2&&O[L-1][0]==="."&&O[L-2][0]==="IDENTIFIER"&&K(O[L-2][1])){let C=L>=3?O[L-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")N=!0}}if(M||P==="IDENTIFIER"&&(K(J[1])||S)||N){let L=Y("CALL_START","(",J),C=Y("->","->",J);return C.newLine=!0,O.splice(R+1,0,L,C),z.push(Q+1),3}else{let L=Y(",",",",J),C=Y("->","->",J);return C.newLine=!0,O.splice(R+1,0,L,C),3}}}if(P==="IDENTIFIER"&&w(J[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return O.splice(R+1,0,Y("CALL_START","(",J),Y("CALL_END",")",J)),3;return 1})};let f=u.prototype;f.isHtmlTag=function(Y){let Z=Y.split("#")[0];return q1.has(Z.toLowerCase())},f.isComponent=function(Y){if(!Y||typeof Y!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(Y)},f.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let w=G[2];if(typeof w==="string"||w instanceof String)Z.unshift(w.valueOf());G=G[1]}let Q=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Q===null)return{tag:null,classes:Z,id:void 0,base:G};let[z,X]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:X,base:G}};let $=(Y)=>typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null,F=(Y,Z)=>{if(!(Y instanceof String))return Z;let G=new String(Z);if(Y.predicate)G.predicate=!0;if(Y.await)G.await=!0;return G.predicate||G.await?G:Z};f.transformComponentMembers=function(Y,Z=new Set){let G=this._self;if(!Array.isArray(Y)){let Q=$(Y);if(Q&&Z.has(Q))return Y;if(Q&&this.reactiveMembers&&this.reactiveMembers.has(Q))return[".",[".",G,Q],F(Y,"value")];if(Q&&this.componentMembers&&this.componentMembers.has(Q))return[".",G,F(Y,Q)];return Y}if(Y[0]==="."&&Y[1]==="this"&&$(Y[2])!=null){let Q=Y[2],z=$(Q);if(this.reactiveMembers&&this.reactiveMembers.has(z))return[".",[".",G,z],F(Q,"value")];return this._factoryMode?[".",G,Q]:Y}if(Y[0]==="."||Y[0]==="?.")return[Y[0],this.transformComponentMembers(Y[1]),Y[2]];if(Y[0]==="->"){let Q=Y[1],z=new Set(Z);if(Array.isArray(Q))for(let X of Q){let w=$(Array.isArray(X)&&X[0]==="default"?X[1]:X);if(w)z.add(w)}return["=>",Y[1],this.transformComponentMembers(Y[2],z)]}if(Y[0]==="object"||Y[0]==="map-literal")return[Y[0],...Y.slice(1).map((Q)=>{if(Array.isArray(Q)&&Q[0]==="...")return["...",this.transformComponentMembers(Q[1],Z)];if(Array.isArray(Q)&&Q.length>=2){let z=Q[1],X=Array.isArray(z)?this.transformComponentMembers(z,Z):z,w=this.transformComponentMembers(Q[2],Z);return[Q[0],X,w]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let X=1;X<Y.length;X++){let w=Y[X];if(Array.isArray(w)&&w[0]==="="){let K=$(w[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",w[1],this.transformComponentMembers(w[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(w,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},f.emitComponent=function(Y,Z,G,Q){let[,z]=Z,X=this.is(z,"block")?z.slice(1):[],w=[],K=[],H=[],A=[],J=[],R=[],O=[],P=[],q=null,B=new Set,D=new Set;for(let T of X){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let y=R1(T[1]);if(y)O.push(y)}if(j==="accept"){let y=typeof T[1]==="string"?T[1]:R1(T[1]);if(y)P.push(y),B.add(y),D.add(y)}else if(j==="."&&T[1]==="this"&&R1(T)){let y=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(y)w.push({name:y,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),B.add(y),D.add(y)}else if(j==="state"){let y=R1(T[1]);if(y)w.push({name:y,value:T[2],isPublic:D2(T[1]),type:M2(T[1])}),B.add(y),D.add(y)}else if(j==="computed"){let y=R1(T[1]);if(y)K.push({name:y,expr:T[2],type:M2(T[1])}),B.add(y),D.add(y)}else if(j==="readonly"){let y=R1(T[1]);if(y)H.push({name:y,value:T[2],isPublic:D2(T[1]),type:M2(T[1])}),B.add(y)}else if(j==="="){let y=R1(T[1]);if(y)if(A2.has(y))J.push({name:y,value:T[2]});else{let m=T[2];if(Array.isArray(m)&&(m[0]==="->"||m[0]==="=>"))A.push({name:y,func:m}),B.add(y);else w.push({name:y,value:m,isPublic:D2(T[1])}),B.add(y),D.add(y)}}else if(j==="effect")R.push(T);else if(j==="render")q=T;else if(j==="object")for(let y=1;y<T.length;y++){let m=T[y];if(!Array.isArray(m))continue;let[,t,$1]=m;if(typeof t==="string"&&A2.has(t))J.push({name:t,value:$1});else if(typeof t==="string")A.push({name:t,func:$1}),B.add(t)}}let I=new Map;for(let{name:T}of A)if(/^on[A-Z]/.test(T)&&!A2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if(U3.has(j))I.set(j,T)}let M=Z[0]?.valueOf?.()??null,S=new Set;for(let{name:T,isPublic:j}of w)if(j)S.add(T);for(let{name:T,isPublic:j}of H)if(j)S.add(T);let N=this.componentMembers,V=this.reactiveMembers,L=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=B,this.reactiveMembers=D,this._autoEventHandlers=I.size>0?I:null,this._inheritsTag=M||null,this.options.stubComponents){let T=(b)=>b?b.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],y=this._componentTypeParams||"";j.push(`class ${y}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let m=[];for(let{name:b,type:g,isPublic:x,required:l}of w){if(!x)continue;let e=T(g),u1=l?"":"?";m.push(`${b}${u1}: ${e||"any"}`),m.push(`__bind_${b}__?: Signal<${e||"any"}>`)}for(let{name:b,type:g,isPublic:x}of H){if(!x)continue;let l=T(g);m.push(`${b}?: ${l||"any"}`)}{let g=m.length>0&&w.some((l)=>l.isPublic&&l.required)?"":"?",x=m.length>0?`{${m.join("; ")}}`:"{}";if(M)x+=` & __RipProps<'${M}'>`;j.push(` constructor(_props${g}: ${x}) {}`)}let t=(b)=>{let g=b?.valueOf?.()??b;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:b,type:g,value:x}of w){let l=T(g)||t(x);j.push(l?` declare ${b}: Signal<${l}>;`:` declare ${b}: Signal<any>;`)}for(let{name:b,type:g,value:x}of H){let l=T(g)||t(x);j.push(l?` declare ${b}: ${l};`:` declare ${b}: any;`)}for(let{name:b,expr:g,type:x}of K){let l=T(x),e=l?`: Computed<${l}>`:"";if(this.is(g,"block")){let u1=this.transformComponentMembers(g),c=this.emitFunctionBody(u1);j.push(` ${b}${e} = __computed(() => ${c});`)}else{let u1=this.emitInComponent(g,"value");j.push(` ${b}${e} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:b,value:g,isPublic:x}of H){let l=this.emitInComponent(g,"value");j.push(x?` this.${b} = props.${b} ?? ${l};`:` this.${b} = ${l};`)}for(let{name:b,value:g,isPublic:x,required:l,type:e}of w)if(x&&l)j.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b});`);else if(x){let u1=this.emitInComponent(g,"value");j.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b} ?? ${u1});`)}else{let u1=this.emitInComponent(g,"value");j.push(` this.${b} = __state(${u1});`)}for(let b of R){let g=b[2],x=this.containsAwait(g)?"async ":"";if(this.is(g,"block")){let l=this.transformComponentMembers(g),e=this.emitFunctionBody(l,[],!0);j.push(` __effect(${x}() => ${e});`)}else{let l=this.emitInComponent(g,"value");j.push(` __effect(${x}() => { ${l}; });`)}}j.push(" }");let $1=new Map;for(let[b,g]of I)$1.set(g,b);if(q){let b=(g)=>{if(!Array.isArray(g))return;let x=g[0]?.valueOf?.()??g[0];if(typeof x==="string"&&x!=="object"&&x!=="switch"&&q1.has(x.split(/[.#]/)[0]))for(let l=1;l<g.length;l++){let e=g[l],u1=this.is(e,"object")?e:null;if(!u1&&Array.isArray(e)&&(e[0]==="->"||e[0]==="=>")&&this.is(e[2],"block")){for(let c=1;c<e[2].length;c++)if(this.is(e[2][c],"object")){u1=e[2][c];break}}if(!u1)continue;for(let c=1;c<u1.length;c++){let i=u1[c];if(!Array.isArray(i)||i.length<2)continue;let[,r,s]=i;if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&Array.isArray(s)&&s[0]==="."&&s[1]==="this"){let h=typeof r[2]==="string"?r[2]:r[2]?.valueOf?.(),p=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.();if(h&&p&&!$1.has(p))$1.set(p,h)}}}for(let l=1;l<g.length;l++)b(g[l])};b(q)}for(let{name:b,func:g}of A)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,x,l]=g;if((!x||Array.isArray(x)&&x.length===0)&&this.containsIt(l))x=["it"];let e=Array.isArray(x)?x.map((s)=>{let h=this.formatParam(s);if(s?.type)h+=`: ${s.type}`;return h}).join(", "):"",u1=$1.get(b);if(u1&&Array.isArray(x)&&x.length>0){let s=x[0];if(!(s?.type||s instanceof String&&s.type)&&typeof(s?.valueOf?.()??s)==="string"){let p=s?.valueOf?.()??s;e=e.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let c=this.reactiveMembers?this.transformComponentMembers(l):l,i=this.containsAwait(l),r=this.emitFunctionBody(c,x||[]);j.push(` ${i?"async ":""}${b}(${e}) ${r}`)}for(let{name:b,value:g}of J)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,x,l]=g,e=Array.isArray(x)?x.map((r)=>this.formatParam(r)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(l):l,c=this.containsAwait(l),i=this.emitFunctionBody(u1,x||[]);j.push(` ${c?"async ":""}${b}(${e}) ${i}`)}if(q){let b=[],g=0,x=this.options.source?.split(`
|
|
1276
|
-
`),
|
|
1277
|
-
`)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],
|
|
1301
|
+
`}function _1(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 J2(f,U,_,W,u,$){if(!Array.isArray(f))return!1;let F=f[0]?.valueOf?.()??f[0],Y=!1,Z=new Map,G=(D)=>typeof D==="string"&&/^[a-z]/.test(D),Q=(D)=>{if(!Array.isArray(D))return;let w=D[0]?.valueOf?.()??D[0];if(G(w))for(let X=1;X<D.length;X++){let H=D[X];if(!Array.isArray(H))continue;if((H[0]?.valueOf?.()??H[0])!=="object")continue;for(let I=1;I<H.length;I++){let R=H[I];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="ref")continue;let O=R[1]?.valueOf?.()??R[1];if(typeof O==="string")O=O.replace(/^["']|["']$/g,"");if(typeof O==="string"&&!Z.has(O))Z.set(O,`__RipDomEl<'${w}'> | null`)}}for(let X=1;X<D.length;X++)if(Array.isArray(D[X]))Q(D[X])},z=!1,A=null,J=null,K="";if(F==="export"&&Array.isArray(f[1])){z=!0;let D=f[1];if((D[0]?.valueOf?.()??D[0])==="="&&Array.isArray(D[2])&&(D[2][0]?.valueOf?.()??D[2][0])==="component")K=D[1]?.typeParams||"",A=D[1]?.valueOf?.()??D[1],J=D[2]}else if(F==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")K=f[1]?.typeParams||"",A=f[1]?.valueOf?.()??f[1],J=f[2];if(A&&J){let D=z?"export ":"",w=J[1]?.valueOf?.()??null,X=w?`__RipProps<'${w}'>`:null;if(X)Y=!0;let H=J[2],q=Array.isArray(H)&&(H[0]?.valueOf?.()??H[0])==="block"?H.slice(1):H?[H]:[],I=[],R=[],S=!1,O=(P)=>{let M=P?.valueOf?.()??P;if(typeof M!=="string")return null;if(M==="true"||M==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(M))return"number";if(M.startsWith('"')||M.startsWith("'"))return"string";return null};for(let P of q){if(!Array.isArray(P))continue;let M=P[0]?.valueOf?.()??P[0],B,L,V,N,C;if(M==="state"||M==="readonly"||M==="computed"){if(B=P[1],V=Array.isArray(B)&&(B[0]?.valueOf?.()??B[0])==="."&&(B[1]?.valueOf?.()??B[1])==="this",L=V?B[2]?.valueOf?.()??B[2]:B?.valueOf?.()??B,N=V?B[2]?.type:B?.type,C=!0,!V){u.add(L);let T=M==="computed"?"Computed":"Signal",j=N?_1(N):O(P[2])||"any";R.push(` ${L}: ${T}<${j}>;`);continue}}else if(M==="."){if(V=(P[1]?.valueOf?.()??P[1])==="this",L=V?P[2]?.valueOf?.()??P[2]:null,N=V?P[2]?.type:null,C=!1,!V&&L)u.add(L)}else if(M==="object"){for(let T=1;T<P.length;T++){let j=P[T];if(!Array.isArray(j)||j.length<3)continue;let b=j[1]?.valueOf?.()??j[1],i=j[2];if(!Array.isArray(i))continue;let r=i[0]?.valueOf?.()??i[0];if(r!=="->"&&r!=="=>")continue;let U1=i[1];if(!Array.isArray(U1))continue;if(!U1.some((x)=>x?.type))continue;let v=[];for(let x of U1){let d=x?.valueOf?.()??x,o=x?.type?_1(x.type):"any";v.push(`${d}: ${o}`)}R.push(` ${b}(${v.join(", ")}): void;`)}continue}else if(M==="render"){Y=!0,Q(P[1]);continue}else continue;if(!V||!L)continue;let E=N?_1(N):"any",l=C?"?":"";if(!C)S=!0;if(I.push(` ${L}${l}: ${E};`),M==="state")I.push(` __bind_${L}__?: Signal<${E}>;`)}if(U.push(`${D}declare class ${A}${K} {`),I.length>0||X){let P=S?"":"?";if(I.length>0){U.push(` constructor(props${P}: {`);for(let M of I)U.push(M);U.push(X?` } & ${X});`:" });")}else U.push(` constructor(props${P}: ${X});`)}else U.push(" constructor(props?: {});");for(let[P,M]of Z)R.push(` ${P}: ${M};`);for(let P of R)U.push(P);U.push("}")}if(F==="program"||F==="block"){for(let D=1;D<f.length;D++)if(Array.isArray(f[D]))Y=J2(f[D],U,_,W,u,$)||Y}if(F==="export"&&Array.isArray(f[1])&&!J)Y=J2(f[1],U,_,W,u,$)||Y;return Y}function n2(f,U,_){let[W,u]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(u)){let G=u[0]==="block"?u.slice(1):[u];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],A=Q[2]?.valueOf?.()??Q[2];F.push([z,A])}}}if(F.length===0)return`const ${$} = {}`;let Y=F.map(([G,Q])=>`${G}: ${Q}`).join(", "),Z=F.map(([G,Q])=>`${Q}: "${G}"`).join(", ");return`const ${$} = {${Y}, ${Z}}`}var a2=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"]),o2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),K2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},r2=new Set(Object.keys(K2)),u5=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),f5=new Set(["break","continue","debugger"]),$5=new Set(["NEW","TYPEOF","DELETE"]),U5=new Set(["IN","OF","INSTANCEOF"]),s1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),t1=new Set([...s1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),o1=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","--","++","SYMBOL"]),W5=new Set(["+","-"]),_5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),Y5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),H1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),w1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),F5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},s2=new Set(["CATCH","THEN","ELSE","FINALLY",...w1]),w2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Z5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),G5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),t2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Q5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),V1=new Set(["INDENT","OUTDENT","TERMINATOR"]),q1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",r1=(f,U)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&U?.spaced===!1&&!U?.newLine;return!1},e2=new Set([".","?."]),u3=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),z5=new Set([...t1,"++","--"]),f3=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),A5=new Set(["*","/","%","//","%%"]),J5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),X5=new Set(["<<",">>",">>>"]),w5=new Set(["!","~"]),K5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,D5=/^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,M5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,H5=/^[^\n\S]+/,q5=/^(?:\n[^\n\S]*)+/,O5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,R5=/^[-=]>/,P5=/^(?:~[=>]|=!)/,B5=/^(?:'''\\|"""\\|'''|"""|'|")/,I5=/^(?:[^\\']|\\[\s\S])*/,S5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,N5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,E5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,$3=/\n+([^\n\S]*)(?=\S)/g,L5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,U3=/^\w*/,V5=/^(?!.*(.).*\1)[gimsuy]*$/,C5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,T5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,j5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,b5=/\s+$/,W3=/^\s*(?:,|\??\.(?![.\d]))/,h5=65279;function e1(f,U,{pre:_=0,row:W=0,col:u=0,len:$=0,data:F=null}={}){let Y=[f,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:u,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function A1(f,U,_){let W=e1(f,U);if(W.generated=!0,_)W.origin=_;return W}function J1(f,{row:U=0,col:_=0,len:W=1}={}){let u=SyntaxError(f);throw u.location={first_line:U,first_column:_,last_column:_+W-1},u}function y5(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 K1{tokenize(f,U={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=U.row||0,this.col=U.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 _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)J1(`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 _=this.ends[this.ends.length-1];J1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(U.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===h5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
1302
|
+
`),f=f.replace(b5,""),/^[^\n\S]/.test(f))f=`
|
|
1303
|
+
`+f;return f}advance(f){let U=this.code.slice(this.pos,this.pos+f);for(let _=0;_<U.length;_++)if(U[_]===`
|
|
1304
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,U,{len:_,data:W,pre:u}={}){let $=e1(f,U,{pre:u??0,row:this.row,col:this.col,len:_??(typeof U==="string"?U.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}inPickKeyPos(){let f=this.prev();if(!f)return!1;let U=f[0];if(U!=="{"&&U!==","&&U!==":"&&U!=="TERMINATOR"&&U!=="INDENT"&&U!=="OUTDENT")return!1;let _=0,W=this.tokens;for(let u=W.length-1;u>=0;u--){let $=W[u],F=$[0];if(F==="}"||F==="PICK_END"){_++;continue}if(F==="{"||F==="PICK_START"||F==="OPTPICK_START"){if(_===0){let Y=W[u-1];return!!(Y&&(Y[0]==="."||Y[0]==="?.")&&!Y.spaced&&!$.spaced)}_--;continue}if(_===0&&(F==="("||F==="CALL_START"||F==="["||F==="INDEX_START"))return!1}return!1}identifierToken(){if(P5.test(this.chunk))return 0;let f=K5.exec(this.chunk);if(!f)return 0;let[,U,_]=f,W=U.length,u={},$;if(U==="own"&&this.prevTag()==="FOR")return this.emit("OWN",U,{len:W}),W;if(U==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",U,{len:W}),W;if(U==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Q=this.prevTag();if(Q==="DEFAULT"||Q==="IMPORT_ALL"||Q==="IDENTIFIER")return this.emit("AS",U,{len:W}),W}if((U==="as"||U==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(U==="as!"?"FORASAWAIT":"FORAS","as",{len:W}),W;if(U==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",U,{len:W}),W;let F;if(U==="do"&&(F=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),F[1].length+3;let Y=this.prev();if(_&&Y&&Y[0]==="TERNARY")_=null;if(_&&_.length>1&&/[a-zA-Z_$]/.test(this.chunk[W+_.length]))_=null;if(_||Y&&(Y[0]==="."||Y[0]==="?."||!Y.spaced&&Y[0]==="@")||this.inPickKeyPos()){if($="PROPERTY",this.inRenderBlock&&Y&&Y[0]==="."&&!_){let Q=this.chunk.slice(W);while(Q[0]==="-"&&/^-[a-zA-Z]/.test(Q)){let z=/^-([a-zA-Z][\w]*)/.exec(Q);if(!z)break;U+="-"+z[1],W+=1+z[1].length,Q=this.chunk.slice(W)}}}else $="IDENTIFIER";let Z=U.endsWith("!")||U.endsWith("?")?U.slice(0,-1):U;if($==="IDENTIFIER"&&!U.endsWith("!")&&!U.endsWith("?")&&(a2.has(U)||o2.has(U)||r2.has(U))&&!(this.exportSpecifierList&&r2.has(U))){if(K2[U]!==void 0)u.original=U,U=K2[U];$=this.classifyKeyword(U,$,u)}if($==="IDENTIFIER"&&u5.has(Z))if(Z==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else J1(`reserved word '${Z}'`,{row:this.row,col:this.col,len:W});if($==="PROPERTY"&&Y){if(Y[0]==="."&&this.tokens.length>1){let Q=this.tokens[this.tokens.length-2];if(Q[0]==="UNARY"&&Q[1]==="new")Q[0]="NEW_TARGET";if(Q[0]==="IMPORT"&&Q[1]==="import")this.seenImport=!1,Q[0]="IMPORT_META"}}if(U.length>1&&U.endsWith("!"))u.await=!0,U=U.slice(0,-1);if(U.length>1&&U.endsWith("?"))u.predicate=!0,U=U.slice(0,-1);let G=this.emit($,U,{len:W,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(_)return this.emit(":",":",{len:1}),W+_.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(f5.has(f))return"STATEMENT";let W=f.toUpperCase();if(W==="WHEN"&&V1.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($5.has(W))return"UNARY";if(U5.has(W)){if(W!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+W;if(this.prevVal()==="!"){let u=this.tokens.pop();_.invert=u.data?.original||u[1]}return"RELATION"}if(a2.has(f)||o2.has(f))return W;return U}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let U=this.prev();if(U&&(U[0]==="IDENTIFIER"||U[0]==="PROPERTY"))return 0;let _=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(_)return this.emit("IDENTIFIER","div#"+_[1]),_[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}if(this.chunk[0]==="#"){let U=this.prev();if(U&&!U.spaced&&!U.newLine&&(U[0]==="IDENTIFIER"||U[0]==="PROPERTY"))return 0}let f=O5.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=H5.exec(this.chunk);if(!f&&this.chunk[0]!==`
|
|
1305
|
+
`)return 0;let U=this.prev();if(U)if(f)U.spaced=!0,U.pre=f[0].length;else U.newLine=!0;return f?f[0].length:0}lineToken(){let f=q5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length-1-U.lastIndexOf(`
|
|
1306
|
+
`);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!u3.has(this.prevTag())){if(this.outdentTo(_,U.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return U.length}return U.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,_===this.indent)return this.emitNewline(),U.length;if(_>this.indent){if(!this.tokens.length)return this.indent=_,U.length;let W=_-this.indent;return this.emit("INDENT",W,{len:_}),this.indents.push(W),this.ends.push({tag:"OUTDENT"}),this.indent=_,U.length}return this.outdentTo(_,U.length),U.length}outdentTo(f,U=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let _=this.indent-f;while(_>0){let W=this.indents[this.indents.length-1];if(!W)_=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",_,{len:U}),_-=W}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
1307
|
+
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&W3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let _=this.tokens.length;if(_>=2){let W=this.tokens[_-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 _=0;for(let W=this.tokens.length-1;W>=0;W--){let u=this.tokens[W];if(u[0]==="COMPARE"&&u[1]===">")_++;else if(u[0]==="SHIFT"&&u[1]===">>")_+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")_+=3;else if(u[0]==="COMPARE"&&u[1]==="<")_--;if(_===0&&u[0]==="TYPE_ANNOTATION")return!1;if(_===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return W3.test(this.chunk)||u3.has(this.prevTag())}pair(f){let U=this.ends[this.ends.length-1];if(!U||f!==U.tag){if(U?.tag==="OUTDENT"){let _=this.indents[this.indents.length-1];if(_)this.outdentTo(this.indent-_);return this.pair(f)}J1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=B5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length>1&&U.endsWith("\\"),W=_?U.slice(0,-1):U,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(W){case"'":$=I5;break;case'"':$=S5;break;case"'''":$=N5;break;case'"""':$=E5;break}let{tokens:F,index:Y}=this.matchWithInterpolations($,U,W),Z=W.length===3,G=null;if(Z)G=this.processHeredocIndent(Y,W,F);return this.mergeInterpolationTokens(F,{quote:W,indent:G,endOffset:Y,raw:_}),Y}processHeredocIndent(f,U,_){let W=f-U.length,u=W-1;while(u>=0&&this.chunk[u]!==`
|
|
1308
|
+
`)u--;u++;let $=this.chunk.slice(u,W),F=/^\s*$/.test($)?$.length:null,Y="";for(let Q of _)if(Q[0]==="NEOSTRING")Y+=Q[1];let Z=null,G;$3.lastIndex=0;while(G=$3.exec(Y))if(Z===null||G[1].length>0&&G[1].length<Z.length)Z=G[1];if(F===null)return Z;if(Z===null)return" ".repeat(F);if(F<=Z.length)return" ".repeat(F);return Z}matchWithInterpolations(f,U,_,W){if(!_)_=U;if(!W)W=/^[#$]\{/;let u=[],$=U.length;if(this.chunk.slice(0,$)!==U)return null;let F=this.chunk.slice($);while(!0){let[Y]=f.exec(F);u.push(["NEOSTRING",Y,{offset:$}]),F=F.slice(Y.length),$+=Y.length;let Z=W.exec(F);if(!Z)break;let Q=Z[0].length-1,z=F.slice(Q),A=new K1().tokenize(z,{row:this.row,col:this.col+$+Q,untilBalanced:!0,rewrite:!1}),J=A.index+Q;if(F[J-1]==="}"){let D=A.tokens[0],w=A.tokens[A.tokens.length-1];D[0]="INTERPOLATION_START",D[1]="(",w[0]="INTERPOLATION_END",w[1]=")"}if(A.tokens[1]?.[0]==="TERMINATOR")A.tokens.splice(1,1);let K=A.tokens.length;if(K>2&&A.tokens[K-3]?.[0]==="INDENT"&&A.tokens[K-2]?.[0]==="OUTDENT")A.tokens.splice(K-3,2);u.push(["TOKENS",A.tokens]),F=F.slice(J),$+=J}if(F.slice(0,_.length)!==_)J1(`missing ${_}`,{row:this.row,col:this.col});return{tokens:u,index:$+_.length}}mergeInterpolationTokens(f,{quote:U,indent:_,endOffset:W,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:U?.length||0,data:{quote:U}});for(let $=0;$<f.length;$++){let[F,Y]=f[$];if(F==="TOKENS")for(let Z of Y)this.tokens.push(Z);else if(F==="NEOSTRING"){let Z=Y;if(_){let G=new RegExp("\\n"+_,"g");Z=Z.replace(G,`
|
|
1309
|
+
`)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===f.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(u)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(f.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let f=D5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length,W={row:this.row,col:this.col};if(/^0[BOX]/.test(U))J1(`radix prefix in '${U}' must be lowercase`,{...W,col:W.col+1});if(/^0\d*[89]/.test(U))J1(`decimal literal '${U}' must not be prefixed with '0'`,{...W,len:_});if(/^0\d+/.test(U))J1(`octal literal '${U}' must be prefixed with '0o'`,{...W,len:_});let u=y5(U),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let f=this.matchWithInterpolations(C5,"///");if(f){let{tokens:G,index:Q}=f,[z]=U3.exec(this.chunk.slice(Q)),A=Q+z.length;if(G.length===1||!G.some((J)=>J[0]==="TOKENS")){let J=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${J}/${z}`,{len:A,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(G,{quote:"///",endOffset:A-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 A}let U=L5.exec(this.chunk);if(!U)return 0;let[_,W,u]=U,$=this.prev();if($){if($.spaced&&s1.has($[0])&&(!u||/^\/=?\s/.test(_)))return 0;if(z5.has($[0])&&!($.spaced&&s1.has($[0])))return 0}if(!u)J1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=_.length,[Y]=U3.exec(this.chunk.slice(F)),Z=F+Y.length;if(!V5.test(Y))J1(`invalid regular expression flags ${Y}`,{row:this.row,col:this.col+F,len:Y.length});return this.emit("REGEX",`/${W}/${Y}`,{len:Z,data:{delimiter:"/"}}),Z}jsToken(){if(this.chunk[0]!=="`")return 0;let f=j5.exec(this.chunk)||T5.exec(this.chunk);if(!f)return 0;let U=f[1],_=f[0].length;return this.emit("JS",U,{len:_,data:{here:f[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let _={"[":"]","(":")","{":"}","<":">"}[f]||f,W=_!==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--;if(u>0)$++}if(u!==0)return 0;let F=this.chunk.slice(3,$),Y=$+1,Z=[];if(F.trim()){let G=F.trim().split(/(?<!\\)\s+/);for(let Q of G)Z.push(Q.replace(/\\ /g," "))}this.emit("[","[",{len:Y});for(let G=0;G<Z.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${Z[G]}"`)}return this.emit("]","]"),Y}symbolToken(){if(this.chunk[0]!==":")return 0;let f=this.chunk[1];if(!f||f==="="||f===":"||/\s/.test(f))return 0;if(!/[a-zA-Z_$]/.test(f))return 0;let U=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!U)return 0;let _=U[1],W=_.length+1;return this.emit("SYMBOL",_,{len:W}),W}literalToken(){let f=this.wordLiteral();if(f)return f;let U=this.symbolToken();if(U)return U;let _=M5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),u=W,$=this.prev();if(R5.test(W))this.tagParameters();if(W==="="&&$&&$[1]==="."&&!$.spaced){let F=this.tokens,Y=F.length-2;while(Y>=1&&F[Y][0]==="PROPERTY"&&F[Y-1]?.[1]===".")Y-=2;if(Y>=0&&(F[Y][0]==="IDENTIFIER"||F[Y][0]===")"||F[Y][0]==="]")){let Z=F.slice(Y,F.length-1);$[0]="=",$[1]="=";for(let G of Z)this.tokens.push(e1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(e1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||f3.has(W))){if(W==="="&&($[1]==="||"||$[1]==="&&"||$[1]==="??")&&!$.spaced)return $[0]="COMPOUND_ASSIGN",$[1]+="=",W.length}if(W==="("&&$?.[0]==="IMPORT")$[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&$?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(W==="|>")u="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")u="COMPUTED_ASSIGN";else if(W===":=")u="REACTIVE_ASSIGN";else if(W==="<=>")u="BIND";else if(W==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(W==="*>"&&(!$||$[0]==="TERMINATOR"||$[0]==="INDENT"||$[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let F=this.chunk.slice(2),Y=/^@(\s*)=(?!=)/.exec(F);if(Y){let G=Y[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Q=this.emit("PROPERTY","assign");return Q.spaced=!0,this.emit("@","@"),this.emit(",",","),3+G.length+1}let Z=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(F);if(Z){let G=Z[1],Q=Z[2],z=G[0]==="@",A=z?G.slice(1):G,J=A?A.split("."):[],K=()=>{if(z){if(this.emit("@","@"),J.length>0)this.emit("PROPERTY",J[0])}else this.emit("IDENTIFIER",J[0]);for(let w=1;w<J.length;w++)this.emit(".","."),this.emit("PROPERTY",J[w])};K(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),K(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let D=this.prev();return D.mergeClose=!0,2+G.length+Q.length+1}}else if(W==="*"&&$?.[0]==="EXPORT")u="EXPORT_ALL";else if(A5.has(W))u="MATH";else if(J5.has(W))u="COMPARE";else if(f3.has(W))u="COMPOUND_ASSIGN";else if(w5.has(W))u="UNARY_MATH";else if(X5.has(W))u="SHIFT";else if(W==="?"&&$?.spaced)u="TERNARY";else if(W==="?!"&&$&&!$.spaced)u="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if($){if(W==="("&&!$.spaced&&s1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(W==="["&&!$.spaced&&t1.has($[0])){if(u="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:F5[W],origin:[u,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(u,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,U=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let _=this.tokens[f];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let U=this.tokens[f??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),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 U=0;U<f.length;U++){if(f[U][0]!=="MATH"||f[U][1]!=="*")continue;let _=f[U+1];if(!_||_[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let W=f[U-1];if(W&&t1.has(W[0]))continue;f.splice(U,1),f[U][0]="MAP_START";let u=1;for(let $=U+1;$<f.length&&u>0;$++){let F=f[$][0];if(F==="{"||F==="MAP_START")u++;if(F==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let U=0;U<f.length;U++){let _=f[U][0];if(_!=="."&&_!=="?.")continue;let W=f[U+1];if(!W||W[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let u=f[U-1];if(!u||!t1.has(u[0]))continue;let $=_==="?.";f.splice(U,1),f[U][0]=$?"OPTPICK_START":"PICK_START";let F=1;for(let Y=U+1;Y<f.length&&F>0;Y++){let Z=f[Y][0];if(Z==="{"||Z==="PICK_START"||Z==="OPTPICK_START")F++;else if(Z==="}"){if(F--,F===0){f[Y][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,U)=>{if(f[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,U)=>{if(f[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")f[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&Q5.has($[0])&&!($[0]==="TERMINATOR"&&s2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||e2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,F)=>{let Y=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(Y,0,_)};this.scanTokens(($,F,Y)=>{let[Z]=$;if(Z==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return Y.splice(F,1,...this.makeIndentation()),1;if(s2.has(this.tokens[F+1]?.[0]))return Y.splice(F,1),0}if(Z==="CATCH")for(let G=1;G<=2;G++){let Q=this.tokens[F+G]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return Y.splice(F+G,0,...this.makeIndentation()),2+G}if((Z==="->"||Z==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[U,_]=this.makeIndentation(),Y.splice(F+1,0,U,_),1;if(t2.has(Z)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(Z==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(f=Z,[U,_]=this.makeIndentation(),Z==="THEN")U.fromThen=!0;if(Y.splice(F+1,0,U),Z==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,W,u);else this.detectEnd(F+2,W,u);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(f){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=f-1;_>=0;_--){let W=this.tokens[_],u=W?.[0];if(U.has(u))return u;if(V1.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],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(U.call(this,$,f))return _.call(this,$,f)}if(H1.has(F))W++;if(w1.has(F))W--;if(W<0)return _.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,U=(W,u)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!t2.has(this.tokens[u-1]?.[0])},_=(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 U=f.length-2;U>=0;U--)if(f[U][0]==="IDENTIFIER"&&f[U][1]==="$"&&(f[U+1]?.[0]==="STRING"||f[U+1]?.[0]==="STRING_START")){let _=f[U-1];if(_&&Z5.has(_[0])){if(f.splice(U,1),_.spaced=!1,f[U].spaced=!1,f[U].pre=0,f[U].newLine)f[U].newLine=!1}}}addImplicitBracesAndParens(){let f=[],U=!1;this.scanTokens((_,W,u)=>{let[$]=_,F=u[W-1]||[],Y=u[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(P)=>W-Q+P,A=()=>f[f.length-1],J=(P)=>P?.[2]?.ours,K=()=>J(A())&&A()?.[0]==="(",D=()=>J(A())&&A()?.[0]==="{",w=(P)=>{f.push(["(",P,{ours:!0}]),u.splice(P,0,A1("CALL_START","("))},X=()=>{f.pop(),u.splice(W,0,A1("CALL_END",")")),W+=1},H=(P,M={})=>{f.push(["{",P,{sameLine:!0,startsLine:M.startsLine??!0,ours:!0}]);let B=A1("{","{");if(!B.data)B.data={};B.data.generated=!0,u.splice(P,0,B)},q=(P)=>{P=P??W,f.pop(),u.splice(P,0,A1("}","}")),W+=1};if((K()||D())&&G5.has($))return f.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&J(A())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||D()&&Z!==":")if(K())X();else q();if(A()?.[2]?.ours&&A()[0]==="CONTROL")f.pop();return f.push([$,W]),z(1)}if(H1.has($))return f.push([$,W]),z(1);if(w1.has($)){while(J(A()))if(K())X();else if(D())q();else f.pop();f.pop()}let I=!1;if(G==="-"&&!Y.spaced&&!Y.newLine&&q1(_))for(let P=W;P<u.length-2;P+=2){if(!r1(u[P+1],u[P+2]))break;if(!q1(u[P+2]))break;if(u[P+3]?.[0]===":"){I=!0;break}}if(!I&&w2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(u[W+2]?.[0])||W5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return w(W+1),z(2);if(w2.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 w(W+1),f.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(q1(u[W-1])&&r1(u[W-2],u[W-1])){let B=W-2;while(B>=2&&r1(u[B],u[B+1])&&q1(u[B-1]))B-=2;if(B+=1,q1(u[B])){let L="";for(let N=B;N<W;N++)L+=u[N][1];let V=A1("STRING",`"${L}"`,u[B]);V.pre=u[B].pre,V.spaced=u[B].spaced,V.newLine=u[B].newLine,V.loc=u[B].loc,u.splice(B,W-B,V),W=B+1}}let P=w1.has(this.tokens[W-1]?.[0])?f[f.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")P=W-2;let M=P<=0||V1.has(this.tokens[P-1]?.[0])||this.tokens[P-1]?.newLine;if(A()){let[B,L]=A(),V=f[f.length-2],N=(C)=>C==="{"||C==="MAP_START"||C==="PICK_START"||C==="OPTPICK_START";if((N(B)||B==="INDENT"&&N(V?.[0])&&!J(V))&&(M||this.tokens[P-1]?.[0]===","||N(this.tokens[P-1]?.[0])||N(this.tokens[P]?.[0])))return z(1)}return H(P,{startsLine:!!M}),z(2)}if(V1.has($))for(let P=f.length-1;P>=0;P--){if(!J(f[P]))break;if(f[P][0]==="{")f[P][2].sameLine=!1}let R=Z==="OUTDENT"||F.newLine,S=$==="||"||$==="&&",O=!1;if(S){let P=W+1,M=u[P]?.[0];if(M==="("||M==="["||M==="{"){for(let B=1;++P<u.length&&B>0;)if(M=u[P][0],M==="("||M==="["||M==="{")B++;else if(M===")"||M==="]"||M==="}")B--}else if(M&&M!=="TERMINATOR"&&M!=="OUTDENT"&&M!==",")P++;O=u[P]?.[0]===","}if(_5.has($)&&!O||e2.has($)&&R)while(J(A())){let[P,,{sameLine:M,startsLine:B}]=A();if(K()&&Z!==",")X();else if(D()&&!S&&M&&$!=="TERMINATOR"&&Z!==":")q();else if(D()&&$==="TERMINATOR"&&Z!==","&&!(B&&this.looksObjectish(W+1)))q();else if(A()?.[2]?.ours&&A()[0]==="CONTROL"&&u[A()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(W+1)&&D()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let P=G==="OUTDENT"?1:0;while(D())q(W+P)}return z(1)})}addImplicitCallCommas(){let f=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],u=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")f++;if(W==="CALL_END"||W===")")f--;if(f>0&&(W==="->"||W==="=>")&&Y5.has(u))_.splice(U,0,A1(",",",")),U++;U++}}scanTokens(f){let U=0;while(U<this.tokens.length)U+=f.call(this,this.tokens[U],U,this.tokens)}detectEnd(f,U,_,W={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&U.call(this,$,f))return _.call(this,$,f);if(H1.has($[0]))u++;if(w1.has($[0]))u--;if(u<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let U=0;U<f.length;U++){if(!f[U].mergeClose)continue;let _=0;for(let W=U+1;W<f.length;W++){let u=f[W][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")_++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")_--;if(_<0||_===0&&u==="TERMINATOR"){f.splice(W,0,A1("CALL_END",")",f[W-1]));break}if(W===f.length-1){f.splice(W+1,0,A1("CALL_END",")",f[W]));break}}}}commaInImplicitCall(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(H1.has(W)){if(W==="INDENT")return!1;if(U--,U<0)return!1;continue}if(U>0)continue;if(w2.has(W)&&this.tokens[_].spaced){let u=this.tokens[_+1]?.[0];return o1.has(u)||u==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(H1.has(W)){if(U--,U<0)return!1;continue}if(U>0)continue;if(W===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(V1.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(q1(this.tokens[f]))for(let U=f+1;U<this.tokens.length;U+=2){if(!r1(this.tokens[U],this.tokens[U+1]))break;if(!q1(this.tokens[U+1]))break;if(this.tokens[U+2]?.[0]===":")return!0}if(H1.has(this.tokens[f]?.[0])){let U=null;if(this.detectEnd(f+1,(_)=>w1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,U){let _=new Set(U),W=[];while(f>=0){let u=this.tokens[f]?.[0];if(!W.length&&_.has(u))return!0;if(w1.has(u))W.push(u);if(H1.has(u)&&W.length)W.pop();if(!W.length&&(H1.has(u)&&!this.tokens[f]?.generated||V1.has(u)))break;f--}return!1}makeIndentation(f){let U=A1("INDENT",2),_=A1("OUTDENT",2);if(f)U.generated=_.generated=!0,U.origin=_.origin=f;else U.explicit=_.explicit=!0;return[U,_]}}p2(K1);a1(K1);var v5=["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"],_3=new Set(v5);var g5=["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 c5=["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"],x5=["math","param","portal"],Y3=new Set([...g5,...x5]),O1=new Set(c5),R1=new Set([...Y3,...O1]);var F3="__bind_",Z3="__",D2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),l5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),M2="http://www.w3.org/2000/svg";function m5(f){for(let U of f){if(!Array.isArray(U))continue;let _=U[1]instanceof String?U[1].valueOf():U[1],W=U[2]instanceof String?U[2].valueOf():U[2];if(_==="type"&&typeof W==="string")return W.replace(/^["']|["']$/g,"")}return null}function P1(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 H2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function q2(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 G3(f,U){let _=(Y,Z)=>Y instanceof String?Y[Z]:void 0,W=U.prototype.classifyKeyword;U.prototype.classifyKeyword=function(Y,Z,G){if(Y==="offer"||Y==="accept"){let Q=0;for(let z=this.tokens.length-1;z>=0;z--){let A=this.tokens[z][0];if(A==="OUTDENT")Q++;else if(A==="INDENT")Q--;if(Q<0&&this.tokens[z-1]?.[0]==="COMPONENT")return Y.toUpperCase()}return Z}return W.call(this,Y,Z,G)},U.prototype.rewriteRender=function(){let Y=(X,H,q)=>{let I=[X,H];if(I.pre=0,I.data=null,I.loc=q?.loc??{r:0,c:0,n:0},I.spaced=!1,I.newLine=!1,I.generated=!0,q)I.origin=q;return I},Z=!1,G=0,Q=0,z=[],A=(X)=>{let H=X.split("#")[0];return R1.has(H)},J=(X)=>{if(!X||typeof X!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(X)},K=(X)=>{return A(X)||J(X)},D=(X,H,q,I)=>{let R=1,S=H;while(S>=0&&R>0){let O=X[S][0];if(O===q)R++;else if(O===I)R--;if(R>0)S--}return S},w=(X,H)=>{let q=H;while(q>0){let I=X[q-1][0];if(I==="TERMINATOR"||I==="RENDER")break;if(I==="INDENT"||I==="OUTDENT"){let R=X[q][0];if(R==="CALL_END"||R===")"){q=D(X,q-1,R,R==="CALL_END"?"CALL_START":"(");continue}break}if(I==="CALL_END"||I===")"){q=D(X,q-2,I,I==="CALL_END"?"CALL_START":"(");continue}if(I==="INTERPOLATION_END"){q=D(X,q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(I==="STRING_END"){q=D(X,q-2,"STRING_END","STRING_START");continue}q--}return X[q]&&X[q][0]==="IDENTIFIER"&&(K(X[q][1])||(q===0||X[q-1][0]==="INDENT"||X[q-1][0]==="TERMINATOR"||X[q-1][0]==="RENDER"))};this.scanTokens(function(X,H,q){let I=X[0],R=H<q.length-1?q[H+1]:null;if(I==="RENDER")return Z=!0,G=Q+1,1;if(I==="INDENT")return Q++,1;if(I==="OUTDENT"){Q--;let S=0;while(z.length>0&&z[z.length-1]>Q){let O=Y("CALL_END",")",X);q.splice(H+1+S,0,O),z.pop(),S++}if(Z&&Q<G)Z=!1;return 1+S}if(!Z)return 1;if(I==="="&&H>0){let S=q[H-1][0];if(S==="TERMINATOR"||S==="INDENT"||S==="RENDER"){let O=Y("IDENTIFIER","__text__",X),P=Y("CALL_START","(",X);return q.splice(H,1,O,P),this.detectEnd(H+2,(M)=>M[0]==="TERMINATOR"||M[0]==="OUTDENT",(M,B)=>q.splice(B,0,Y("CALL_END",")",M)),{returnOnNegativeLevel:!0}),2}}if(I==="UNARY_MATH"&&X[1]==="~"&&R&&R[0]==="IDENTIFIER"){X[0]="PROPERTY",X[1]="__transition__";let S=Y(":",":",X),O=Y("STRING",`"${R[1]}"`,R);return q.splice(H+1,1,S,O),1}if(I==="PROPERTY"&&X[1][0]==="$"&&X[1].length>1)return X[0]="STRING",X[1]=`"data-${X[1].slice(1)}"`,1;if(I==="IDENTIFIER"&&!X.spaced){let S=[X[1]],O=H+1;while(O+1<q.length){let P=q[O],M=q[O+1];if(P[0]==="-"&&!P.spaced&&(M[0]==="IDENTIFIER"||M[0]==="PROPERTY")){if(S.push(M[1]),O+=2,M[0]==="PROPERTY")break}else break}if(S.length>1&&O>H+1&&q[O-1][0]==="PROPERTY"){let P=S.join("-");if(P[0]==="$")P="data-"+P.slice(1);return X[0]="STRING",X[1]=`"${P}"`,q.splice(H+1,O-H-1),1}}if(I==="."){let S=H>0?q[H-1]:null,O=S?S[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(R&&R[0]==="PROPERTY"){let P=H+2<q.length?q[H+2]:null;if(!P||P[0]!==":"){let M=Y("IDENTIFIER","div",X);return q.splice(H,0,M),2}}if(!R||R[0]!=="(")return X[0]="IDENTIFIER",X[1]="div",0}}if(I==="IDENTIFIER"||I==="PROPERTY"){let S=q[H+1],O=q[H+2];if(S&&S[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(X[1]=X[1]+"#"+O[1],O.spaced)X.spaced=!0;return q.splice(H+1,2),0}}if(I==="BIND"){let S=H>0?q[H-1]:null,O=q[H+1];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return S[1]=`__bind_${S[1]}__`,X[0]=":",X[1]=":",1}if(I==="@"){let S=H+1;if(S<q.length&&q[S][0]==="PROPERTY"){S++;while(S+1<q.length&&q[S][0]==="."&&q[S+1][0]==="PROPERTY")S+=2;if(S>H+2&&S<q.length&&q[S][0]===":"){let O=Y("[","[",X);q.splice(H,0,O);let P=Y("]","]",q[S+1]);return q.splice(S+1,0,P),2}}}if(I==="."&&R&&R[0]==="("){let S=H>0?q[H-1]:null,O=S?S[0]:null,P=O==="INDENT"||O==="TERMINATOR",M=Y("PROPERTY","__clsx",X);R[0]="CALL_START";let B=1;for(let L=H+2;L<q.length&&B>0;L++)if(q[L][0]==="("||q[L][0]==="CALL_START")B++;else if(q[L][0]===")"){if(B--,B===0)q[L][0]="CALL_END"}else if(q[L][0]==="CALL_END")B--;if(P){let L=Y("IDENTIFIER","div",X);return q.splice(H,0,L),q.splice(H+2,0,M),3}else if(O===":")return q[H]=Y("IDENTIFIER","__clsx",X),1;else return q.splice(H+1,0,M),2}if(R&&R[0]==="INDENT"){if(R.fromThen)return 1;if(I==="->"||I==="=>"||I==="CALL_START"||I==="(")return 1;let S=!1,O=H>0?q[H-1][0]:null,P=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN"||O==="FORIN"||O==="FOROF"||O==="FORAS"||O==="FORASAWAIT"||O==="BY",M=!1;if(I==="CALL_END"){let L=1;for(let V=H-1;V>=0&&L>0;V--)if(q[V][0]==="CALL_END")L++;else if(q[V][0]==="CALL_START"){if(L--,L===0&&V>0&&q[V-1][0]==="PROPERTY"&&q[V-1][1]==="__clsx")M=!0}}let B=I==="IDENTIFIER"&&(O==="INDENT"||O==="TERMINATOR"||O==="RENDER");if(M)S=!0;else if(I==="IDENTIFIER"&&K(X[1])&&!P)S=!0;else if(I==="IDENTIFIER"&&!P)S=B||w(q,H);else if(I==="PROPERTY"||I==="STRING"||I==="STRING_END"||I==="NUMBER"||I==="BOOL"||I==="CALL_END"||I===")"||I==="PRESENCE")S=w(q,H);if(S){let L=!1;if(I==="PROPERTY"&&H>0&&q[H-1][0]==="."){let N=H;while(N>=2&&q[N-1][0]==="."&&q[N-2][0]==="PROPERTY")N-=2;if(N>=2&&q[N-1][0]==="."&&q[N-2][0]==="IDENTIFIER"&&K(q[N-2][1])){let C=N>=3?q[N-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")L=!0}}if(M||I==="IDENTIFIER"&&(K(X[1])||B)||L){let N=Y("CALL_START","(",X),C=Y("->","->",X);return C.newLine=!0,q.splice(H+1,0,N,C),z.push(Q+1),3}else{let N=Y(",",",",X),C=Y("->","->",X);return C.newLine=!0,q.splice(H+1,0,N,C),3}}}if(I==="IDENTIFIER"&&J(X[1])&&R&&(R[0]==="OUTDENT"||R[0]==="TERMINATOR"))return q.splice(H+1,0,Y("CALL_START","(",X),Y("CALL_END",")",X)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(Y){let Z=Y.split("#")[0];return R1.has(Z.toLowerCase())},u.isComponent=function(Y){if(!Y||typeof Y!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(Y)},u.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let J=G[2];if(typeof J==="string"||J instanceof String)Z.unshift(J.valueOf());G=G[1]}let Q=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Q===null)return{tag:null,classes:Z,id:void 0,base:G};let[z,A]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:A,base:G}};let $=(Y)=>typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null,F=(Y,Z)=>{if(!(Y instanceof String))return Z;let G=new String(Z);if(Y.predicate)G.predicate=!0;if(Y.await)G.await=!0;return G.predicate||G.await?G:Z};u.transformComponentMembers=function(Y,Z=new Set){let G=this._self;if(!Array.isArray(Y)){let Q=$(Y);if(Q&&Z.has(Q))return Y;if(Q&&this.reactiveMembers&&this.reactiveMembers.has(Q))return[".",[".",G,Q],F(Y,"value")];if(Q&&this.componentMembers&&this.componentMembers.has(Q))return[".",G,F(Y,Q)];return Y}if(Y[0]==="."&&Y[1]==="this"&&$(Y[2])!=null){let Q=Y[2],z=$(Q);if(this.reactiveMembers&&this.reactiveMembers.has(z))return[".",[".",G,z],F(Q,"value")];return this._factoryMode?[".",G,Q]:Y}if(Y[0]==="."||Y[0]==="?.")return[Y[0],this.transformComponentMembers(Y[1]),Y[2]];if(Y[0]==="->"){let Q=Y[1],z=new Set(Z);if(Array.isArray(Q))for(let A of Q){let J=$(Array.isArray(A)&&A[0]==="default"?A[1]:A);if(J)z.add(J)}return["=>",Y[1],this.transformComponentMembers(Y[2],z)]}if(Y[0]==="object"||Y[0]==="map-literal")return[Y[0],...Y.slice(1).map((Q)=>{if(Array.isArray(Q)&&Q[0]==="...")return["...",this.transformComponentMembers(Q[1],Z)];if(Array.isArray(Q)&&Q.length>=2){let z=Q[1],A=Array.isArray(z)?this.transformComponentMembers(z,Z):z,J=this.transformComponentMembers(Q[2],Z);return[Q[0],A,J]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let A=1;A<Y.length;A++){let J=Y[A];if(Array.isArray(J)&&J[0]==="="){let K=$(J[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",J[1],this.transformComponentMembers(J[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(J,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},u.emitComponent=function(Y,Z,G,Q){let[,z]=Z,A=this.is(z,"block")?z.slice(1):[],J=[],K=[],D=[],w=[],X=[],H=[],q=[],I=[],R=null,S=new Set,O=new Set;for(let T of A){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let b=P1(T[1]);if(b)q.push(b)}if(j==="accept"){let b=typeof T[1]==="string"?T[1]:P1(T[1]);if(b)I.push(b),S.add(b),O.add(b)}else if(j==="."&&T[1]==="this"&&P1(T)){let b=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(b)J.push({name:b,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),S.add(b),O.add(b)}else if(j==="state"){let b=P1(T[1]);if(b)J.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),S.add(b),O.add(b)}else if(j==="computed"){let b=P1(T[1]);if(b)K.push({name:b,expr:T[2],type:q2(T[1])}),S.add(b),O.add(b)}else if(j==="readonly"){let b=P1(T[1]);if(b)D.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),S.add(b)}else if(j==="="){let b=P1(T[1]);if(b)if(D2.has(b))X.push({name:b,value:T[2]});else{let i=T[2];if(Array.isArray(i)&&(i[0]==="->"||i[0]==="=>"))w.push({name:b,func:i}),S.add(b);else J.push({name:b,value:i,isPublic:H2(T[1])}),S.add(b),O.add(b)}}else if(j==="effect")H.push(T);else if(j==="render")R=T;else if(j==="object")for(let b=1;b<T.length;b++){let i=T[b];if(!Array.isArray(i))continue;let[,r,U1]=i;if(typeof r==="string"&&D2.has(r))X.push({name:r,value:U1});else if(typeof r==="string")w.push({name:r,func:U1}),S.add(r)}}let P=new Map;for(let{name:T}of w)if(/^on[A-Z]/.test(T)&&!D2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if(_3.has(j))P.set(j,T)}let M=Z[0]?.valueOf?.()??null,B=new Set;for(let{name:T,isPublic:j}of J)if(j)B.add(T);for(let{name:T,isPublic:j}of D)if(j)B.add(T);let L=this.componentMembers,V=this.reactiveMembers,N=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=S,this.reactiveMembers=O,this._autoEventHandlers=P.size>0?P:null,this._inheritsTag=M||null,this.options.stubComponents){let T=(y)=>y?y.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],b=this._componentTypeParams||"";j.push(`class ${b}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let i=[];for(let{name:y,type:v,isPublic:x,required:d}of J){if(!x)continue;let o=T(v),u1=d?"":"?";i.push(`${y}${u1}: ${o||"any"}`),i.push(`__bind_${y}__?: Signal<${o||"any"}>`)}for(let{name:y,type:v,isPublic:x}of D){if(!x)continue;let d=T(v);i.push(`${y}?: ${d||"any"}`)}{let v=i.length>0&&J.some((d)=>d.isPublic&&d.required)?"":"?",x=i.length>0?`{${i.join("; ")}}`:"{}";if(M)x+=` & __RipProps<'${M}'>`;j.push(` constructor(_props${v}: ${x}) {}`)}let r=(y)=>{let v=y?.valueOf?.()??y;if(typeof v!=="string")return null;if(v==="true"||v==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(v))return"number";if(v.startsWith('"')||v.startsWith("'"))return"string";return null};for(let{name:y,type:v,value:x}of J){let d=T(v)||r(x);j.push(d?` declare ${y}: Signal<${d}>;`:` declare ${y}: Signal<any>;`)}for(let{name:y,type:v,value:x}of D){let d=T(v)||r(x);j.push(d?` declare ${y}: ${d};`:` declare ${y}: any;`)}for(let{name:y,expr:v,type:x}of K){let d=T(x),o=d?`: Computed<${d}>`:"";if(this.is(v,"block")){let u1=this.transformComponentMembers(v),c=this.emitFunctionBody(u1);j.push(` ${y}${o} = __computed(() => ${c});`)}else{let u1=this.emitInComponent(v,"value");j.push(` ${y}${o} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:y,value:v,isPublic:x}of D){let d=this.emitInComponent(v,"value");j.push(x?` this.${y} = props.${y} ?? ${d};`:` this.${y} = ${d};`)}for(let{name:y,value:v,isPublic:x,required:d,type:o}of J)if(x&&d)j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y});`);else if(x){let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y} ?? ${u1});`)}else{let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(${u1});`)}for(let y of H){let v=y[2],x=this.containsAwait(v)?"async ":"";if(this.is(v,"block")){let d=this.transformComponentMembers(v),o=this.emitFunctionBody(d,[],!0);j.push(` __effect(${x}() => ${o});`)}else{let d=this.emitInComponent(v,"value");j.push(` __effect(${x}() => { ${d}; });`)}}j.push(" }");let U1=new Map;for(let[y,v]of P)U1.set(v,y);if(R){let y=(v)=>{if(!Array.isArray(v))return;let x=v[0]?.valueOf?.()??v[0];if(typeof x==="string"&&x!=="object"&&x!=="switch"&&R1.has(x.split(/[.#]/)[0]))for(let d=1;d<v.length;d++){let o=v[d],u1=this.is(o,"object")?o:null;if(!u1&&Array.isArray(o)&&(o[0]==="->"||o[0]==="=>")&&this.is(o[2],"block")){for(let c=1;c<o[2].length;c++)if(this.is(o[2][c],"object")){u1=o[2][c];break}}if(!u1)continue;for(let c=1;c<u1.length;c++){let n=u1[c];if(!Array.isArray(n)||n.length<2)continue;let[,s,e]=n;if(Array.isArray(s)&&s[0]==="."&&s[1]==="this"&&Array.isArray(e)&&e[0]==="."&&e[1]==="this"){let h=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.(),p=typeof e[2]==="string"?e[2]:e[2]?.valueOf?.();if(h&&p&&!U1.has(p))U1.set(p,h)}}}for(let d=1;d<v.length;d++)y(v[d])};y(R)}for(let{name:y,func:v}of w)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,x,d]=v;if((!x||Array.isArray(x)&&x.length===0)&&this.containsIt(d))x=["it"];let o=Array.isArray(x)?x.map((e)=>{let h=this.formatParam(e);if(e?.type)h+=`: ${e.type}`;return h}).join(", "):"",u1=U1.get(y);if(u1&&Array.isArray(x)&&x.length>0){let e=x[0];if(!(e?.type||e instanceof String&&e.type)&&typeof(e?.valueOf?.()??e)==="string"){let p=e?.valueOf?.()??e;o=o.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let c=this.reactiveMembers?this.transformComponentMembers(d):d,n=this.containsAwait(d),s=this.emitFunctionBody(c,x||[]);j.push(` ${n?"async ":""}${y}(${o}) ${s}`)}for(let{name:y,value:v}of X)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,x,d]=v,o=Array.isArray(x)?x.map((s)=>this.formatParam(s)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(d):d,c=this.containsAwait(d),n=this.emitFunctionBody(u1,x||[]);j.push(` ${c?"async ":""}${y}(${o}) ${n}`)}if(R){let y=[],v=0,x=this.options.source?.split(`
|
|
1310
|
+
`),d=(c)=>{let n=[];for(let s of c){let e=null;if(this.is(s,"object"))e=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let h=1;h<s[2].length;h++)if(this.is(s[2][h],"object")){e=s[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h],[,m,t]=p;if(typeof m==="string"&&!m.startsWith("@")){let $1=p.loc?.r??e.loc?.r;if(m.startsWith("__bind_")&&m.endsWith("__")){let a=typeof t==="string"&&this.reactiveMembers?.has(t)?`this.${t}`:this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}}}}return n},o=(c)=>{let n=[];for(let s of c){let e=null;if(this.is(s,"object"))e=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let h=1;h<s[2].length;h++)if(this.is(s[2][h],"object")){e=s[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h];if(!Array.isArray(p)||p.length<2)continue;let[,m,t]=p,$1=p.loc?.r??e.loc?.r;if(Array.isArray(m)&&m[0]==="."&&m[1]==="this"){let a=typeof m[2]==="string"?m[2]:m[2]?.valueOf?.();if(!a)continue;let f1="@"+a.split(".")[0],_2=this.emitInComponent(t,"value");n.push({code:`'${f1}': ${_2}`,srcLine:$1})}else if(typeof m==="string"){if(m==="key"){let a=this.emitInComponent(t,"value"),f1=$1!=null?` // @rip-src:${$1}`:"";y.push(` (${a});${f1}`);continue}if(m.startsWith("__bind_")&&m.endsWith("__")){let a=m.slice(7,-2),f1=this.emitInComponent(t,"value");n.push({code:`${a}: ${f1}`,srcLine:$1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}}}}return n},u1=(c)=>{if(!Array.isArray(c))return;let n=c[0]?.valueOf?.()??c[0];if(n==="object")return;if(n==="if"||n==="unless"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}}else if(n==="?:"){let h=this.emitInComponent(c,"value"),p=c.loc?.r,m=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${m}`)}else if(n==="switch"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}}else if(n==="for-in"||n==="for-of"||n==="for-as"){let h=c[1],p=c[2];if(p!=null){let m=this.emitInComponent(p,"value"),t=c.loc?.r,$1=t!=null?` // @rip-src:${t}`:"",a;if(Array.isArray(h))if(h.length===1){let f1=h[0];a=Array.isArray(f1)?this.emitDestructuringPattern(f1):String(f1)}else if(n==="for-of")a=`[${h.map((f1)=>String(f1)).join(", ")}]`;else a=String(h[0]);else a=String(h);if(n==="for-of")y.push(` for (const ${a} of Object.entries(${m})) {${$1}`);else y.push(` for (const ${a} of ${m}) {${$1}`);for(let f1=3;f1<c.length;f1++)if(c[f1]!=null)u1(c[f1]);y.push(" }");return}}else if(n==="__text__"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}return}else if(n==="str"){try{let h=this.emitInComponent(c,"value"),p=c.loc?.r,m=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${m}`)}catch{}return}let s=(h,p,m)=>{if(typeof h!=="string"||!/^[a-z][\w-]*$/.test(h))return;if(f.GENERATORS[h])return;if(h==="null"||h==="undefined"||h==="true"||h==="false")return;let t=p.loc?.r;if(t!=null&&x){let a=new RegExp(`\\b${h}\\b`);for(let f1=t;f1<x.length;f1++)if(a.test(x[f1])){t=f1;break}}let $1=t!=null?` // @rip-src:${t}`:"";if(this.componentMembers&&this.componentMembers.has(h))y.push(` this.${h};${$1}`);else if(m)y.push(` ${h};${$1}`);else y.push(` __ripEl('${h}');${$1}`)},e=typeof n==="string"&&/^[a-z][\w-]*$/.test(n)&&!f.GENERATORS[n]&&R1.has(n.split(/[.#]/)[0]);if(n==="block")for(let h=1;h<c.length;h++)s(c[h],c,!1);else if(e){for(let h=1;h<c.length;h++)s(c[h],c,!0);for(let h=1;h<c.length;h++){let p=c[h];if(!Array.isArray(p))continue;let m=p[0]?.valueOf?.()??p[0];if(m==="object"||m==="block"||m==="__text__")continue;if(typeof m==="string"){if(/^[A-Z]/.test(m))continue;if(R1.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 t=this.emitInComponent(p,"value"),$1=p.loc?.r??c.loc?.r,a=$1!=null?` // @rip-src:${$1}`:"";y.push(` ${t};${a}`)}catch{}}}for(let h=1;h<c.length;h++)u1(c[h]);if(typeof n==="string"&&/^[A-Z]/.test(n)){let h=d(c.slice(1)),p=`_${v++}`,m=`ConstructorParameters<typeof ${n}>[0] & {}`;if(h.length===0){let t=c.loc?.r;y.push(` const ${p}: ${m} = {};`+(t!=null?` // @rip-src:${t}`:""))}else if(h.length===1){let t=c.loc?.r??h[0].srcLine;y.push(` const ${p}: ${m} = {${h[0].code}};`+(t!=null?` // @rip-src:${t}`:""))}else{let t=c.loc?.r;if(new Set(h.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=h[0].srcLine??t;y.push(` const ${p}: ${m} = {${h.map((f1)=>f1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{y.push(` const ${p}: ${m} = {`+(t!=null?` // @rip-src:${t}`:""));for(let a of h)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" };")}}}else if(typeof n==="string"&&!f.GENERATORS[n]&&(R1.has(n.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(n)&&c.length>1)){let h=n.split(/[.#]/)[0],p=o(c.slice(1)),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";if(p.length===0)y.push(` __ripEl('${h}');${t}`);else if(p.length===1){let $1=p[0].srcLine??m,a=$1!=null?` // @rip-src:${$1}`:"";y.push(` __ripEl('${h}', {${p[0].code}});${a}`)}else if(new Set(p.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=p[0].srcLine??m,f1=a!=null?` // @rip-src:${a}`:"";y.push(` __ripEl('${h}', {${p.map((_2)=>_2.code).join(", ")}});${f1}`)}else{y.push(` __ripEl('${h}', {${t}`);for(let a of p)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" });")}}};if(u1(R),y.length>0){j.push(" _render() {");for(let c of y)j.push(c);j.push(" }")}}return j.push("}"),this.componentMembers=L,this.reactiveMembers=V,this._autoEventHandlers=N,this._inheritsTag=C,j.join(`
|
|
1311
|
+
`)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],l="";E.push("class extends __Component {"),E.push(" _init(props) {");for(let{name:T,value:j,isPublic:b}of D){let i=this.emitInComponent(j,"value");E.push(b?` this.${T} = props.${T} ?? ${i};`:` this.${T} = ${i};`)}for(let T of I)E.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:j,isPublic:b,required:i}of J)if(b&&i)E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(b){let r=this.emitInComponent(j,"value");E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${r});`)}else{let r=this.emitInComponent(j,"value");E.push(` this.${T} = __state(${r});`)}if(M){if(E.push(" this._rest = {};"),E.push(" for (const __k in props) {"),B.size>0){let T=[...B].map((j)=>`__k !== '${j}'`).join(" && ");E.push(` if (${T} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else E.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");E.push(" }")}for(let{name:T,expr:j}of K)if(this.is(j,"block")){let b=this.transformComponentMembers(j),i=this.emitFunctionBody(b);E.push(` this.${T} = __computed(() => ${i});`)}else{let b=this.emitInComponent(j,"value");E.push(` this.${T} = __computed(() => ${b});`)}for(let T of q)E.push(` setContext('${T}', this.${T});`);for(let T of H){let j=T[2],b=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let i=this.transformComponentMembers(j),r=this.emitFunctionBody(i,[],!0);E.push(` __effect(${b}() => ${r});`)}else{let i=this.emitInComponent(j,"value");E.push(` __effect(${b}() => { ${i}; });`)}}if(E.push(" }"),M)E.push(" _setRestProp(key, value) {"),E.push(" if (key.startsWith('__bind_')) return;"),E.push(" this._rest || (this._rest = {});"),E.push(" if (value == null) delete this._rest[key];"),E.push(" else this._rest[key] = value;"),E.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),E.push(" }"),E.push(" _applyRestToInheritedEl() {"),E.push(" if (!this._inheritedEl || !this._rest) return;"),E.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),E.push(" }"),E.push(" _applyInheritedProp(el, key, value) {"),E.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),E.push(" if (key[0] === '@') {"),E.push(" const event = key.slice(1).split('.')[0];"),E.push(" this._restHandlers || (this._restHandlers = {});"),E.push(" const prev = this._restHandlers[key];"),E.push(" if (prev) el.removeEventListener(event, prev);"),E.push(" if (typeof value === 'function') {"),E.push(" const next = (e) => __batch(() => value(e));"),E.push(" this._restHandlers[key] = next;"),E.push(" el.addEventListener(event, next);"),E.push(" } else {"),E.push(" delete this._restHandlers[key];"),E.push(" }"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'class' || key === 'className') {"),E.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),E.push(" else el.className = __clsx(value);"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'style') {"),E.push(" if (value == null) { el.removeAttribute('style'); return; }"),E.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),E.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),E.push(" }"),E.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),E.push(" el[key] = value ?? '';"),E.push(" return;"),E.push(" }"),E.push(" if (key in el && !key.includes('-')) {"),E.push(" el[key] = value;"),E.push(" return;"),E.push(" }"),E.push(" if (value == null || value === false) {"),E.push(" el.removeAttribute(key);"),E.push(" return;"),E.push(" }"),E.push(" if (value === true) {"),E.push(" el.setAttribute(key, '');"),E.push(" return;"),E.push(" }"),E.push(" el.setAttribute(key, value);"),E.push(" }");for(let{name:T,func:j}of w)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,i]=j;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(i))b=["it"];let r=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",U1=this.reactiveMembers?this.transformComponentMembers(i):i,y=this.containsAwait(i),v=this.emitFunctionBody(U1,b||[]);E.push(` ${y?"async ":""}${T}(${r}) ${v}`)}for(let{name:T,value:j}of X)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,i]=j,r=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",U1=this.reactiveMembers?this.transformComponentMembers(i):i,y=this.containsAwait(i),v=this.emitFunctionBody(U1,b||[]);E.push(` ${y?"async ":""}${T}(${r}) ${v}`)}if(R){let T=R[1],j=this.buildRender(T);if(j.blockFactories.length>0)l=j.blockFactories.join(`
|
|
1278
1312
|
|
|
1279
1313
|
`)+`
|
|
1280
1314
|
|
|
1281
|
-
`;E.push(" _create() {");for(let
|
|
1282
|
-
${
|
|
1315
|
+
`;E.push(" _create() {");for(let b of j.createLines)E.push(` ${b}`);if(E.push(` return ${j.rootVar};`),E.push(" }"),j.setupLines.length>0){E.push(" _setup() {");for(let b of j.setupLines)E.push(` ${b}`);E.push(" }")}}if(E.push("}"),this.componentMembers=L,this.reactiveMembers=V,this._autoEventHandlers=N,this._inheritsTag=C,l)return`(() => {
|
|
1316
|
+
${l}return ${E.join(`
|
|
1283
1317
|
`)};
|
|
1284
1318
|
})()`;return E.join(`
|
|
1285
|
-
`)},f.emitInComponent=function(Y,Z){if(typeof Y==="string"&&this.reactiveMembers&&this.reactiveMembers.has(Y))return`${this._self}.${Y}.value`;if(typeof Y==="string"&&this.componentMembers&&this.componentMembers.has(Y))return`${this._self}.${Y}`;if(Array.isArray(Y)&&this.reactiveMembers){let G=this.transformComponentMembers(Y);return this.emit(G,Z)}return this.emit(Y,Z)},f.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},f.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},f.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},f.buildRender=function(Y){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 Z=this.is(Y,"block")?Y.slice(1):[Y],G;if(Z.length===0||Z.length===1&&Z[0]==="null")G="null";else if(Z.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(Z[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let X=this.emitNode(z);this._createLines.push(`${G}.appendChild(${X});`),Q.push(X)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},f.newBlockVar=function(){return`create_block_${this._blockCount++}`},f.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},f.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(f,"_self",{get(){return this._factoryMode?"ctx":"this"}}),f._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},f.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let w=Y.valueOf();if(w.startsWith('"')||w.startsWith("'")||w.startsWith("`")){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode(${w});`),R}if(this.reactiveMembers&&this.reactiveMembers.has(w)){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${this._self}.${w}.value;`),R}if(w==="slot"&&this.componentMembers){let R=this._self,O=this.newElementVar("slot");return this._createLines.push(`${O} = ${R}.children instanceof Node ? ${R}.children : (${R}.children != null ? document.createTextNode(String(${R}.children)) : document.createComment(''));`),O}let[K,H]=w.split("#"),A=this.newElementVar(),J=K||"div";if(O1.has(J)||this._svgDepth>0)this._createLines.push(`${A} = document.createElementNS('${K2}', '${J}');`);else this._createLines.push(`${A} = document.createElement('${J}');`);if(H)this._createLines.push(`${A}.id = '${H}';`);return this._bindInheritedTarget(J,A),A}if(!Array.isArray(Y)){let w=this.newElementVar("c");return this._createLines.push(`${w} = document.createComment('unknown');`),w}let[Z,...G]=Y,Q=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Q&&this.isComponent(Q))return this.emitChildComponent(Q,G);if(Q==="slot"&&this.componentMembers){let w=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${w}.children instanceof Node ? ${w}.children : (${w}.children != null ? document.createTextNode(String(${w}.children)) : document.createComment(''));`),K}if(Q==="switch"){let w=G[0],K=G[1]||[],A=G[2]||null;for(let R=K.length-1;R>=0;R--){let[,O,P]=K[R],q;if(w===null)q=O.length===1?O[0]:O.reduce((B,D)=>B?["||",B,D]:D,null);else q=O.length===1?["==",w,O[0]]:O.map((B)=>["==",w,B]).reduce((B,D)=>B?["||",B,D]:D,null);A=["if",q,P,A]}if(A){if(Array.isArray(A)&&A[0]==="if")return this.emitConditional(A);return this.emitTemplateBlock(A)}let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('switch');`),J}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[w,K]=Q.split("#");return this.emitTag(w||"div",[],G,K)}if(Q==="."){let[,w,K]=Y;if(w==="this"&&typeof K==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${q}.${K}.value;`),D}let B=this.newElementVar("slot");return this._createLines.push(`${B} = ${q}.${K} instanceof Node ? ${q}.${K} : (${q}.${K} != null ? document.createTextNode(String(${q}.${K})) : document.createComment(''));`),B}let{tag:H,classes:A,id:J,base:R}=this.collectTemplateClasses(Y);if(!_(R,"text")&&H&&this.isHtmlTag(H))return this.emitTag(H,A,[],J);let O=this.newTextVar(),P=this.emitInComponent(Y,"value");return this._createLines.push(`${O} = document.createTextNode(String(${P}));`),O}if(Array.isArray(Z)){if(Array.isArray(Z[0])&&Z[0][0]==="."&&(Z[0][2]==="__clsx"||Z[0][2]instanceof String&&Z[0][2].valueOf()==="__clsx")){let A=Z[0][1],J=Z.slice(1);if(Array.isArray(A)){let{tag:O,classes:P,id:q}=this.collectTemplateClasses(A);if(O){let B=P.map((D)=>`"${D}"`);return this.emitDynamicTag(O,J,G,B,q)}}let R=typeof A==="string"?A:A.valueOf();return this.emitDynamicTag(R,J,G)}let{tag:w,classes:K,id:H}=this.collectTemplateClasses(Z);if(w&&this.isHtmlTag(w)){if(K.length>0&&K[K.length-1]==="__clsx"){let J=K.slice(0,-1).map((R)=>`"${R}"`);return this.emitDynamicTag(w,G,[],J,H)}return this.emitTag(w,K,G,H)}}if(Q==="->"||Q==="=>")return this.emitTemplateBlock(G[1]);if(Q==="if")return this.emitConditional(Y);if(Q==="for"||Q==="for-in"||Q==="for-of"||Q==="for-as")return this.emitTemplateLoop(Y);if(Q==="__text__"){let w=G[0]??"undefined",K=this.newTextVar(),H=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w))this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = String(${H});`);else this._createLines.push(`${K} = document.createTextNode(String(${H}));`);return K}let z=this.newTextVar(),X=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${X};`);else this._createLines.push(`${z} = document.createTextNode(String(${X}));`);return z},f.appendChildren=function(Y,Z){for(let G of Z)if(this.is(G,"->")||this.is(G,"=>")){let Q=G[2];if(this.is(Q,"block"))for(let z of Q.slice(1))if(this.is(z,"object"))this.emitAttributes(Y,z);else{let X=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${X});`)}else if(Q){let z=this.emitNode(Q);this._createLines.push(`${Y}.appendChild(${z});`)}}else if(this.is(G,"object"))this.emitAttributes(Y,G);else if(typeof G==="string"||G instanceof String){let Q=G.valueOf(),z=Q.split(/[#.]/)[0];if(this.isHtmlTag(z||"div")||this.isComponent(z)){let X=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${X});`)}else{let X=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${X} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${X} = document.createTextNode('');`),this._pushEffect(`${X}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${X} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${X} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${X});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},f._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},f._emitAutoWire=function(Y,Z){if(!Z)return;for(let[G,Q]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${Y}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Q}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},f._bindInheritedTarget=function(Y,Z){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(Y!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${Z};`),this._createLines.push("this._applyRestToInheritedEl();")},f.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),X=O1.has(Y)||this._svgDepth>0;if(X)this._createLines.push(`${z} = document.createElementNS('${K2}', '${Y}');`);else this._createLines.push(`${z} = document.createElement('${Y}');`);if(Q)this._createLines.push(`${z}.id = '${Q}';`);if(this._bindInheritedTarget(Y,z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${z}.setAttribute('data-part', '${this._componentName}');`);let w=this._claimAutoWire(z),K=this._pendingClassArgs,H=this._pendingClassEl;if(Z.length>0)this._pendingClassArgs=[`'${Z.join(" ")}'`],this._pendingClassEl=z;if(Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,G),Y==="svg")this._svgDepth--;if(Z.length>0){if(this._pendingClassArgs.length===1)if(X)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let A=this._pendingClassArgs.join(", ");if(X)this._pushEffect(`${z}.setAttribute('class', __clsx(${A}));`);else this._pushEffect(`${z}.className = __clsx(${A});`)}this._pendingClassArgs=K,this._pendingClassEl=H}return this._emitAutoWire(z,w),z},f.emitDynamicTag=function(Y,Z,G,Q,z){let X=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${X} = document.createElementNS('${K2}', '${Y}');`);else this._createLines.push(`${X} = document.createElement('${Y}');`);if(z)this._createLines.push(`${X}.id = '${z}';`);this._bindInheritedTarget(Y,X);let w=this._claimAutoWire(X),K=[...Q||[],...Z.map((J)=>this.emitInComponent(J,"value"))],H=this._pendingClassArgs,A=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=X,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(X,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let J=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${X}.setAttribute('class', __clsx(${J}));`);else this._pushEffect(`${X}.className = __clsx(${J});`)}return this._pendingClassArgs=H,this._pendingClassEl=A,this._emitAutoWire(X,w),X},f.emitAttributes=function(Y,Z){let G=x5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,X]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let w=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(w);if(typeof X==="string"&&this.componentMembers?.has(X))this._createLines.push(`${Y}.addEventListener('${w}', (e) => __batch(() => ${this._self}.${X}(e)));`);else{let K=this.emitInComponent(X,"value");this._createLines.push(`${Y}.addEventListener('${w}', (e) => __batch(() => (${K})(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 K=this.emitInComponent(X,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(X))if(this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${Y}.className = __clsx(${K});`);else if(this._svgDepth>0)this._createLines.push(`${Y}.setAttribute('class', ${K});`);else this._createLines.push(`${Y}.className = ${K};`);continue}if(z==="__transition__"){let K=String(X).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(X).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(_3)&&z.endsWith(Y3)){let K=z.slice(_3.length,-Y3.length),H=this.emitInComponent(X,"value"),A,J;if(K==="checked")A="change",J="e.target.checked";else A="input",J=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${H};`);let R=`${H} = ${J}`,O=!this.isSimpleAssignable(X)&&this.findRootReactiveMember(X);if(O)R+=`; ${this._self}.${O}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${A}', (e) => { ${R}; });`);continue}let w=this.emitInComponent(X,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(X)){this._pushEffect(`${Y}.${z} = ${w};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(X))this._pushEffect(`${Y}.${z} = ${w};`);else this._createLines.push(`${Y}.${z} = ${w};`);else if(c5.has(z))if(this.hasReactiveDeps(X))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${w});`);else this._createLines.push(`if (${w}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(X))if(Array.isArray(X)&&X[0]==="presence")this._pushEffect(`{ const __v = ${w}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${w});`);else if(Array.isArray(X)&&X[0]==="presence")this._createLines.push(`{ const __v = ${w}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${w});`)}}},f.emitTemplateBlock=function(Y){if(!Array.isArray(Y)||Y[0]!=="block")return this.emitNode(Y);let Z=Y.slice(1);if(Z.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(Z.length===1)return this.emitNode(Z[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let X=this.emitNode(z);this._createLines.push(`${G}.appendChild(${X});`),Q.push(X)}return this._fragChildren.set(G,Q),G},f.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let P=Y[Y.length-1];for(let q=Y.length-2;q>=3;q--)P=[...Y[q],P];Y=[Y[0],Y[1],Y[2],P]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let X=this.emitInComponent(Z,"value"),w=this._loopVarStack.map((P)=>`${P.itemVar}, ${P.indexVar}`).join(", "),K=w?`, ${w}`:"",H=this.newBlockVar();this.emitConditionBranch(H,G);let A=null;if(Q)A=this.newBlockVar(),this.emitConditionBranch(A,Q);let J=[];J.push(`// Conditional: ${H}${A?" / "+A:""}`),J.push("{"),J.push(` const anchor = ${z};`),J.push(" let currentBlock = null;"),J.push(" let showing = null;");let R=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",O=this._factoryMode?"}));":"});";if(J.push(` ${R}`),J.push(` const show = !!(${X});`),J.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),J.push(" if (want === showing) return;"),J.push(""),J.push(" if (currentBlock) {"),J.push(" const leaving = currentBlock;"),J.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),J.push(" else { leaving.d(true); }"),J.push(" currentBlock = null;"),J.push(" }"),J.push(" showing = want;"),J.push(""),J.push(" if (want === 'then') {"),J.push(` currentBlock = ${H}(${this._self}${K});`),J.push(" currentBlock.c();"),J.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),J.push(` currentBlock.p(${this._self}${K});`),J.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),J.push(" }"),Q)J.push(" if (want === 'else') {"),J.push(` currentBlock = ${A}(${this._self}${K});`),J.push(" currentBlock.c();"),J.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),J.push(` currentBlock.p(${this._self}${K});`),J.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),J.push(" }");if(J.push(` ${O}`),this._factoryMode)J.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return J.push("}"),this._setupLines.push(J.join(`
|
|
1286
|
-
`)),z},
|
|
1287
|
-
`))},
|
|
1288
|
-
`)),
|
|
1319
|
+
`)},u.emitInComponent=function(Y,Z){if(typeof Y==="string"&&this.reactiveMembers&&this.reactiveMembers.has(Y))return`${this._self}.${Y}.value`;if(typeof Y==="string"&&this.componentMembers&&this.componentMembers.has(Y))return`${this._self}.${Y}`;if(Array.isArray(Y)&&this.reactiveMembers){let G=this.transformComponentMembers(Y);return this.emit(G,Z)}return this.emit(Y,Z)},u.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},u.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},u.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},u.buildRender=function(Y){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 Z=this.is(Y,"block")?Y.slice(1):[Y],G;if(Z.length===0||Z.length===1&&Z[0]==="null")G="null";else if(Z.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(Z[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},u.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},u.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let J=Y.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode(${J});`),H}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${this._self}.${J}.value;`),H}if(J==="slot"&&this.componentMembers){let H=this._self,q=this.newElementVar("slot");return this._createLines.push(`${q} = ${H}.children instanceof Node ? ${H}.children : (${H}.children != null ? document.createTextNode(String(${H}.children)) : document.createComment(''));`),q}let[K,D]=J.split("#"),w=this.newElementVar(),X=K||"div";if(O1.has(X)||this._svgDepth>0)this._createLines.push(`${w} = document.createElementNS('${M2}', '${X}');`);else this._createLines.push(`${w} = document.createElement('${X}');`);if(D)this._createLines.push(`${w}.id = '${D}';`);return this._bindInheritedTarget(X,w),w}if(!Array.isArray(Y)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[Z,...G]=Y,Q=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Q&&this.isComponent(Q))return this.emitChildComponent(Q,G);if(Q==="slot"&&this.componentMembers){let J=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),K}if(Q==="switch"){let J=G[0],K=G[1]||[],w=G[2]||null;for(let H=K.length-1;H>=0;H--){let[,q,I]=K[H],R;if(J===null)R=q.length===1?q[0]:q.reduce((S,O)=>S?["||",S,O]:O,null);else R=q.length===1?["==",J,q[0]]:q.map((S)=>["==",J,S]).reduce((S,O)=>S?["||",S,O]:O,null);w=["if",R,I,w]}if(w){if(Array.isArray(w)&&w[0]==="if")return this.emitConditional(w);return this.emitTemplateBlock(w)}let X=this.newElementVar("c");return this._createLines.push(`${X} = document.createComment('switch');`),X}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[J,K]=Q.split("#");return this.emitTag(J||"div",[],G,K)}if(Q==="."){let[,J,K]=Y;if(J==="this"&&typeof K==="string"){let R=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode('');`),this._pushEffect(`${O}.data = ${R}.${K}.value;`),O}let S=this.newElementVar("slot");return this._createLines.push(`${S} = ${R}.${K} instanceof Node ? ${R}.${K} : (${R}.${K} != null ? document.createTextNode(String(${R}.${K})) : document.createComment(''));`),S}let{tag:D,classes:w,id:X,base:H}=this.collectTemplateClasses(Y);if(!_(H,"text")&&D&&this.isHtmlTag(D))return this.emitTag(D,w,[],X);let q=this.newTextVar(),I=this.emitInComponent(Y,"value");return this._createLines.push(`${q} = document.createTextNode(String(${I}));`),q}if(Array.isArray(Z)){if(Array.isArray(Z[0])&&Z[0][0]==="."&&(Z[0][2]==="__clsx"||Z[0][2]instanceof String&&Z[0][2].valueOf()==="__clsx")){let w=Z[0][1],X=Z.slice(1);if(Array.isArray(w)){let{tag:q,classes:I,id:R}=this.collectTemplateClasses(w);if(q){let S=I.map((O)=>`"${O}"`);return this.emitDynamicTag(q,X,G,S,R)}}let H=typeof w==="string"?w:w.valueOf();return this.emitDynamicTag(H,X,G)}let{tag:J,classes:K,id:D}=this.collectTemplateClasses(Z);if(J&&this.isHtmlTag(J)){if(K.length>0&&K[K.length-1]==="__clsx"){let X=K.slice(0,-1).map((H)=>`"${H}"`);return this.emitDynamicTag(J,G,[],X,D)}return this.emitTag(J,K,G,D)}}if(Q==="->"||Q==="=>")return this.emitTemplateBlock(G[1]);if(Q==="if")return this.emitConditional(Y);if(Q==="for"||Q==="for-in"||Q==="for-of"||Q==="for-as")return this.emitTemplateLoop(Y);if(Q==="__text__"){let J=G[0]??"undefined",K=this.newTextVar(),D=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J))this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = String(${D});`);else this._createLines.push(`${K} = document.createTextNode(String(${D}));`);return K}let z=this.newTextVar(),A=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${A};`);else this._createLines.push(`${z} = document.createTextNode(String(${A}));`);return z},u.appendChildren=function(Y,Z){for(let G of Z)if(this.is(G,"->")||this.is(G,"=>")){let Q=G[2];if(this.is(Q,"block"))for(let z of Q.slice(1))if(this.is(z,"object"))this.emitAttributes(Y,z);else{let A=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${A});`)}else if(Q){let z=this.emitNode(Q);this._createLines.push(`${Y}.appendChild(${z});`)}}else if(this.is(G,"object"))this.emitAttributes(Y,G);else if(typeof G==="string"||G instanceof String){let Q=G.valueOf(),z=Q.split(/[#.]/)[0];if(this.isHtmlTag(z||"div")||this.isComponent(z)){let A=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${A});`)}else{let A=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${A} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${A} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${A} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${A});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},u._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(Y,Z){if(!Z)return;for(let[G,Q]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${Y}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Q}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(Y,Z){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(Y!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${Z};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),A=O1.has(Y)||this._svgDepth>0;if(A)this._createLines.push(`${z} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${z} = document.createElement('${Y}');`);if(Q)this._createLines.push(`${z}.id = '${Q}';`);if(this._bindInheritedTarget(Y,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),K=this._pendingClassArgs,D=this._pendingClassEl;if(Z.length>0)this._pendingClassArgs=[`'${Z.join(" ")}'`],this._pendingClassEl=z;if(Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,G),Y==="svg")this._svgDepth--;if(Z.length>0){if(this._pendingClassArgs.length===1)if(A)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let w=this._pendingClassArgs.join(", ");if(A)this._pushEffect(`${z}.setAttribute('class', __clsx(${w}));`);else this._pushEffect(`${z}.className = __clsx(${w});`)}this._pendingClassArgs=K,this._pendingClassEl=D}return this._emitAutoWire(z,J),z},u.emitDynamicTag=function(Y,Z,G,Q,z){let A=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${A} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${A} = document.createElement('${Y}');`);if(z)this._createLines.push(`${A}.id = '${z}';`);this._bindInheritedTarget(Y,A);let J=this._claimAutoWire(A),K=[...Q||[],...Z.map((X)=>this.emitInComponent(X,"value"))],D=this._pendingClassArgs,w=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=A,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(A,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let X=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${A}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${A}.className = __clsx(${X});`)}return this._pendingClassArgs=D,this._pendingClassEl=w,this._emitAutoWire(A,J),A},u.emitAttributes=function(Y,Z){let G=m5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,A]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let J=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(J);if(typeof A==="string"&&this.componentMembers?.has(A))this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${A}(e)));`);else{let K=this.emitInComponent(A,"value");this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => (${K})(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 K=this.emitInComponent(A,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(A))if(this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${Y}.className = __clsx(${K});`);else if(this._svgDepth>0)this._createLines.push(`${Y}.setAttribute('class', ${K});`);else this._createLines.push(`${Y}.className = ${K};`);continue}if(z==="__transition__"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(F3)&&z.endsWith(Z3)){let K=z.slice(F3.length,-Z3.length),D=this.emitInComponent(A,"value"),w,X;if(K==="checked")w="change",X="e.target.checked";else w="input",X=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${D};`);let H=`${D} = ${X}`,q=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(q)H+=`; ${this._self}.${q}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${w}', (e) => { ${H}; });`);continue}let J=this.emitInComponent(A,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(A)){this._pushEffect(`${Y}.${z} = ${J};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.${z} = ${J};`);else this._createLines.push(`${Y}.${z} = ${J};`);else if(l5.has(z))if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${J});`);else this._createLines.push(`if (${J}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(A))if(Array.isArray(A)&&A[0]==="presence")this._pushEffect(`{ const __v = ${J}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${J});`);else if(Array.isArray(A)&&A[0]==="presence")this._createLines.push(`{ const __v = ${J}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${J});`)}}},u.emitTemplateBlock=function(Y){if(!Array.isArray(Y)||Y[0]!=="block")return this.emitNode(Y);let Z=Y.slice(1);if(Z.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(Z.length===1)return this.emitNode(Z[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}return this._fragChildren.set(G,Q),G},u.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let I=Y[Y.length-1];for(let R=Y.length-2;R>=3;R--)I=[...Y[R],I];Y=[Y[0],Y[1],Y[2],I]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let A=this.emitInComponent(Z,"value"),J=this._loopVarStack.map((I)=>`${I.itemVar}, ${I.indexVar}`).join(", "),K=J?`, ${J}`:"",D=this.newBlockVar();this.emitConditionBranch(D,G);let w=null;if(Q)w=this.newBlockVar(),this.emitConditionBranch(w,Q);let X=[];X.push(`// Conditional: ${D}${w?" / "+w:""}`),X.push("{"),X.push(` const anchor = ${z};`),X.push(" let currentBlock = null;"),X.push(" let showing = null;");let H=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",q=this._factoryMode?"}));":"});";if(X.push(` ${H}`),X.push(` const show = !!(${A});`),X.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),X.push(" if (want === showing) return;"),X.push(""),X.push(" if (currentBlock) {"),X.push(" const leaving = currentBlock;"),X.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),X.push(" else { leaving.d(true); }"),X.push(" currentBlock = null;"),X.push(" }"),X.push(" showing = want;"),X.push(""),X.push(" if (want === 'then') {"),X.push(` currentBlock = ${D}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }"),Q)X.push(" if (want === 'else') {"),X.push(` currentBlock = ${w}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }");if(X.push(` ${q}`),this._factoryMode)X.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return X.push("}"),this._setupLines.push(X.join(`
|
|
1320
|
+
`)),z},u.emitConditionBranch=function(Y,Z){let G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Q=this.emitTemplateBlock(Z),z=this._createLines,A=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let K=this._loopVarStack.map((w)=>`${w.itemVar}, ${w.indexVar}`).join(", "),D=K?`, ${K}`:"";this.emitBlockFactory(Y,`ctx${D}`,Q,z,A,J)},u.emitBlockFactory=function(Y,Z,G,Q,z,A,J){let K=[];if(K.push(`function ${Y}(${Z}) {`),A.size>0)K.push(` let ${[...A].join(", ")};`);let D=z.length>0;if(D)K.push(" let disposers = [];");if(K.push(" return {"),J)K.push(" _s: true,");let w=this._fragChildren.get(G),X=w?w[0]:G;K.push(" c() {");for(let H of Q)K.push(` ${H}`);if(K.push(` this._first = ${X};`),K.push(" },"),K.push(" m(target, anchor) {"),w)for(let H of w)K.push(` if (target) target.insertBefore(${H}, anchor);`);else K.push(` if (target) target.insertBefore(${G}, anchor);`);if(K.push(" },"),K.push(` p(${Z}) {`),D){K.push(" disposers.forEach(d => d());"),K.push(" disposers = [];");for(let H of z)K.push(` ${H}`)}if(K.push(" },"),K.push(" d(detaching) {"),D)K.push(" disposers.forEach(d => d());");if(w)for(let H of w)K.push(` if (detaching && ${H}) ${H}.remove();`);else K.push(` if (detaching && ${G}) ${G}.remove();`);K.push(" }"),K.push(" };"),K.push("}"),this._blockFactories.push(K.join(`
|
|
1321
|
+
`))},u.emitTemplateLoop=function(Y){this._pendingAutoWire=!1;let[Z,G,Q,z,A,J]=Y,K=this.newBlockVar(),D=this.newElementVar("anchor");this._createLines.push(`${D} = document.createComment('for');`);let w=Array.isArray(G)?G:[G],X=w[0],H=w[1]||null;if(!H){let i=new Set(this._loopVarStack.flatMap((r)=>[r.itemVar,r.indexVar]));i.add(X);for(let r of["i","j","k","l","m","n"])if(!i.has(r)){H=r;break}H=H||`_i${this._loopVarStack.length}`}let q=this.emitInComponent(Q,"value"),I=X;if(this.is(J,"block")&&J.length>1){let i=J[1];if(Array.isArray(i))for(let r of i){if(this.is(r,"object"))for(let U1=1;U1<r.length;U1++){let[y,v]=r[U1];if(y==="key"){I=this.emit(v,"value");break}}if(I!==X)break}}let R=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let S=this._loopVarStack.map((i)=>`${i.itemVar}, ${i.indexVar}`).join(", "),O=S?`, ${S}`:"";this._loopVarStack.push({itemVar:X,indexVar:H});let P=this.emitTemplateBlock(J);this._loopVarStack.pop();let M=this._createLines,B=this._setupLines,L=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=R;let V=B.length===0,N=`ctx, ${X}, ${H}${O}`;this.emitBlockFactory(K,N,P,M,B,L,V);let E=I!==X?`(${X}, ${H}) => ${I}`:"null",l=S?`, ${S}`:"",T=[];T.push(`// Loop: ${K}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",b=this._factoryMode?"}));":"});";return T.push(` ${j}`),T.push(` __reconcile(${D}, __s, ${q}, ${this._self}, ${K}, ${E}${l});`),T.push(` ${b}`),T.push("}"),this._setupLines.push(T.join(`
|
|
1322
|
+
`)),D},u.emitChildComponent=function(Y,Z){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Q=this.newElementVar("el"),{propsCode:z,reactiveProps:A,eventBindings:J,childrenSetupLines:K}=this.buildComponentProps(Z),D=this._self;this._createLines.push(`{ const __prev = __pushComponent(${D}); try {`),this._createLines.push(`${G} = new ${Y}(${z});`),this._createLines.push(`${Q} = ${G}._root = ${G}._create();`),this._createLines.push(`(${D}._children || (${D}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:w,value:X}of J){let H=this.emitInComponent(X,"value");this._createLines.push(`${Q}.addEventListener('${w}', (e) => __batch(() => (${H})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:w,valueCode:X}of A)this._pushEffect(`if (${G}.${w} && typeof ${G}.${w} === 'object' && 'value' in ${G}.${w}) ${G}.${w}.value = ${X}; else if (${G}._setRestProp) ${G}._setRestProp('${w}', ${X});`);for(let w of K)this._setupLines.push(w);return Q},u.buildComponentProps=function(Y){let Z=[],G=[],Q=[],z=null,A=[],J=(w,X)=>{if(w.startsWith("@")){Q.push({event:w.slice(1).split(".")[0],value:X});return}if(this.reactiveMembers&&(typeof X==="string"&&this.reactiveMembers.has(X)||Array.isArray(X)&&X[0]==="."&&X[1]==="this"&&typeof X[2]==="string"&&this.reactiveMembers.has(X[2]))){let q=typeof X==="string"?X:X[2];Z.push(`${w}: ${this._self}.${q}`)}else{let q=this.emitInComponent(X,"value");if(Z.push(`${w}: ${q}`),this.hasReactiveDeps(X))G.push({key:w,valueCode:q})}},K=(w)=>{for(let X=1;X<w.length;X++){let[,H,q]=w[X];if(typeof H==="string")J(H,q);else if(Array.isArray(H)&&H[0]==="."&&H[1]==="this"&&typeof H[2]==="string")Q.push({event:H[2],value:q})}};for(let w of Y)if(this.is(w,"object"))K(w);else if(Array.isArray(w)&&(w[0]==="->"||w[0]==="=>")){let X=w[2];if(X){if(this.is(X,"block")){let H=[];for(let q of X.slice(1))if(this.is(q,"object"))K(q);else H.push(q);X=H.length>0?["block",...H]:null}if(X){let H=this._createLines,q=this._setupLines;this._createLines=[],this._setupLines=[],z=this.emitTemplateBlock(X);let I=this._createLines,R=this._setupLines;this._createLines=H,this._setupLines=q;for(let S of I)this._createLines.push(S);A.push(...R),Z.push(`children: ${z}`)}}}else if(w&&!z){let X=this.newTextVar(),H=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w)){this._createLines.push(`${X} = document.createTextNode('');`);let q=`${X}.data = ${H};`,I=this._factoryMode?`disposers.push(__effect(() => { ${q} }));`:`__effect(() => { ${q} });`;A.push(I)}else this._createLines.push(`${X} = document.createTextNode(${H});`);z=X,Z.push(`children: ${z}`)}return{propsCode:Z.length>0?`{ ${Z.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Q,childrenSetupLines:A}},u.hasReactiveDeps=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(!Array.isArray(Y))return!1;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));if(Y[0]==="."&&this._rootsAtThis(Y[1]))return!0;if(Array.isArray(Y[0])&&Y[0][0]==="."&&Y[0][1]==="this"){let Z=$(Y[0][2]);if(Z&&this.componentMembers?.has(Z))return!0}for(let Z of Y)if(this.hasReactiveDeps(Z))return!0;return!1},u.isSimpleAssignable=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));return!1},u.findRootReactiveMember=function(Y){if(typeof Y==="string")return this.reactiveMembers?.has(Y)?Y:null;if(!Array.isArray(Y))return null;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return this.reactiveMembers?.has(Y[2])?Y[2]:null;if(Y[0]==="."||Y[0]==="[]")return this.findRootReactiveMember(Y[1]);return null},u._rootsAtThis=function(Y){if(typeof Y==="string")return Y==="this";if(!Array.isArray(Y)||Y[0]!==".")return!1;return this._rootsAtThis(Y[1])},u.getComponentRuntime=function(){return`
|
|
1289
1323
|
// ============================================================================
|
|
1290
1324
|
// Rip Component Runtime
|
|
1291
1325
|
// ============================================================================
|
|
@@ -1566,98 +1600,98 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1566
1600
|
globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
|
|
1567
1601
|
}
|
|
1568
1602
|
|
|
1569
|
-
`}}function
|
|
1570
|
-
`)}formatHTML(){let
|
|
1571
|
-
`)}_snippet(){if(this.source==null||this.line==null)return null;let
|
|
1572
|
-
`),U=this.line;if(U<0||U>=
|
|
1573
|
-
`)>=0){let _=U.match(/\/([gimsuvy]*)$/),W=_?_[1]:"",
|
|
1574
|
-
`).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${W}"`}return U}function
|
|
1575
|
-
`)}let W=
|
|
1576
|
-
`))return" ".repeat(U)+Q}let $=" ".repeat(U),F;if(Array.isArray(W)){if(F=
|
|
1603
|
+
`}}function C1(f){let U="",_=f<0?-f<<1|1:f<<1;do{let W=_&31;if(_>>>=5,_>0)W|=32;U+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[W]}while(_>0);return U}class O2{constructor(f,U,_=null){this.file=f,this.source=U,this.sourceContent=_,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 U=this.names.length;return this.names.push(f),this.nameIndex.set(f,U),U}addMapping(f,U,_,W,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(_==null){this.lines[f].push(C1(U-this.prevGenCol)),this.prevGenCol=U;return}this.mappings.push({genLine:f,genCol:U,origLine:_,origCol:W});let $=C1(U-this.prevGenCol);if(this.prevGenCol=U,$+=C1(0),$+=C1(_-this.prevOrigLine),this.prevOrigLine=_,$+=C1(W-this.prevOrigCol),this.prevOrigCol=W,u!=null){let F=this.addName(u);$+=C1(F-this.prevNameIdx),this.prevNameIdx=F}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let U of this.mappings){if(!f.has(U.origLine))f.set(U.origLine,[]);f.get(U.origLine).push({origCol:U.origCol,genLine:U.genLine,genCol:U.genCol})}return f}toJSON(){let f=this.lines.map((_)=>_.join(",")).join(";"),U={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)U.sourcesContent=[this.sourceContent];return JSON.stringify(U)}}class Z1 extends Error{constructor(f,{code:U=null,file:_=null,line:W=null,column:u=null,length:$=1,source:F=null,suggestion:Y=null,phase:Z=null}={}){super(f);this.name="RipError",this.code=U,this.file=_,this.line=W,this.column=u,this.length=$,this.source=F,this.suggestion=Y,this.phase=Z}static fromLexer(f,U,_){let W=f.location||{};return new Z1(f.message,{code:"E_SYNTAX",file:_,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:U,phase:"lexer"})}static fromParser(f,U,_){let W=f.hash||{},u=W.loc||{},$=W.line??u.r??null,F=u.first_column??u.c??null,Y=null;if(W.expected?.length){if(Y=`Expected ${W.expected.slice(0,5).map((A)=>A.replace(/'/g,"")).join(", ")}`,W.expected.length>5)Y+=`, ... (${W.expected.length} total)`}let Z=W.token||"token",G=W.text?` near '${W.text}'`:"",Q=`Unexpected ${Z}${G}`;return new Z1(Q,{code:"E_PARSE",file:_,line:$,column:F,length:W.text?.length||1,source:U,suggestion:Y,phase:"parser"})}static fromSExpr(f,U,_,W,u){let $=U?.loc||{};return new Z1(f,{code:"E_CODEGEN",file:W,line:$.r??null,column:$.c??null,length:$.n??1,source:_,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 U=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:""},_=[],W=this.locationString,u=W?`${U.cyan}${W}${U.reset} `:"";_.push(`${u}${U.red}${U.bold}error${U.reset}${U.bold}: ${this.message}${U.reset}`);let $=this._snippet();if($){_.push("");for(let F of $)if(F.type==="source")_.push(`${U.dim}${F.gutter}${U.reset}${F.text}`);else if(F.type==="caret")_.push(`${U.dim}${F.gutter}${U.reset}${U.red}${U.bold}${F.text}${U.reset}`)}if(this.suggestion)_.push(""),_.push(`${U.yellow}hint${U.reset}: ${this.suggestion}`);return _.join(`
|
|
1604
|
+
`)}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 U=this.locationString,_=U?`<span class="re-loc">${B1(U)}</span> `:"";f.push(`<div class="re-header">${_}error: ${B1(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">${B1(u.gutter)}</span>${B1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${B1(u.gutter)}</span><span class="re-caret">${B1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${B1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
|
|
1605
|
+
`)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
|
|
1606
|
+
`),U=this.line;if(U<0||U>=f.length)return null;let _=2,W=Math.max(0,U-_),u=Math.min(f.length-1,U+_),$=String(u+1).length,F=[];for(let Y=W;Y<=u;Y++){let G=` ${String(Y+1).padStart($)} │ `;if(F.push({type:"source",gutter:G,text:f[Y]}),Y===U&&this.column!=null){let Q=" ".repeat(this.column),z=Math.max(1,Math.min(this.length||1,f[Y].length-this.column)),A="^".repeat(z),J=" ".repeat($+2)+"│ ";F.push({type:"caret",gutter:J,text:`${Q}${A}`})}}return F}}function k5(f){return f instanceof SyntaxError&&f.location!=null}function i5(f){return!(f instanceof SyntaxError)&&f.hash!=null}function T1(f,U,_){if(f instanceof Z1){if(_&&!f.file)f.file=_;if(U&&!f.source)f.source=U;return f}if(k5(f))return Z1.fromLexer(f,U,_);if(i5(f))return Z1.fromParser(f,U,_);return new Z1(f.message,{file:_,source:U,phase:"unknown"})}function I1(f,{source:U,file:_,color:W=!0}={}){return(f instanceof Z1?f:T1(f,U,_)).format({color:W})}function R2(f,{source:U,file:_}={}){return(f instanceof Z1?f:T1(f,U,_)).formatHTML()}function B1(f){return f.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var W1=(f,U)=>f instanceof String?f[U]:void 0,k=(f)=>f instanceof String?f.valueOf():f,d5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),p5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),n5=new Set(["true","false","null","undefined","Infinity","NaN"]);function u2(f){if(!Array.isArray(f)||f.length===0)return!1;let U=f[0]?.valueOf?.()??f[0];if(d5.has(U))return!0;return f.length<=4&&!f.some(Array.isArray)}function x1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let U=String(f);if(U[0]==="/"&&U.indexOf(`
|
|
1607
|
+
`)>=0){let _=U.match(/\/([gimsuvy]*)$/),W=_?_[1]:"",u=U.slice(1);return u=W?u.slice(0,-W.length-1):u.slice(0,-1),`"/${u.split(`
|
|
1608
|
+
`).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${W}"`}return U}function X1(f,U=0,_=!1){if(!Array.isArray(f))return x1(f);if(_&&f[0]==="program"){let G=f[1],z=[Array.isArray(G)?"(program":"(program "+x1(G)],A=Array.isArray(G)?1:2;for(let J=A;J<f.length;J++){let K=X1(f[J],2,!1);z.push(K[0]==="("?" "+K:K)}return z.push(")"),z.join(`
|
|
1609
|
+
`)}let W=f[0];if(u2(f)&&f.slice(1).every((G)=>!Array.isArray(G)||u2(G))){let Q=`(${f.map((z)=>Array.isArray(z)?X1(z,0,!1):x1(z)).join(" ")})`;if(!Q.includes(`
|
|
1610
|
+
`))return" ".repeat(U)+Q}let $=" ".repeat(U),F;if(Array.isArray(W)){if(F=X1(W,0,!1),F.includes(`
|
|
1577
1611
|
`))F=F.split(`
|
|
1578
1612
|
`).map((Q,z)=>z===0?Q:" ".repeat(U+2)+Q).join(`
|
|
1579
|
-
`)}else F=
|
|
1580
|
-
`)){Y[Y.length-1]+=" "+
|
|
1581
|
-
`)}class Y1{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",schema:"emitSchema",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString",symbol:"emitSymbol"};constructor(
|
|
1582
|
-
`).length}}static _isColInsideString(
|
|
1583
|
-
`);for(let{name:F,origLine:Y,origCol:Z}of
|
|
1584
|
-
`),
|
|
1585
|
-
`))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=F.includes("'")&&!F.includes('"')?'"':"'",Z=F.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${Z}${Y}`}if(this.reactiveVars?.has(
|
|
1586
|
-
`),Q=!1;if($.length>0)
|
|
1587
|
-
`),Q=!0;if(this.programVars.size>0){let
|
|
1588
|
-
`;
|
|
1589
|
-
`,Q=!0}}if(
|
|
1590
|
-
`;
|
|
1591
|
-
`,Q=!0}}let z=this.options.skipPreamble,
|
|
1592
|
-
`;
|
|
1593
|
-
`,Q=!0;if(this.helpers.has("modulo"))
|
|
1594
|
-
`,Q=!0;if(this.helpers.has("toMatchable"))
|
|
1595
|
-
`,
|
|
1596
|
-
`,
|
|
1597
|
-
`,
|
|
1598
|
-
`,
|
|
1599
|
-
`,
|
|
1600
|
-
`,
|
|
1601
|
-
`,
|
|
1602
|
-
`,
|
|
1603
|
-
`,
|
|
1604
|
-
`,
|
|
1605
|
-
`,
|
|
1606
|
-
`,
|
|
1607
|
-
`,
|
|
1608
|
-
`,Q=!0}if(this.usesReactivity&&!z){if(
|
|
1609
|
-
`;else if(typeof globalThis<"u"&&globalThis.__rip)
|
|
1610
|
-
`;else
|
|
1611
|
-
`;else if(typeof globalThis<"u"&&globalThis.__ripComponent)
|
|
1612
|
-
`;else
|
|
1613
|
-
`;else if(typeof globalThis<"u"&&globalThis.__ripSchema)
|
|
1614
|
-
`;else
|
|
1613
|
+
`)}else F=x1(W);let Y=[`${$}(${F}`],Z=W==="block";for(let G=1;G<f.length;G++){let Q=f[G];if(!Array.isArray(Q))Y[Y.length-1]+=" "+x1(Q);else{let z=u2(Q)&&Q.every((A)=>!Array.isArray(A)||u2(A));if(!Z&&z){let A=X1(Q,0,!1);if(!A.includes(`
|
|
1614
|
+
`)){Y[Y.length-1]+=" "+A;continue}}Y.push(X1(Q,U+2,!1))}}return Y[Y.length-1]+=")",Y.join(`
|
|
1615
|
+
`)}class Y1{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",".{}":"emitPick","?.{}":"emitOptPick",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",schema:"emitSchema",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString",symbol:"emitSymbol"};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,U,{suggestion:_}={}){throw Z1.fromSExpr(f,U,this.options.source,this.options.filename,_)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let U=this.emit(f);if(this.sourceMap)this.buildMappings();return U}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let U of this._stmtEntries){if(U.loc)this.sourceMap.addMapping(f,0,U.loc.r,U.loc.c);if(U.sexpr&&U.loc)this.recordSubMappings(U.code,U.sexpr,f);f+=U.code.split(`
|
|
1616
|
+
`).length}}static _isColInsideString(f,U){let _=!1,W="";for(let u=0;u<f.length&&u<U;u++){let $=f[u];if(_){if($==="\\"){u++;continue}if($===W)_=!1}else if($==='"'||$==="'"||$==="`")_=!0,W=$}return _}recordSubMappings(f,U,_){let W=U.loc?U.loc.r:0,u=[];this.collectSubExprs(U,u);let $=f.split(`
|
|
1617
|
+
`);for(let{name:F,origLine:Y,origCol:Z}of u){let G=F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Q=new RegExp("\\b"+G+"\\b","g"),z,A=null,J=1/0,K=Y-W;while((z=Q.exec(f))!==null){let w=f.substring(0,z.index).split(`
|
|
1618
|
+
`),X=w.length-1,H=w[w.length-1].length,q=$[X];if(q&&Y1._isColInsideString(q,H))continue;let I=_+X,R=Math.abs(X-K)*1e4+Math.abs(H-Z);if(R<J)J=R,A={genLine:I,genCol:H}}if(A)this.sourceMap.addMapping(A.genLine,A.genCol,Y,Z)}}collectSubExprs(f,U){if(!Array.isArray(f))return;let _=f[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U);return}if(f.loc){_=k(_);let u=null;if(_==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))u=_;if(u)U.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let W=_==="->"||_==="=>"?2:1;for(let u=W;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U)}collectProgramVariables(f){if(!Array.isArray(f))return;let[U,..._]=f;if(U=k(U),Array.isArray(U)){f.forEach((W)=>this.collectProgramVariables(W));return}if(U==="export"||U==="export-default"||U==="export-all"||U==="export-from")return;if(U==="state"||U==="computed"){let[W]=_,u=k(W)??W;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(U==="readonly"){let[W]=_,u=k(W)??W;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(U==="component")return;if(U==="enum")return;if(Y1.ASSIGNMENT_OPS.has(U)){let[W,u]=_;if(typeof W==="string"||W instanceof String){let $=k(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(U==="for-in"||U==="for-of"||U==="for-as"){this.collectVarsFromLoopHead(_[0],this.programVars),_.slice(1).forEach((W)=>this.collectProgramVariables(W));return}if(U==="def"||U==="->"||U==="=>"||U==="effect")return;if(U==="if"){let[W,u,$]=_;if(this.collectProgramVariables(W),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(U==="try"){if(this.collectProgramVariables(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,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(_.length===3)this.collectProgramVariables(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))this.collectProgramVariables(_[1]);return}_.forEach((W)=>this.collectProgramVariables(W))}collectFunctionVariables(f){let U=new Set,_=(W)=>{if(!Array.isArray(W))return;let[u,...$]=W;if(u=k(u),Array.isArray(u)){W.forEach((F)=>_(F));return}if(Y1.ASSIGNMENT_OPS.has(u)){let[F,Y]=$;if(typeof F==="string")U.add(F);else if(this.is(F,"array"))this.collectVarsFromArray(F,U);else if(this.is(F,"object"))this.collectVarsFromObject(F,U);_(Y);return}if(u==="for-in"||u==="for-of"||u==="for-as"){this.collectVarsFromLoopHead($[0],U),$.slice(1).forEach(_);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(_($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[F,Y]=$[1];if(F&&this.is(F,"object"))F.slice(1).forEach((Z)=>{if(Array.isArray(Z)&&Z.length===2&&typeof Z[1]==="string")U.add(Z[1])});else if(F&&this.is(F,"array"))F.slice(1).forEach((Z)=>{if(typeof Z==="string")U.add(Z)});_(Y)}if($.length===3)_($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))_($[1]);return}$.forEach((F)=>_(F))};return _(f),U}emit(f,U="statement"){if(f instanceof String){if(W1(f,"await")===!0)return`await ${k(f)}()`;if(W1(f,"predicate"))return`(${k(f)} != null)`;if(W1(f,"delimiter")==="///"&&W1(f,"heregex")){let Y=k(f),Z=Y.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Z){let[,G,Q]=Z;return`/${this.processHeregex(G)}/${Q}`}return Y}let F=W1(f,"quote");if(F){let Y=k(f);if(F==='"""'||F==="'''"){let G=this.extractStringContent(f);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(Y[0]===F)return Y;let Z=Y.slice(1,-1);return`${F}${Z}${F}`}f=k(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let F=f.slice(1,-1);if(F.includes(`
|
|
1619
|
+
`))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=F.includes("'")&&!F.includes('"')?'"':"'",Z=F.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${Z}${Y}`}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[_,...W]=f,u=W1(_,"await");_=k(_);let $=Y1.GENERATORS[_];if($)return this[$](_,W,U,f);if(typeof _==="string"&&!_.startsWith('"')&&!_.startsWith("'")){if(Y1.NUMBER_START_RE.test(_))return _;if(_==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(W)})`;let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=u===!0,Z=`${this.emit(_,"value")}(${this._emitArgs(W)})`;return Y?`await ${Z}`:Z}if(Array.isArray(_)&&typeof _[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(_[0]))return`(${f.map((Y)=>this.emit(Y,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||k(_[2])==="new")){let Q=_[1],z=this.emit(Q,"value");return`new ${Array.isArray(Q)?`(${z})`:z}(${this._emitArgs(W)})`}let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=!1,Z;if(_[0]==="."&&W1(_[2],"await")===!0){Y=!0;let[Q,z]=_.slice(1),A=this.emit(Q,"value");Z=`${Y1.NUMBER_LITERAL_RE.test(A)||(this.is(Q,"object")||this.is(Q,"await")||this.is(Q,"yield"))?`(${A})`:A}.${k(z)}`}else Z=this.emit(_,"value");let G=`${Z}(${this._emitArgs(W)})`;return Y?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,f)}emitProgram(f,U,_,W){let u="",$=[],F=[];for(let J of U){if(!Array.isArray(J)){F.push(J);continue}if(J[0]==="import")$.push(J);else F.push(J)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],Z=F.map((J,K)=>{let D=F.length===1&&$.length===0,w=this.is(J,"object"),X=w&&J.length===2&&Array.isArray(J[1])&&Array.isArray(J[1][2])&&J[1][2][0]==="comprehension",H=this.is(J,"comprehension")||this.is(J,"object-comprehension")||this.is(J,"do-iife"),q=this.programVars.size===0,I=D&&w&&q&&!H&&!X,S=K===F.length-1&&H,O;if(I)O=`(${this.emit(J,"value")})`;else if(S)O=this.emit(J,"value");else O=this.emit(J,"statement");if(O&&!O.endsWith(";")){let M=Array.isArray(J)?J[0]:null;if(!Y.includes(M)||!O.endsWith("}"))O+=";"}let P=Array.isArray(J)?J.loc:null;return{code:O,loc:P,sexpr:Array.isArray(J)?J:null}}),G=Z.map((J)=>J.code).join(`
|
|
1620
|
+
`),Q=!1;if($.length>0)u+=$.map((J)=>this.addSemicolon(J,this.emit(J,"statement"))).join(`
|
|
1621
|
+
`),Q=!0;if(this.programVars.size>0){let J=this.programVars.has("_");if(J)this.programVars.delete("_");if(this.programVars.size>0){let K=Array.from(this.programVars).sort().join(", ");if(K){if(Q)u+=`
|
|
1622
|
+
`;u+=`let ${K};
|
|
1623
|
+
`,Q=!0}}if(J){if(Q)u+=`
|
|
1624
|
+
`;u+=`var _;
|
|
1625
|
+
`,Q=!0}}let z=this.options.skipPreamble,A=this.options.skipRuntimes;if(!z){if(Q)u+=`
|
|
1626
|
+
`;u+=m1(),Q=!0;let J=A?"var":"const";if(this.helpers.has("slice"))u+=`${J} slice = [].slice;
|
|
1627
|
+
`,Q=!0;if(this.helpers.has("modulo"))u+=`${J} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
1628
|
+
`,Q=!0;if(this.helpers.has("toMatchable"))u+=`${J} toMatchable = (v, allowNewlines) => {
|
|
1629
|
+
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
1630
|
+
`,u+=` if (v == null) return "";
|
|
1631
|
+
`,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
1632
|
+
`,u+=` if (typeof v === "symbol") return v.description || "";
|
|
1633
|
+
`,u+=` if (v instanceof Uint8Array || v instanceof ArrayBuffer) {
|
|
1634
|
+
`,u+=` return new TextDecoder().decode(v instanceof Uint8Array ? v : new Uint8Array(v));
|
|
1635
|
+
`,u+=` }
|
|
1636
|
+
`,u+=` if (Array.isArray(v)) return v.join(",");
|
|
1637
|
+
`,u+=` if (typeof v.toString === "function" && v.toString !== Object.prototype.toString) {
|
|
1638
|
+
`,u+=` try { return v.toString(); } catch { return ""; }
|
|
1639
|
+
`,u+=` }
|
|
1640
|
+
`,u+=` return "";
|
|
1641
|
+
`,u+=`};
|
|
1642
|
+
`,Q=!0}if(this.usesReactivity&&!z){if(A)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
1643
|
+
`;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
1644
|
+
`;else u+=this.getReactiveRuntime();Q=!0}if(this.usesTemplates&&!z){if(A)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
1645
|
+
`;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
1646
|
+
`;else u+=this.getComponentRuntime();Q=!0}if(this.usesSchemas&&!z){if(A)u+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
|
|
1647
|
+
`;else if(typeof globalThis<"u"&&globalThis.__ripSchema)u+=`const { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
|
|
1648
|
+
`;else u+=this.getSchemaRuntime();Q=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!z)u+=`var DATA;
|
|
1615
1649
|
_setDataSection();
|
|
1616
|
-
`,Q=!0;if(Q&&
|
|
1617
|
-
`;if(this._stmtEntries=Z,this._preambleLines=
|
|
1618
|
-
`).length-1,
|
|
1650
|
+
`,Q=!0;if(Q&&u.length>0)u+=`
|
|
1651
|
+
`;if(this._stmtEntries=Z,this._preambleLines=u.length===0?0:u.split(`
|
|
1652
|
+
`).length-1,u+=G,this.dataSection!==null&&this.dataSection!==void 0)u+=`
|
|
1619
1653
|
|
|
1620
1654
|
function _setDataSection() {
|
|
1621
1655
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
1622
|
-
}`;return f}emitBinaryOp(u,U,_,W){if((u==="+"||u==="-")&&U.length===1)return`(${u}${this.emit(U[0],"value")})`;let[f,$]=U;if(u==="*"){let Y=f?.valueOf?.()??f;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(f,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(u)&&Array.isArray(f)){let Y=f[0]?.valueOf?.()??f[0];if(F.has(Y)){let Z=this.emit(f[1],"value"),G=this.emit(f[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${u} ${Q}))`}}if(u==="==")u="===";if(u==="!=")u="!==";return`(${this.emit(f,"value")} ${u} ${this.emit($,"value")})`}emitModulo(u,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(u,U){let[_,W]=U;this.helpers.add("modulo");let f=this.emit(_,"value"),$=this.emit(W,"value");return`${f} = modulo(${f}, ${$})`}emitFloorDiv(u,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(u,U){let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");return`${f} = Math.floor(${f} / ${$})`}emitAssignment(u,U,_,W){let[f,$]=U,F=u==="?="?"??=":u,Y=this._findOptionalInTarget(f);if(Y){let O=this.emit(Y.guard,"value"),P=this.emit(Y.rewritten,"value"),q=this.emit($,"value");if(_==="value")return`(${O} != null ? (${P} ${F} ${q}) : undefined)`;return`if (${O} != null) ${P} ${F} ${q}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(f instanceof String&&W1(f,"await")!==void 0&&!Z){let O=W1(f,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${d(f)}'`,W)}if(f instanceof String&&W1(f,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(f,"array",0),Q=this.is(f,"object",0);if(G||Q){let O=this.emit($,"value");return Q&&_==="statement"?`(${O})`:O}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,O,P,q]=$,B=d(O),D=q[0]==="return",I=this.emit(f,"value"),M=this.emit(P,"value"),S=q.length>1?q[1]:null,N=D?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(_==="value"){if(B==="??")return`(() => { const __v = ${M}; if (__v == null) ${N}; return (${I} = __v); })()`;if(B==="||")return`(() => { const __v = ${M}; if (!__v) ${N}; return (${I} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${N}; return (${I} = __v); })()`}if(B==="??")return`if ((${I} = ${M}) == null) ${N}`;if(B==="||")return`if (!(${I} = ${M})) ${N}`;return`if ((${I} = ${M})) ${N}`}if(this.is(f,"array")){let O=f.slice(1).findIndex((P)=>this.is(P,"...")||P==="...");if(O!==-1&&O<f.length-2){let P=f.slice(1),q=P.slice(O+1),B=q.length;if(B>0){let D=this.emit($,"value"),M=P.slice(0,O).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),S=q.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),P.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 N=P[O],V=this.is(N,"...")?N[1]:null,L=[];if(M)L.push(`[${M}] = ${D}`);if(V)L.push(`[...${V}] = ${D}.slice(${O}, -${B})`);return L.push(`[${S}] = slice.call(${D}, -${B})`),L.join(", ")}}}if(_==="statement"&&u==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[O,P,q]=$;if(this.is(q,"if")&&q.length===3){let[,B,D]=q,I=Array.isArray(D)&&D.length===1?D[0]:D,M=[O,P,I],S=this.emit(f,"value"),N=this.emit(B,"value"),V=this.emit(M,"value");return`if (${N}) ${S} = ${V}`}}if(_==="statement"&&u==="="&&Array.isArray($)&&$.length===3){let[O,P,q]=$,B=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if(O==="if"&&B){let D=Array.isArray(q)&&q.length===1?q[0]:q,I=this.emit(f,"value"),M=this.unwrapLogical(this.emit(P,"value")),S=this.emit(D,"value");return`if (${M}) ${I} = ${S}`}}let z;if(f instanceof String&&W1(f,"await")!==void 0)z=d(f);else if(typeof f==="string"&&this.reactiveVars?.has(f))z=`${f}.value`;else z=this.emit(f,"value");let X=this._componentName,w=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof f==="string"||f instanceof String))this._componentName=d(f),this._componentTypeParams=f.typeParams||"";if(this.is($,"schema")&&(typeof f==="string"||f instanceof String))this._schemaName=d(f);let H=this.emit($,"value");if(this._componentName=X,this._componentTypeParams=w,this._schemaName=K,!this.is($,"object"))H=this.unwrap(H);let J=_==="value",R=_==="statement"&&this.is(f,"object");if(J||R)return`(${z} ${F} ${H})`;return`${z} ${F} ${H}`}emitPropertyAccess(u,U,_,W){let[f,$]=U;if(this._atParamMap&&f==="this"){let G=this._atParamMap.get(d($));if(G)return G}let F=this.emit(f,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(f,"object")||this.is(f,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${d($)}()`;if(W1($,"predicate"))return`(${Z}.${d($)} != null)`;return`${Z}.${d($)}`}emitOptionalProperty(u,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitRegexIndex(u,U){let[_,W,f]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=f!==null?this.emit(f,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(u,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let f=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(X)=>{if(X===null)return null;let w=d(X)??X;if(typeof w==="number")return w;if(typeof w==="string"&&/^\d+$/.test(w))return+w;if(Array.isArray(X)&&X[0]==="-"&&X.length===2){let K=d(X[1])??X[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(X,w,K)=>{let H=Z(K);if(H!==null&&H!==-1)return`${$}.slice(${X}, ${H+1})`;return`${$}.slice(${X}, +${w} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(f&&this.is(Y,"-",1)&&(d(Y[1])??Y[1])==1)return`${$}.slice(0)`;let X=this.emit(Y,"value");return f?G("0",X,Y):`${$}.slice(0, ${X})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(f&&this.is(Y,"-",1)&&(d(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return f?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let f=d(W[1])??W[1];if(typeof f==="number"||typeof f==="string"&&/^\d+$/.test(f))return`${this.emit(_,"value")}.at(-${f})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(u,U){let[_,W]=U;if(this.is(W,"-",1)){let f=d(W[1])??W[1];if(typeof f==="number"||typeof f==="string"&&/^\d+$/.test(f))return`${this.emit(_,"value")}?.at(-${f})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(u,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((f)=>this.emit(f,"value")).join(", ")})`}emitDef(u,U,_,W){let[f,$,F]=U,Y=W1(f,"await")===!0,Z=d(f),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),X=this.containsYield(F);return`${z?"async ":""}function${X?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(u,U,_,W){let[f,$]=U;if((!f||Array.isArray(f)&&f.length===0)&&this.containsIt($))f=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(f),Z=this.emitFunctionBody($,f,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(u,U,_,W){let[f,$]=U;if((!f||Array.isArray(f)&&f.length===0)&&this.containsIt($))f=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(f),G=f.length===1&&typeof f[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,z=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let w=$[1],K=Array.isArray(w)?w[0]:null;if(K!=="return"&&!i5.has(K)){let H=this.emit(w,"value");if(H[0]==="{")H=`(${H})`;return`${z}${G} => ${H}`}}if(!Array.isArray($)||$[0]!=="block"){let w=this.emit($,"value");if(w[0]==="{")w=`(${w})`;return`${z}${G} => ${w}`}}let X=this.emitFunctionBody($,f,F);return`${z}${G} => ${X}`}emitReturn(u,U,_,W){if(U.length===0)return"return";let[f]=U;if(this.sideEffectOnly&&!(this.is(f,"->")||this.is(f,"=>")))this.error("Cannot return a value from a void function (declared with !)",W);if(this.is(f,"if")){let[,$,F,...Y]=f;if(Y.length===0){let Z=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(Z,"value")}`}}if(this.is(f,"new")&&Array.isArray(f[1])&&f[1][0]==="if"){let[,$,F]=f[1],Y=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(["new",Y],"value")}`}return`return ${this.emit(f,"value")}`}emitState(u,U){let[_,W]=U;this.usesReactivity=!0;let f=d(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(f),`const ${f} = __state(${this.emit(W,"value")})`}emitComputed(u,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let f=d(_)??_;if(this.reactiveVars.add(f),this.is(W,"block")&&W.length>2)return`const ${f} = __computed(() => ${this.emitFunctionBody(W)})`;return`const ${f} = __computed(() => ${this.emit(W,"value")})`}emitReadonly(u,U){let[_,W]=U;return`const ${d(_)??_} = ${this.emit(W,"value")}`}emitEffect(u,U){let[_,W]=U;this.usesReactivity=!0;let f;if(this.is(W,"block"))f=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${d(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else f=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${f})`;if(_)return`const ${d(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(u,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(u,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(u,U,_){let[W,f,$]=U;if((f?.[0]?.valueOf?.()??f?.[0])==="="&&Array.isArray(f)){let Y=this.emit(f[1],"value"),Z=this.emit(f[2],"value"),G=this.emit($,"value");return`${Y} = (${this.unwrap(this.emit(W,"value"))} ? ${Z} : ${G})`}return`(${this.unwrap(this.emit(W,"value"))} ? ${this.emit(f,"value")} : ${this.emit($,"value")})`}emitPipe(u,U){let[_,W]=U,f=this.emit(_,"value");if(Array.isArray(W)&&W.length>1){let $=W[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let Y=this.emit($,"value"),Z=W.slice(1).map((G)=>this.emit(G,"value"));return`${Y}(${f}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${f})`}emitLoop(u,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(u,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(u,U){return`await ${this.emit(U[0],"value")}`}emitYield(u,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(u,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(u,U,_,W){let[f,$,...F]=U;return _==="value"?this.emitIfAsExpression(f,$,F):this.emitIfAsStatement(f,$,F)}emitForIn(u,U,_,W){let[f,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let A=["for-in",f,$,F];return this.emit(["comprehension",Z,[A],Y?[Y]:[]],_)}let G=Array.isArray(f)?f:[f],Q=G.length===0,[z,X]=Q?["_i",null]:G,w=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let A=this.emit($,"value"),J=X||"_i",R=this.emit(F,"value"),O=this.is(F,"-",1),P=O&&(F[1]==="1"||F[1]===1||d(F[1])==="1"),q=!O&&(F==="1"||F===1||d(F)==="1"),B;if(P)B=`for (let ${J} = ${A}.length - 1; ${J} >= 0; ${J}--) `;else if(q)B=`for (let ${J} = 0; ${J} < ${A}.length; ${J}++) `;else if(O)B=`for (let ${J} = ${A}.length - 1; ${J} >= 0; ${J} += ${R}) `;else B=`for (let ${J} = 0; ${J} < ${A}.length; ${J} += ${R}) `;if(this.is(Z,"block")){let D=Z.slice(1);this.indentLevel++;let I=[];if(!Q)I.push(`const ${w} = ${A}[${J}];`);if(Y)I.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,I.push(...this.formatStatements(D)),this.indentLevel--,I.push(this.indent()+"}");else I.push(...D.map((M)=>this.addSemicolon(M,this.emit(M,"statement"))));return this.indentLevel--,B+`{
|
|
1623
|
-
${
|
|
1656
|
+
}`;return u}emitBinaryOp(f,U,_,W){if((f==="+"||f==="-")&&U.length===1)return`(${f}${this.emit(U[0],"value")})`;let[u,$]=U;if(f==="*"){let Y=u?.valueOf?.()??u;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let Y=u[0]?.valueOf?.()??u[0];if(F.has(Y)){let Z=this.emit(u[1],"value"),G=this.emit(u[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${f} ${Q}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(f,U){let[_,W]=U;this.helpers.add("modulo");let u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,U,_,W){let[u,$]=U,F=f==="?="?"??=":f,Y=this._findOptionalInTarget(u);if(Y){let q=this.emit(Y.guard,"value"),I=this.emit(Y.rewritten,"value"),R=this.emit($,"value");if(_==="value")return`(${q} != null ? (${I} ${F} ${R}) : undefined)`;return`if (${q} != null) ${I} ${F} ${R}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&W1(u,"await")!==void 0&&!Z){let q=W1(u,"await")===!0?"!":"&";this.error(`Cannot use ${q} sigil in variable declaration '${k(u)}'`,W)}if(u instanceof String&&W1(u,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(u,"array",0),Q=this.is(u,"object",0);if(G||Q){let q=this.emit($,"value");return Q&&_==="statement"?`(${q})`:q}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,q,I,R]=$,S=k(q),O=R[0]==="return",P=this.emit(u,"value"),M=this.emit(I,"value"),B=R.length>1?R[1]:null,L=O?B?`return ${this.emit(B,"value")}`:"return":B?`throw ${this.emit(B,"value")}`:"throw new Error()";if(_==="value"){if(S==="??")return`(() => { const __v = ${M}; if (__v == null) ${L}; return (${P} = __v); })()`;if(S==="||")return`(() => { const __v = ${M}; if (!__v) ${L}; return (${P} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${L}; return (${P} = __v); })()`}if(S==="??")return`if ((${P} = ${M}) == null) ${L}`;if(S==="||")return`if (!(${P} = ${M})) ${L}`;return`if ((${P} = ${M})) ${L}`}if(this.is(u,"array")){let q=u.slice(1).findIndex((I)=>this.is(I,"...")||I==="...");if(q!==-1&&q<u.length-2){let I=u.slice(1),R=I.slice(q+1),S=R.length;if(S>0){let O=this.emit($,"value"),M=I.slice(0,q).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),B=R.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),I.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 L=I[q],V=this.is(L,"...")?L[1]:null,N=[];if(M)N.push(`[${M}] = ${O}`);if(V)N.push(`[...${V}] = ${O}.slice(${q}, -${S})`);return N.push(`[${B}] = slice.call(${O}, -${S})`),N.join(", ")}}}if(_==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[q,I,R]=$;if(this.is(R,"if")&&R.length===3){let[,S,O]=R,P=Array.isArray(O)&&O.length===1?O[0]:O,M=[q,I,P],B=this.emit(u,"value"),L=this.emit(S,"value"),V=this.emit(M,"value");return`if (${L}) ${B} = ${V}`}}if(_==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[q,I,R]=$,S=Array.isArray(R)&&R.length===1&&(!Array.isArray(R[0])||R[0][0]!=="block");if(q==="if"&&S){let O=Array.isArray(R)&&R.length===1?R[0]:R,P=this.emit(u,"value"),M=this.unwrapLogical(this.emit(I,"value")),B=this.emit(O,"value");return`if (${M}) ${P} = ${B}`}}let z;if(u instanceof String&&W1(u,"await")!==void 0)z=k(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))z=`${u}.value`;else z=this.emit(u,"value");let A=this._componentName,J=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=k(u),this._componentTypeParams=u.typeParams||"";if(this.is($,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=k(u);let D=this.emit($,"value");if(this._componentName=A,this._componentTypeParams=J,this._schemaName=K,!(this.is($,"object")||this.is($,".{}")||this.is($,"?.{}")))D=this.unwrap(D);let X=_==="value",H=_==="statement"&&this.is(u,"object");if(X||H)return`(${z} ${F} ${D})`;return`${z} ${F} ${D}`}emitPropertyAccess(f,U,_,W){let[u,$]=U;if(this._atParamMap&&u==="this"){let G=this._atParamMap.get(k($));if(G)return G}let F=this.emit(u,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${k($)}()`;if(W1($,"predicate"))return`(${Z}.${k($)} != null)`;return`${Z}.${k($)}`}emitOptionalProperty(f,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${k(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${k(z)}: ${J}`}).join(", ");if(Y)return`({${G}})`;return`((_) => ({${G}}))(${F})`}emitOptPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${k(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${k(z)}: ${J}`}).join(", ");if(Y)return`(${F} == null ? undefined : {${G}})`;return`((_) => _ == null ? undefined : ({${G}}))(${F})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,U){let[_,W,u]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=u!==null?this.emit(u,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(f,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let u=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(A)=>{if(A===null)return null;let J=k(A)??A;if(typeof J==="number")return J;if(typeof J==="string"&&/^\d+$/.test(J))return+J;if(Array.isArray(A)&&A[0]==="-"&&A.length===2){let K=k(A[1])??A[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(A,J,K)=>{let D=Z(K);if(D!==null&&D!==-1)return`${$}.slice(${A}, ${D+1})`;return`${$}.slice(${A}, +${J} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(u&&this.is(Y,"-",1)&&(k(Y[1])??Y[1])==1)return`${$}.slice(0)`;let A=this.emit(Y,"value");return u?G("0",A,Y):`${$}.slice(0, ${A})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(u&&this.is(Y,"-",1)&&(k(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return u?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let u=k(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}.at(-${u})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(f,U){let[_,W]=U;if(this.is(W,"-",1)){let u=k(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}?.at(-${u})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(f,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,U,_,W){let[u,$,F]=U,Y=W1(u,"await")===!0,Z=k(u),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),A=this.containsYield(F);return`${z?"async ":""}function${A?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),Z=this.emitFunctionBody($,u,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),G=u.length===1&&typeof u[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,z=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let J=$[1],K=Array.isArray(J)?J[0]:null;if(K!=="return"&&!p5.has(K)){let D=this.emit(J,"value");if(D[0]==="{")D=`(${D})`;return`${z}${G} => ${D}`}}if(!Array.isArray($)||$[0]!=="block"){let J=this.emit($,"value");if(J[0]==="{")J=`(${J})`;return`${z}${G} => ${J}`}}let A=this.emitFunctionBody($,u,F);return`${z}${G} => ${A}`}emitReturn(f,U,_,W){if(U.length===0)return"return";let[u]=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[,$,F,...Y]=u;if(Y.length===0){let Z=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(Z,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[1],Y=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(["new",Y],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,U){let[_,W]=U;this.usesReactivity=!0;let u=k(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(W,"value")})`}emitComputed(f,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=k(_)??_;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,U){let[_,W]=U;return`const ${k(_)??_} = ${this.emit(W,"value")}`}emitEffect(f,U){let[_,W]=U;this.usesReactivity=!0;let u;if(this.is(W,"block"))u=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${k(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${u})`;if(_)return`const ${k(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(f,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(f,U,_){let[W,u,$]=U;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let Y=this.emit(u[1],"value"),Z=this.emit(u[2],"value"),G=this.emit($,"value");return`${Y} = (${this.unwrap(this.emit(W,"value"))} ? ${Z} : ${G})`}return`(${this.unwrap(this.emit(W,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,U){let[_,W]=U,u=this.emit(_,"value");if(Array.isArray(W)&&W.length>1){let $=W[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let Y=this.emit($,"value"),Z=W.slice(1).map((G)=>this.emit(G,"value"));return`${Y}(${u}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${u})`}emitLoop(f,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(f,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(f,U){return`await ${this.emit(U[0],"value")}`}emitYield(f,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(f,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(f,U,_,W){let[u,$,...F]=U;return _==="value"?this.emitIfAsExpression(u,$,F):this.emitIfAsStatement(u,$,F)}emitForIn(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let X=["for-in",u,$,F];return this.emit(["comprehension",Z,[X],Y?[Y]:[]],_)}let G=Array.isArray(u)?u:[u],Q=G.length===0,[z,A]=Q?["_i",null]:G,J=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let X=this.emit($,"value"),H=A||"_i",q=this.emit(F,"value"),I=this.is(F,"-",1),R=I&&(F[1]==="1"||F[1]===1||k(F[1])==="1"),S=!I&&(F==="1"||F===1||k(F)==="1"),O;if(R)O=`for (let ${H} = ${X}.length - 1; ${H} >= 0; ${H}--) `;else if(S)O=`for (let ${H} = 0; ${H} < ${X}.length; ${H}++) `;else if(I)O=`for (let ${H} = ${X}.length - 1; ${H} >= 0; ${H} += ${q}) `;else O=`for (let ${H} = 0; ${H} < ${X}.length; ${H} += ${q}) `;if(this.is(Z,"block")){let P=Z.slice(1);this.indentLevel++;let M=[];if(!Q)M.push(`${J} = ${X}[${H}];`);if(Y)M.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,M.push(...this.formatStatements(P)),this.indentLevel--,M.push(this.indent()+"}");else M.push(...P.map((B)=>this.addSemicolon(B,this.emit(B,"statement"))));return this.indentLevel--,O+`{
|
|
1657
|
+
${M.map((B)=>this.indent()+B).join(`
|
|
1624
1658
|
`)}
|
|
1625
|
-
${this.indent()}}`}if(Q)return Y?
|
|
1626
|
-
`,this.indentLevel++,
|
|
1627
|
-
`,Y)
|
|
1628
|
-
`,this.indentLevel++,
|
|
1659
|
+
${this.indent()}}`}if(Q)return Y?O+`{ if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:O+`{ ${this.emit(Z,"statement")}; }`;return Y?O+`{ ${J} = ${X}[${H}]; if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:O+`{ ${J} = ${X}[${H}]; ${this.emit(Z,"statement")}; }`}if(A){let X=this.emit($,"value"),H=`for (let ${A} = 0; ${A} < ${X}.length; ${A}++) `;if(this.is(Z,"block")){if(H+=`{
|
|
1660
|
+
`,this.indentLevel++,H+=this.indent()+`${J} = ${X}[${A}];
|
|
1661
|
+
`,Y)H+=this.indent()+`if (${this.unwrap(this.emit(Y,"value"))}) {
|
|
1662
|
+
`,this.indentLevel++,H+=this.formatStatements(Z.slice(1)).join(`
|
|
1629
1663
|
`)+`
|
|
1630
|
-
`,this.indentLevel--,
|
|
1631
|
-
`;else
|
|
1664
|
+
`,this.indentLevel--,H+=this.indent()+`}
|
|
1665
|
+
`;else H+=this.formatStatements(Z.slice(1)).join(`
|
|
1632
1666
|
`)+`
|
|
1633
|
-
`;this.indentLevel--,
|
|
1634
|
-
${
|
|
1667
|
+
`;this.indentLevel--,H+=this.indent()+"}"}else H+=Y?`{ ${J} = ${X}[${A}]; if (${this.unwrap(this.emit(Y,"value"))}) ${this.emit(Z,"statement")}; }`:`{ ${J} = ${X}[${A}]; ${this.emit(Z,"statement")}; }`;return H}let K=Array.isArray($)&&$[0];if(K instanceof String)K=k(K);if(K===".."||K==="..."){let X=K==="...",[H,q]=$.slice(1),I=(R)=>typeof R==="number"||typeof R==="string"&&!R.includes("(")||R instanceof String&&!k(R).includes("(")||this.is(R,".");if(I(H)&&I(q)){let R=this.emit(H,"value"),S=this.emit(q,"value"),O=X?"<":"<=",P=F?`${J} += ${this.emit(F,"value")}`:`${J}++`,M=`for (let ${J} = ${R}; ${J} ${O} ${S}; ${P}) `;return M+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),M}}let w=`for (${Q?"let ":""}${J} of ${this.emit($,"value")}) `;return w+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),w}emitForOf(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let J=["for-of",u,$,F];return this.emit(["comprehension",Z,[J],Y?[Y]:[]],_)}let[G,Q]=Array.isArray(u)?u:[u],z=this.emit($,"value"),A=`for (${G} in ${z}) `;if(F&&!Q&&!Y){if(this.is(Z,"block")){this.indentLevel++;let J=[`if (!Object.hasOwn(${z}, ${G})) continue;`,...Z.slice(1).map((K)=>this.addSemicolon(K,this.emit(K,"statement")))];return this.indentLevel--,A+`{
|
|
1668
|
+
${J.map((K)=>this.indent()+K).join(`
|
|
1635
1669
|
`)}
|
|
1636
|
-
${this.indent()}}`}return
|
|
1637
|
-
${
|
|
1670
|
+
${this.indent()}}`}return A+`{ if (!Object.hasOwn(${z}, ${G})) continue; ${this.emit(Z,"statement")}; }`}if(Q){if(this.is(Z,"block")){let K=Z.slice(1);this.indentLevel++;let D=[];if(F)D.push(`if (!Object.hasOwn(${z}, ${G})) continue;`);if(D.push(`${Q} = ${z}[${G}];`),Y)D.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement")))),this.indentLevel--,D.push(this.indent()+"}");else D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement"))));return this.indentLevel--,A+`{
|
|
1671
|
+
${D.map((w)=>this.indent()+w).join(`
|
|
1638
1672
|
`)}
|
|
1639
|
-
${this.indent()}}`}let
|
|
1640
|
-
${
|
|
1673
|
+
${this.indent()}}`}let J="";if(F)J+=`if (!Object.hasOwn(${z}, ${G})) continue; `;if(J+=`${Q} = ${z}[${G}]; `,Y)J+=`if (${this.emit(Y,"value")}) `;return J+=`${this.emit(Z,"statement")};`,A+`{ ${J} }`}return A+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),A}emitForAs(f,U,_,W){let u=Array.isArray(U[0])?U[0]:[U[0]],[$]=u,F=U[1],Y=U[2],Z=U[3],G=U[4],Q=!1,z=[];if(this.is($,"array")){let w=$.slice(1),X=w.findIndex((H)=>this.is(H,"...")||H==="...");if(X!==-1&&X<w.length-1){Q=!0;let H=w.slice(X+1),q=H.length,I=w.slice(0,X),R=w[X],S=this.is(R,"...")?R[1]:"_rest",O=I.map((B)=>B===","?"":typeof B==="string"?B:this.emit(B,"value")).join(", "),P=O?`${O}, ...${S}`:`...${S}`,M=H.map((B)=>B===","?"":typeof B==="string"?B:this.emit(B,"value")).join(", ");z.push(`[${P}] = _item`),z.push(`[${M}] = ${S}.splice(-${q})`),this.helpers.add("slice"),w.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 A=this.emit(F,"value"),J=Y?"await ":"",K;if(Q)K="_item";else if(this.is($,"array")||this.is($,"object"))K=this.emitDestructuringPattern($);else K=$;let D=`for ${J}(${K} of ${A}) `;if(Q&&z.length>0){let w=this.unwrapBlock(G),X=this.withIndent(()=>[...z.map((H)=>this.indent()+H+";"),...this.formatStatements(w)]);D+=`{
|
|
1674
|
+
${X.join(`
|
|
1641
1675
|
`)}
|
|
1642
|
-
${this.indent()}}`}else
|
|
1676
|
+
${this.indent()}}`}else D+=Z?this.emitLoopBodyWithGuard(G,Z):this.emitLoopBody(G);return D}emitWhile(f,U){let _=U[0],W=U.length===3?U[1]:null,u=U[U.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(W?this.emitLoopBodyWithGuard(u,W):this.emitLoopBody(u))}emitRange(f,U){if(f==="..."){if(U.length===1)return`...${this.emit(U[0],"value")}`;let[F,Y]=U,Z=this.emit(F,"value"),G=this.emit(Y,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${Z}, ${G})`}let[_,W]=U,u=this.emit(_,"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,U){let[_]=U;if(typeof _==="string"||_ instanceof String)return`!${this.emit(_,"value")}`;if(Array.isArray(_)){if([".","?.","[]","optindex","optcall"].includes(_[0]))return`!${this.emit(_,"value")}`}let W=this.emit(_,"value");return W.startsWith("(")?`!${W}`:`(!${W})`}emitBitwiseNot(f,U){return`(~${this.emit(U[0],"value")})`}emitIncDec(f,U){let[_,W]=U,u=this.emit(_,"value");return W?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,U){return`typeof ${this.emit(U[0],"value")}`}emitDelete(f,U){return`(delete ${this.emit(U[0],"value")})`}emitInstanceof(f,U,_,W){let[u,$]=U,F=W1(W[0],"invert"),Y=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return F?`(!${Y})`:Y}emitIn(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=W1(W[0],"invert");if(this.is($,"object")){let Q=`(${F} in ${this.emit($,"value")})`;return Y?`(!${Q})`:Q}let Z=this.emit($,"value"),G=`(Array.isArray(${Z}) || typeof ${Z} === 'string' ? ${Z}.includes(${F}) : (${F} in ${Z}))`;return Y?`(!${G})`:G}emitOf(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=this.emit($,"value"),Z=W1(W[0],"invert"),G=`(${F} in ${Y})`;return Z?`(!${G})`:G}emitRegexMatch(f,U){let[_,W]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(W,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${u}))`}emitNew(f,U){let[_]=U;if(this.is(_,".")||this.is(_,"?.")){let[W,u,$]=_;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(_)){let[W,...u]=_;return`new ${this.emit(W,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"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(" || ")})`}emitSymbol(f,U){return`Symbol.for(${JSON.stringify(U[0])})`}emitArray(f,U){let _=U.length>0&&U[U.length-1]===",",W=U.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 _?`[${W},]`:`[${W}]`}emitObject(f,U,_){if(U.length===1&&Array.isArray(U[0])&&Array.isArray(U[0][2])&&U[0][2][0]==="comprehension"){let[,u,$]=U[0],[,F,Y,Z]=$;return this.emit(["object-comprehension",u,F,Y,Z],_)}return`{${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,F,Y]=u,Z;if(this.is(F,"dynamicKey"))Z=`[${this.emit(F[1],"value")}]`;else if(this.is(F,"str"))Z=`[${this.emit(F,"value")}]`;else this.suppressReactiveUnwrap=!0,Z=this.emit(F,"value"),this.suppressReactiveUnwrap=!1;let G=this.emit(Y,"value");if($==="=")return`${Z} = ${G}`;if($===":")return`${Z}: ${G}`;if(Z===G&&!Array.isArray(F))return Z;return`${Z}: ${G}`}).join(", ")}}`}emitMap(f,U,_){if(U.length===0)return"new Map()";return`new Map([${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,F]=u,Y;if(Array.isArray($))Y=this.emit($,"value");else{let G=k($)??$;Y=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!Y1.NUMBER_START_RE.test(G)&&!n5.has(G)?`"${G}"`:this.emit($,"value")}let Z=this.emit(F,"value");return`[${Y}, ${Z}]`}).join(", ")}])`}emitBlock(f,U,_){if(_==="statement")return`{
|
|
1643
1677
|
${this.withIndent(()=>this.formatStatements(U)).join(`
|
|
1644
1678
|
`)}
|
|
1645
1679
|
${this.indent()}}`;if(U.length===0)return"undefined";if(U.length===1)return this.emit(U[0],_);let W=U[U.length-1];if(Array.isArray(W)&&["break","continue","return","throw"].includes(W[0])){let $=U.map((F)=>this.addSemicolon(F,this.emit(F,"statement")));return`{
|
|
1646
1680
|
${this.withIndent(()=>$.map((F)=>this.indent()+F).join(`
|
|
1647
1681
|
`))}
|
|
1648
|
-
${this.indent()}}`}return`(${U.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(
|
|
1682
|
+
${this.indent()}}`}return`(${U.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,U,_){let W=_==="value",u="try ",$=U[0];if(u+=W&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[F,Y]=U[1];if(u+=" catch",F&&(this.is(F,"object")||this.is(F,"array"))){u+=" (error)";let Z=`(${this.emit(F,"value")} = error)`;Y=this.is(Y,"block")?["block",Z,...Y.slice(1)]:["block",Z,Y]}else if(F)u+=` (${F})`;u+=" "+(W&&this.is(Y,"block")?this.emitBlockWithReturns(Y):this.emit(Y,"statement"))}else if(U.length===2)u+=" finally "+this.emit(U[1],"statement");if(U.length===3)u+=" finally "+this.emit(U[2],"statement");if(U.length===1)u+=" catch {}";if(W){let F=this.containsAwait(U[0])||U[1]&&this.containsAwait(U[1])||U[2]&&this.containsAwait(U[2]);return this.asyncIIFE(F,u)}return u}emitThrow(f,U,_){let[W]=U;if(Array.isArray(W)){let $=W,F=null;if(W[0]==="new"&&Array.isArray(W[1])&&W[1][0]==="if")F="new",$=W[1];else if(W[0]==="if")$=W;if($[0]==="if"){let[,Y,Z]=$,G=Array.isArray(Z)&&Z.length===1?Z[0]:Z;W=F==="new"?["new",G]:G;let Q=this.emit(Y,"value"),z=`throw ${this.emit(W,"value")}`;return`if (${Q}) {
|
|
1649
1683
|
${this.indent()} ${z};
|
|
1650
|
-
${this.indent()}}`}}let
|
|
1651
|
-
`;this.indentLevel++;for(let Y of
|
|
1684
|
+
${this.indent()}}`}}let u=`throw ${this.emit(W,"value")}`;return _==="value"?`(() => { ${u}; })()`:u}emitControl(f,U,_){let[W,u,$]=U,F=k(W),Y=$[0]==="return",Z=this.emit(u,"value"),G=$.length>1?$[1]:null,Q=Y?G?`return ${this.emit(G,"value")}`:"return":G?`throw ${this.emit(G,"value")}`:"throw new Error()",z=this.wrapForCondition(Z);if(_==="value"){if(F==="??")return`(() => { const __v = ${Z}; if (__v == null) ${Q}; return __v; })()`;if(F==="||")return`(() => { const __v = ${Z}; if (!__v) ${Q}; return __v; })()`;return`(() => { const __v = ${Z}; if (__v) ${Q}; return __v; })()`}if(F==="??")return`if (${z} == null) ${Q}`;if(F==="||")return`if (!${z}) ${Q}`;return`if (${z}) ${Q}`}emitSwitch(f,U,_){let[W,u,$]=U;if(W===null)return this.emitSwitchAsIfChain(u,$,_);let F=`switch (${this.emit(W,"value")}) {
|
|
1685
|
+
`;this.indentLevel++;for(let Y of u){let[,Z,G]=Y;for(let Q of Z){let z=k(Q)??Q,A;if(Array.isArray(z))A=this.emit(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))A=`'${z.slice(1,-1)}'`;else A=this.emit(z,"value");F+=this.indent()+`case ${A}:
|
|
1652
1686
|
`}this.indentLevel++,F+=this.emitSwitchCaseBody(G,_),this.indentLevel--}if($)F+=this.indent()+`default:
|
|
1653
|
-
`,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||
|
|
1687
|
+
`,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||u.some((Z)=>this.containsAwait(Z[1])||this.containsAwait(Z[2]))||$&&this.containsAwait($);return this.asyncIIFE(Y,F)}return F}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,[$,F]=u?["_i",null]:W,Y=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let G=Array.isArray(U)&&U[0];if(G instanceof String)G=k(G);if(G===".."||G==="..."){let q=G==="...",[I,R]=U.slice(1),S=this.emit(I,"value"),O=this.emit(R,"value"),P=this.emit(_,"value");return{header:`for (let ${Y} = ${S}; ${Y} ${q?"<":"<="} ${O}; ${Y} += ${P})`,setup:null}}let z=this.emit(U,"value"),A=F||"_i",J=this.emit(_,"value"),K=this.is(_,"-",1),D=K&&(_[1]==="1"||_[1]===1||k(_[1])==="1"),w=!K&&(_==="1"||_===1||k(_)==="1"),X=D?`${A}--`:w?`${A}++`:`${A} += ${J}`;return{header:K?`for (let ${A} = ${z}.length - 1; ${A} >= 0; ${X})`:`for (let ${A} = 0; ${A} < ${z}.length; ${X})`,setup:u?null:`${Y} = ${z}[${A}];`}}if(F){let G=this.emit(U,"value");return{header:`for (let ${F} = 0; ${F} < ${G}.length; ${F}++)`,setup:`${Y} = ${G}[${F}];`}}return{header:`for (${u?"let ":""}${Y} of ${this.emit(U,"value")})`,setup:null}}_forOfHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u,$]=W,F=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,Y=this.emit(U,"value");return{header:`for (${F} in ${Y})`,own:_,vv:$,oc:Y,kvp:F}}_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 ${_?"await ":""}(${$} of ${this.emit(U,"value")})`}}emitComprehension(f,U,_){let[W,u,$]=U;if(_==="statement")return this.emitComprehensionAsLoop(W,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(W,u,$,this.comprehensionTarget);let F=this.containsAwait(W)||u.some((Q)=>this.containsAwait(Q))||$.some((Q)=>this.containsAwait(Q)),Y=this.asyncIIFEOpen(F)+`
|
|
1654
1688
|
`;this.indentLevel++,this.comprehensionDepth++,Y+=this.indent()+`const result = [];
|
|
1655
|
-
`;for(let Q of
|
|
1656
|
-
`,this.indentLevel++,
|
|
1657
|
-
`}else if(z==="for-of"){let{header:
|
|
1658
|
-
`,this.indentLevel++,
|
|
1659
|
-
`;if(
|
|
1660
|
-
`}else if(z==="for-as"){let{header:
|
|
1689
|
+
`;for(let Q of u){let[z,A,J,K]=Q;if(z==="for-in"){let{header:D,setup:w}=this._forInHeader(A,J,K);if(Y+=this.indent()+D+` {
|
|
1690
|
+
`,this.indentLevel++,w)Y+=this.indent()+w+`
|
|
1691
|
+
`}else if(z==="for-of"){let{header:D,own:w,vv:X,oc:H,kvp:q}=this._forOfHeader(A,J,K);if(Y+=this.indent()+D+` {
|
|
1692
|
+
`,this.indentLevel++,w)Y+=this.indent()+`if (!Object.hasOwn(${H}, ${q})) continue;
|
|
1693
|
+
`;if(X)Y+=this.indent()+`${X} = ${H}[${q}];
|
|
1694
|
+
`}else if(z==="for-as"){let{header:D}=this._forAsHeader(A,J,Q[3]);Y+=this.indent()+D+` {
|
|
1661
1695
|
`,this.indentLevel++}}for(let Q of $)Y+=this.indent()+`if (${this.emit(Q,"value")}) {
|
|
1662
1696
|
`,this.indentLevel++;let Z=(Q)=>{if(typeof Q==="string"&&(Q==="break"||Q==="continue"))return!0;if(!Array.isArray(Q))return!1;if(["break","continue","return","throw"].includes(Q[0]))return!0;if(Q[0]==="if")return Q.slice(1).some(Z);return Q.some(Z)},G=["for-in","for-of","for-as","while","loop"];if(this.is(W,"block"))for(let Q=0;Q<W.length-1;Q++){let z=W[Q+1];if(Q!==W.length-2||Z(z))Y+=this.indent()+this.emit(z,"statement")+`;
|
|
1663
1697
|
`;else if(Array.isArray(z)&&G.includes(z[0]))Y+=this.indent()+this.emit(z,"statement")+`;
|
|
@@ -1666,94 +1700,94 @@ ${this.indent()}}`}}let f=`throw ${this.emit(W,"value")}`;return _==="value"?`((
|
|
|
1666
1700
|
`;else if(Array.isArray(W)&&G.includes(W[0]))Y+=this.indent()+this.emit(W,"statement")+`;
|
|
1667
1701
|
`;else Y+=this.indent()+`result.push(${this.emit(W,"value")});
|
|
1668
1702
|
`;for(let Q=0;Q<$.length;Q++)this.indentLevel--,Y+=this.indent()+`}
|
|
1669
|
-
`;for(let Q=0;Q<
|
|
1703
|
+
`;for(let Q=0;Q<u.length;Q++)this.indentLevel--,Y+=this.indent()+`}
|
|
1670
1704
|
`;return Y+=this.indent()+`return result;
|
|
1671
|
-
`,this.indentLevel--,this.comprehensionDepth--,Y+=this.indent()+"})()",Y}emitObjectComprehension(
|
|
1705
|
+
`,this.indentLevel--,this.comprehensionDepth--,Y+=this.indent()+"})()",Y}emitObjectComprehension(f,U,_){let[W,u,$,F]=U,Y=this.containsAwait(W)||this.containsAwait(u)||$.some((G)=>this.containsAwait(G))||F.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+`
|
|
1672
1706
|
`;this.indentLevel++,Z+=this.indent()+`const result = {};
|
|
1673
|
-
`;for(let G of $){let[Q,z,
|
|
1674
|
-
`,this.indentLevel++,
|
|
1675
|
-
`;if(
|
|
1707
|
+
`;for(let G of $){let[Q,z,A,J]=G;if(Q==="for-of"){let[K,D]=z,w=this.emit(A,"value");if(Z+=this.indent()+`for (${K} in ${w}) {
|
|
1708
|
+
`,this.indentLevel++,J)Z+=this.indent()+`if (!Object.hasOwn(${w}, ${K})) continue;
|
|
1709
|
+
`;if(D)Z+=this.indent()+`${D} = ${w}[${K}];
|
|
1676
1710
|
`}}for(let G of F)Z+=this.indent()+`if (${this.emit(G,"value")}) {
|
|
1677
|
-
`,this.indentLevel++;Z+=this.indent()+`result[${this.emit(W,"value")}] = ${this.emit(
|
|
1711
|
+
`,this.indentLevel++;Z+=this.indent()+`result[${this.emit(W,"value")}] = ${this.emit(u,"value")};
|
|
1678
1712
|
`;for(let G=0;G<F.length;G++)this.indentLevel--,Z+=this.indent()+`}
|
|
1679
1713
|
`;for(let G=0;G<$.length;G++)this.indentLevel--,Z+=this.indent()+`}
|
|
1680
1714
|
`;return Z+=this.indent()+`return result;
|
|
1681
|
-
`,this.indentLevel--,Z+=this.indent()+"})()",Z}emitClass(
|
|
1682
|
-
`,$.length>0&&Array.isArray($[0])){let Y=$[0];if(Y[0]==="block"){let Z=Y.slice(1);if(Z.length>0&&Array.isArray(Z[0])&&Z[0][0]==="object"){let Q=Z[0].slice(1);this.indentLevel++,F+=this._emitClassMembers(Q,
|
|
1715
|
+
`,this.indentLevel--,Z+=this.indent()+"})()",Z}emitClass(f,U,_){let[W,u,...$]=U,F=W?`class ${W}`:"class";if(u)F+=` extends ${this.emit(u,"value")}`;if(F+=` {
|
|
1716
|
+
`,$.length>0&&Array.isArray($[0])){let Y=$[0];if(Y[0]==="block"){let Z=Y.slice(1);if(Z.length>0&&Array.isArray(Z[0])&&Z[0][0]==="object"){let Q=Z[0].slice(1);this.indentLevel++,F+=this._emitClassMembers(Q,u);for(let z of Z.slice(1))if(this.is(z,"class")){let[,A,J,...K]=z;if(this.is(A,".")&&A[1]==="this")F+=this.indent()+`static ${A[2]} = ${this.emit(["class",null,J,...K],"value")};
|
|
1683
1717
|
`;else F+=this.indent()+this.emit(z,"statement")+`;
|
|
1684
1718
|
`}else F+=this.indent()+this.emit(z,"statement")+`;
|
|
1685
1719
|
`;this.indentLevel--}else{this.indentLevel++;for(let Q of Z)if(this.is(Q,"=")&&Array.isArray(Q[1])&&Q[1][0]==="."&&Q[1][1]==="this")F+=this.indent()+`static ${Q[1][2]} = ${this.emit(Q[2],"value")};
|
|
1686
1720
|
`;else F+=this.indent()+this.emit(Q,"statement")+`;
|
|
1687
|
-
`;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(
|
|
1721
|
+
`;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(f,U){let _="",W=[];for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"=>")&&!F&&!Y&&Z!=="constructor")W.push(Z)}for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,G,Q]=$,z=this.containsAwait(Q),A=this.containsYield(Q),J=G,K=[];if(Z==="constructor"){let X=!!U,H=X?new Map:null;J=G.map((q)=>{if(this.is(q,".")&&q[1]==="this"){let I=q[2],R=X?`_${I}`:I;if(K.push(`this.${I} = ${R}`),X)H.set(I,R);return R}if(this.is(q,"default")&&this.is(q[1],".")&&q[1][1]==="this"){let I=q[1][2],R=X?`_${I}`:I;if(K.push(`this.${I} = ${R}`),X)H.set(I,R);return["default",R,q[2]]}return q});for(let q of W)K.unshift(`this.${q} = this.${q}.bind(this)`);if(H?.size>0)this._atParamMap=H}let D=this.emitParamList(J),w=(F?"static ":"")+(z?"async ":"")+(A?"*":"");if(_+=this.indent()+`${w}${Z}(${D}) `,!Y)this.currentMethodName=Z;_+=this.emitMethodBody(Q,K,Z==="constructor",J),this._atParamMap=null,this.currentMethodName=null,_+=`
|
|
1688
1722
|
`}else if(F)_+=this.indent()+`static ${Z} = ${this.emit($,"value")};
|
|
1689
1723
|
`;else _+=this.indent()+`${Z} = ${this.emit($,"value")};
|
|
1690
|
-
`}return _}emitSuper(
|
|
1691
|
-
export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(
|
|
1692
|
-
`;if(z.size>0)
|
|
1693
|
-
`;let
|
|
1694
|
-
`;return}if(!$&&!W&&
|
|
1695
|
-
`;return}}if(!$&&!W&&
|
|
1696
|
-
`;return}}}let
|
|
1697
|
-
`;else
|
|
1698
|
-
`})};if(
|
|
1699
|
-
`;else
|
|
1700
|
-
`;for(let
|
|
1701
|
-
`;
|
|
1702
|
-
`;
|
|
1703
|
-
`}return this.indentLevel--,
|
|
1704
|
-
${this.withIndent(()=>U.map((W,
|
|
1724
|
+
`}return _}emitSuper(f,U){if(U.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}(${_})`;return`super(${_})`}emitImport(f,U,_,W){if(U.length===1){let Y=`import(${this.emit(U[0],"value")})`;if(W1(W[0],"await")===!0)return`(await ${Y})`;return Y}if(this.options.skipImports)return"";if(U.length===3){let[Y,Z,G]=U,Q=this.addJsExtensionAndAssertions(G);if(Z[0]==="*"&&Z.length===2)return`import ${Y}, * as ${Z[1]} from ${Q}`;let z=Z.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ");return`import ${Y}, { ${z} } from ${Q}`}let[u,$]=U,F=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${F}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${F}`;return`import { ${u.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ")} } from ${F}`}return`import ${this.emit(u,"value")} from ${F}`}emitExport(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=k(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=k(_[1]);let F=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=k(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=k(_[1]);let F=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")}`;return this.emit(_,"statement")}if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")};
|
|
1725
|
+
export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(f,U){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(U[0])}`}emitExportFrom(f,U){if(this.options.skipExports)return"";let[_,W]=U,u=this.addJsExtensionAndAssertions(W);if(Array.isArray(_))return`export { ${_.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${u}`;return`export ${_} from ${u}`}emitDoIIFE(f,U){return`(${this.emit(U[0],"statement")})()`}emitRegex(f,U){return U.length===0?f:this.emit(U[0],"value")}emitTaggedTemplate(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,U){let _="`";for(let W of U)if(W instanceof String)_+=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);_+=W.slice(1,-1)}else _+=W;else if(Array.isArray(W))if(W.length===1&&typeof W[0]==="string"&&!Array.isArray(W[0])){let u=W[0];_+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=W.length===1&&Array.isArray(W[0])?W[0]:W;_+="${"+this.emit(u,"value")+"}"}return _+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let U=f[0];if(U==="if"&&f.length===3)return{type:U,condition:f[1],value:f[2]};if(U==="+"||U==="-"||U==="*"||U==="/")for(let _=1;_<f.length;_++){let W=this.findPostfixConditional(f[_]);if(W)return W.parentOp=U,W.operandIndex=_,W.otherOperands=f.slice(1).filter((u,$)=>$!==_-1),W}return null}rebuildWithoutConditional(f){let U=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,U];return U}_tryPostfixCall(f,U,_){if(_!=="statement"||U.length!==1)return null;let W=this.findPostfixConditional(U[0]);if(!W)return null;let u=this.rebuildWithoutConditional(W),$=this.emit(f,"value"),F=this.emit(W.condition,"value"),Y=this.emit(u,"value");return`if (${F}) ${$}(${Y})`}_emitArgs(f){return f.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let U=f.findIndex((W)=>this.is(W,"expansion"));if(U!==-1){let W=f.slice(0,U),u=f.slice(U+1),$=W.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let _=f.findIndex((W)=>this.is(W,"rest"));if(_!==-1&&_<f.length-1){let W=f.slice(0,_),u=f[_],$=f.slice(_+1),F=W.map((Y)=>this.formatParam(Y));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:W.length},F.length>0?`${F.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`${this.formatParam(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((_)=>{if(_===",")return"";if(_==="...")return"";if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"=")&&typeof _[1]==="string")return`${_[1]} = ${this.emit(_[2],"value")}`;if(typeof _==="string")return _;return this.formatParam(_)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[W,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:F=!1}=_,Y=this.sideEffectOnly;this.sideEffectOnly=W;let Z=new Set,G=(D)=>{if(typeof D==="string")Z.add(D);else if(Array.isArray(D)){if(D[0]==="rest"||D[0]==="..."){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="default"){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="array"||D[0]==="object")this.collectVarsFromArray(D,Z)}};if(Array.isArray(U))U.forEach(G);let Q=this.collectFunctionVariables(f),z=new Set([...Q].filter((D)=>!this.programVars.has(D)&&!this.reactiveVars?.has(D)&&!Z.has(D)&&!this.scopeStack.some((w)=>w.has(D)))),A=["return","throw","break","continue"],J=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...Z])),this.is(f,"block")){let D=this.unwrapBlock(f);if(F&&this.expansionAfterParams?.length>0)D=[...this.expansionAfterParams.map((I,R)=>{return`const ${typeof I==="string"?I:JSON.stringify(I)} = _rest[_rest.length - ${this.expansionAfterParams.length-R}]`}),...D],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:q,afterParams:I}=this.restMiddleParam,R=I.length,S=[];if(I.forEach((O,P)=>{let M=typeof O==="string"?O:this.is(O,"default")?O[1]:JSON.stringify(O);S.push(`const ${M} = ${q}[${q}.length - ${R-P}]`)}),R>0)S.push(`${q} = ${q}.slice(0, -${R})`);D=[...S,...D],this.restMiddleParam=null}this.indentLevel++;let w=`{
|
|
1726
|
+
`;if(z.size>0)w+=this.indent()+`let ${Array.from(z).sort().join(", ")};
|
|
1727
|
+
`;let X=u.length>0&&D.length>0&&Array.isArray(D[0])&&D[0][0]==="super",H=(q)=>{q.forEach((I,R)=>{let S=R===q.length-1,O=Array.isArray(I)?I[0]:null;if(!S&&O==="comprehension"){let[,L,V,N]=I;w+=this.indent()+this.emitComprehensionAsLoop(L,V,N)+`
|
|
1728
|
+
`;return}if(!$&&!W&&S&&O==="if"){let[L,V,...N]=I.slice(1),C=(l)=>this.is(l,"block")&&l.length>2;if(this.hasStatementInBranch(V)||N.some((l)=>this.hasStatementInBranch(l))||C(V)||N.some(C)){w+=this.emitIfElseWithEarlyReturns(I)+`
|
|
1729
|
+
`;return}}if(!$&&!W&&S&&O==="="){let[L,V]=I.slice(1);if(typeof L==="string"&&Array.isArray(V)){let N=V[0];if(N==="comprehension"||N==="for-in"){this.comprehensionTarget=L,w+=this.emit(V,"value"),this.comprehensionTarget=null,w+=this.indent()+`return ${L};
|
|
1730
|
+
`;return}}}let P=!$&&!W&&S&&!A.includes(O)&&!J.includes(O)&&!this.hasExplicitControlFlow(I),M=P?"value":"statement",B=this.emit(I,M);if(P)w+=this.indent()+"return "+B+`;
|
|
1731
|
+
`;else w+=this.indent()+this.addSemicolon(I,B)+`
|
|
1732
|
+
`})};if(X){if(D.length===1&&!$)w+=this.indent()+"return "+this.emit(D[0],"value")+`;
|
|
1733
|
+
`;else w+=this.indent()+this.emit(D[0],"statement")+`;
|
|
1734
|
+
`;for(let I of u)w+=this.indent()+I+`;
|
|
1735
|
+
`;H(D.slice(1))}else{for(let q of u)w+=this.indent()+q+`;
|
|
1736
|
+
`;H(D)}if(W&&D.length>0){let q=Array.isArray(D[D.length-1])?D[D.length-1][0]:null;if(!A.includes(q))w+=this.indent()+`return;
|
|
1737
|
+
`}return this.indentLevel--,w+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=Y,w}this.sideEffectOnly=Y;let K;if($&&u.length>0){let D=Array.isArray(f)&&f[0]==="super",w=this.emit(f,"statement"),X=u.map((H)=>`${H};`).join(" ");K=D?`{ ${w}; ${X} }`:`{ ${X} ${w}; }`}else if($||this.hasExplicitControlFlow(f))K=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(A.includes(f[0])||J.includes(f[0])))K=`{ ${this.emit(f,"statement")}; }`;else if(W)K=`{ ${this.emit(f,"statement")}; return; }`;else K=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),K}emitFunctionBody(f,U=[],_=!1){return this.emitBodyWithReturns(f,U,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,U=[],_=!1,W=[]){return this.emitBodyWithReturns(f,W,{autoAssignments:U,isConstructor:_})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let U=this.unwrapBlock(f);return`{
|
|
1738
|
+
${this.withIndent(()=>U.map((W,u)=>{let $=u===U.length-1,F=Array.isArray(W)?W[0]:null,Y=$&&!["return","throw","break","continue"].includes(F),Z=this.emit(W,Y?"value":"statement");return Y?this.indent()+"return "+Z+";":this.indent()+Z+";"})).join(`
|
|
1705
1739
|
`)}
|
|
1706
|
-
${this.indent()}}`}emitLoopBody(
|
|
1707
|
-
${this.withIndent(()=>U.map((W)=>{if(this.is(W,"comprehension")){let[,
|
|
1740
|
+
${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let U=f[0]==="block"?f.slice(1):f;return`{
|
|
1741
|
+
${this.withIndent(()=>U.map((W)=>{if(this.is(W,"comprehension")){let[,u,$,F]=W;return this.indent()+this.emitComprehensionAsLoop(u,$,F)}return this.indent()+this.addSemicolon(W,this.emit(W,"statement"))})).join(`
|
|
1708
1742
|
`)}
|
|
1709
|
-
${this.indent()}}`}return`{ ${this.emit(
|
|
1743
|
+
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,U){let _=this.unwrap(this.emit(U,"value"));if(!Array.isArray(f))return`{ if (${_}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let W=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),$=`if (${_}) {
|
|
1710
1744
|
`,F=this.withIndent(()=>{this.indentLevel++;let Z=this.formatStatements(W);return this.indentLevel--,Z}),Y=this.withIndent(()=>this.indent()+"}");return`{
|
|
1711
|
-
${
|
|
1745
|
+
${u}${$}${F.join(`
|
|
1712
1746
|
`)}
|
|
1713
1747
|
${Y}
|
|
1714
|
-
${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(
|
|
1715
|
-
`;let $=this.is(
|
|
1716
|
-
`,this.indentLevel++,z)
|
|
1717
|
-
`;if(_&&_.length>0)
|
|
1718
|
-
`,this.indentLevel++;if(
|
|
1719
|
-
`,_&&_.length>0)this.indentLevel--,
|
|
1720
|
-
`;return this.indentLevel--,
|
|
1721
|
-
`,
|
|
1722
|
-
`}emitComprehensionAsLoop(
|
|
1723
|
-
`,this.indentLevel++,W+=this.indent()+this.emit(
|
|
1748
|
+
${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,U,_,W){let u="";u+=this.indent()+`${W} = [];
|
|
1749
|
+
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(U.length===1){let[F,Y,Z,G]=U[0];if(F==="for-in"){let{header:Q,setup:z}=this._forInHeader(Y,Z,G);if(u+=this.indent()+Q+` {
|
|
1750
|
+
`,this.indentLevel++,z)u+=this.indent()+z+`
|
|
1751
|
+
`;if(_&&_.length>0)u+=this.indent()+`if (${_.map((A)=>this.emit(A,"value")).join(" && ")}) {
|
|
1752
|
+
`,this.indentLevel++;if(u+=this.indent()+`${W}.push(${this.unwrap(this.emit($,"value"))});
|
|
1753
|
+
`,_&&_.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1754
|
+
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1755
|
+
`,u}}return this.indent()+`${W} = (() => { /* complex comprehension */ })();
|
|
1756
|
+
`}emitComprehensionAsLoop(f,U,_){let W="",u=_?.length?_.map((F)=>this.emit(F,"value")).join(" && "):null,$=()=>{if(u)W+=this.indent()+`if (${u}) {
|
|
1757
|
+
`,this.indentLevel++,W+=this.indent()+this.emit(f,"statement")+`;
|
|
1724
1758
|
`,this.indentLevel--,W+=this.indent()+`}
|
|
1725
|
-
`;else W+=this.indent()+this.emit(
|
|
1759
|
+
`;else W+=this.indent()+this.emit(f,"statement")+`;
|
|
1726
1760
|
`};if(U.length===1){let[F,Y,Z,G]=U[0];if(F==="for-in"){let{header:Q,setup:z}=this._forInHeader(Y,Z,G);if(W+=Q+` {
|
|
1727
1761
|
`,this.indentLevel++,z)W+=this.indent()+z+`
|
|
1728
1762
|
`;return $(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-as"){let{header:Q}=this._forAsHeader(Y,Z,G);return W+=Q+` {
|
|
1729
|
-
`,this.indentLevel++,$(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-of"){let{header:Q,own:z,vv:
|
|
1730
|
-
`,this.indentLevel++,z)W+=this.indent()+`if (!Object.hasOwn(${
|
|
1731
|
-
`;if(
|
|
1732
|
-
`;return $(),this.indentLevel--,W+=this.indent()+"}",W}}return this.emit(["comprehension",
|
|
1733
|
-
`,$+=this.withIndent(()=>this.emitBranchWithReturn(W)),$+=this.indent()+"}";for(let Y of
|
|
1763
|
+
`,this.indentLevel++,$(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-of"){let{header:Q,own:z,vv:A,oc:J,kvp:K}=this._forOfHeader(Y,Z,G);if(W+=Q+` {
|
|
1764
|
+
`,this.indentLevel++,z)W+=this.indent()+`if (!Object.hasOwn(${J}, ${K})) continue;
|
|
1765
|
+
`;if(A)W+=this.indent()+`${A} = ${J}[${K}];
|
|
1766
|
+
`;return $(),this.indentLevel--,W+=this.indent()+"}",W}}return this.emit(["comprehension",f,U,_],"value")}emitIfElseWithEarlyReturns(f){let[U,_,W,...u]=f,$="",F=this.emit(_,"value");$+=this.indent()+`if (${F}) {
|
|
1767
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(W)),$+=this.indent()+"}";for(let Y of u)if($+=" else ",this.is(Y,"if")){let[,Z,G,...Q]=Y;$+=`if (${this.emit(Z,"value")}) {
|
|
1734
1768
|
`,$+=this.withIndent(()=>this.emitBranchWithReturn(G)),$+=this.indent()+"}";for(let z of Q)$+=` else {
|
|
1735
1769
|
`,$+=this.withIndent(()=>this.emitBranchWithReturn(z)),$+=this.indent()+"}"}else $+=`{
|
|
1736
|
-
`,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";return $}emitBranchWithReturn(
|
|
1770
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";return $}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let U=this.unwrapBlock(f),_="";for(let W=0;W<U.length;W++){let u=W===U.length-1,$=U[W],F=Array.isArray($)?$[0]:null;if(u&&!(F==="return"||F==="throw"||F==="break"||F==="continue"))_+=this.indent()+`return ${this.emit($,"value")};
|
|
1737
1771
|
`;else _+=this.indent()+this.emit($,"statement")+`;
|
|
1738
|
-
`}return _}emitIfAsExpression(
|
|
1739
|
-
`;else if(U==="value")if(this.is(
|
|
1740
|
-
`;else _+=this.indent()+this.emit(
|
|
1741
|
-
`;else _+=this.indent()+`return ${this.extractExpression(
|
|
1742
|
-
`;else{if(
|
|
1743
|
-
`}else if(this.is(
|
|
1744
|
-
`;else _+=this.indent()+this.emit(
|
|
1772
|
+
`}return _}emitIfAsExpression(f,U,_){if(this.is(U,"block")&&U.length>2||this.hasStatementInBranch(U)||_.some((Y)=>this.is(Y,"block")&&Y.length>2||this.hasStatementInBranch(Y)||this.hasNestedMultiStatement(Y))){let Y=this.containsAwait(f)||this.containsAwait(U)||_.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+" ";Z+=`if (${this.emit(f,"value")}) `,Z+=this.emitBlockWithReturns(U);for(let G of _)if(Z+=" else ",this.is(G,"if")){let[Q,z,A,...J]=G;Z+=`if (${this.emit(z,"value")}) `,Z+=this.emitBlockWithReturns(A);for(let K of J)if(Z+=" else ",this.is(K,"if")){let[D,w,X,...H]=K;Z+=`if (${this.emit(w,"value")}) `,Z+=this.emitBlockWithReturns(X),_.push(...H)}else Z+=this.emitBlockWithReturns(K)}else Z+=this.emitBlockWithReturns(G);return Z+" })()"}let u=this.extractExpression(this.unwrapIfBranch(U)),$=this.buildTernaryChain(_),F=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))F=`(${F})`;return`(${F} ? ${u} : ${$})`}emitIfAsStatement(f,U,_){let W=`if (${this.unwrap(this.emit(f,"value"))}) `;W+=this.emit(this.unwrapIfBranch(U),"statement");for(let u of _)W+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return W}emitSwitchCaseBody(f,U){let _="",W=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(W)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
|
|
1773
|
+
`;else if(U==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)_+=this.indent()+`return ${this.emit(u[$],"value")};
|
|
1774
|
+
`;else _+=this.indent()+this.emit(u[$],"statement")+`;
|
|
1775
|
+
`;else _+=this.indent()+`return ${this.extractExpression(f)};
|
|
1776
|
+
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,F,Y,...Z]=u[0],G=this.extractExpression(this.unwrapIfBranch(Y)),Q=this.buildTernaryChain(Z);_+=this.indent()+`(${this.unwrap(this.emit(F,"value"))} ? ${G} : ${Q});
|
|
1777
|
+
`}else if(this.is(f,"block")&&f.length>1)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
|
|
1778
|
+
`;else _+=this.indent()+this.emit(f,"statement")+`;
|
|
1745
1779
|
`;_+=this.indent()+`break;
|
|
1746
|
-
`}return _}emitSwitchAsIfChain(
|
|
1780
|
+
`}return _}emitSwitchAsIfChain(f,U,_){let W="";for(let u=0;u<f.length;u++){let[,$,F]=f[u],Y=Array.isArray($)?$[0]:$;if(W+=(u===0?"":" else ")+`if (${this.emit(Y,"value")}) {
|
|
1747
1781
|
`,this.indentLevel++,_==="value")W+=this.indent()+`return ${this.extractExpression(F)};
|
|
1748
1782
|
`;else for(let Z of this.unwrapBlock(F))W+=this.indent()+this.emit(Z,"statement")+`;
|
|
1749
1783
|
`;this.indentLevel--,W+=this.indent()+"}"}if(U){if(W+=` else {
|
|
1750
1784
|
`,this.indentLevel++,_==="value")W+=this.indent()+`return ${this.extractExpression(U)};
|
|
1751
|
-
`;else for(let
|
|
1752
|
-
`;this.indentLevel--,W+=this.indent()+"}"}if(_==="value"){let f
|
|
1753
|
-
`);if(W1(
|
|
1754
|
-
`))U=U.slice(1);if(W1(
|
|
1755
|
-
`))U=U.slice(0,-1);return U}processHeregex(
|
|
1756
|
-
`)W++;continue}U+=$,W++}return U}addJsExtensionAndAssertions(
|
|
1785
|
+
`;else for(let u of this.unwrapBlock(U))W+=this.indent()+this.emit(u,"statement")+`;
|
|
1786
|
+
`;this.indentLevel--,W+=this.indent()+"}"}if(_==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||U&&this.containsAwait(U);return this.asyncIIFE(u,W)}return W}asyncIIFE(f,U){return`${f?"await ":""}(${f?"async ":""}() => { ${U} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let U=this.unwrapBlock(f);return U.length>0?this.emit(U[U.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,U){if(!U||U.endsWith(";"))return!1;if(!U.endsWith("}"))return!0;let _=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(_)}addSemicolon(f,U){return U+(this.needsSemicolon(f,U)?";":"")}formatStatements(f,U="statement"){return f.map((_)=>this.indent()+this.addSemicolon(_,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 U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]));if(U==="switch"){let[,,_]=f;return _?.some((W)=>{return this.unwrapBlock(W[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(U==="if"){let[,,_,W]=f;return this.branchHasControlFlow(_)&&W&&this.branchHasControlFlow(W)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let U=this.unwrapBlock(f);if(U.length===0)return!1;let _=U[U.length-1];return Array.isArray(_)&&["return","throw","break","continue"].includes(_[0])}withIndent(f){this.indentLevel++;let U=f();return this.indentLevel--,U}is(f,U,_){if(!Array.isArray(f))return null;if((k(f[0])??f[0])!==U)return null;let W=f.slice(1);if(_!=null&&W.length!==_)return null;return W}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=0,W=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")U++;if(f[$]===")")U--;if(f[$]==="["||f[$]==="{")_++;if(f[$]==="]"||f[$]==="}")_--;if(f[$]===","&&U===1&&_===0)u=!0;if(U===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 U=this._findOptionalInTarget(f[1]);if(U)return{guard:U.guard,rewritten:[f[0],U.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=1/0;for(let W=1;W<f.length-1;W++){if(f[W]==="(")U++;if(f[W]===")")U--;_=Math.min(_,U)}if(_>=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(U!=="&&"&&U!=="||")return f;let W=[],u=($)=>{if(Array.isArray($)&&$[0]===U)for(let F=1;F<$.length;F++)u($[F]);else W.push($)};for(let $ of _)u($);return[U,...W]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>this.hasStatementInBranch(_));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 U=f[0];if(this.is(U,"if")){let[_,W,u,...$]=U,F=this.extractExpression(this.unwrapIfBranch(u)),Y=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(W,"value")} ? ${F} : ${Y})`}return this.extractExpression(this.unwrapIfBranch(U))}collectVarsFromArray(f,U){f.slice(1).forEach((_)=>{if(_===","||_==="...")return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="..."&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="="&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromLoopHead(f,U){if(!Array.isArray(f))return;f.forEach((_)=>{if(_==null)return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromObject(f,U){f.slice(1).forEach((_)=>{if(!Array.isArray(_))return;if(_[0]==="..."&&typeof _[1]==="string"){U.add(_[1]);return}if(_.length>=2){let[W,u,$]=_;if(W==="="){if(typeof u==="string")U.add(u)}else if(typeof $==="string")U.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,U);else if($[0]==="object")this.collectVarsFromObject($,U)}}})}extractStringContent(f){let U=k(f).slice(1,-1),_=W1(f,"indent");if(_)U=U.replace(new RegExp(`\\n${_}`,"g"),`
|
|
1787
|
+
`);if(W1(f,"initialChunk")&&U.startsWith(`
|
|
1788
|
+
`))U=U.slice(1);if(W1(f,"finalChunk")&&U.endsWith(`
|
|
1789
|
+
`))U=U.slice(0,-1);return U}processHeregex(f){let U="",_=!1,W=0,u=()=>{let $=0,F=W-1;while(F>=0&&f[F]==="\\")$++,F--;return $%2===1};while(W<f.length){let $=f[W];if($==="["&&!u()){_=!0,U+=$,W++;continue}if($==="]"&&_&&!u()){_=!1,U+=$,W++;continue}if(_){U+=$,W++;continue}if(/\s/.test($)){W++;continue}if($==="#"){if(u()){U+=$,W++;continue}let F=W-1;while(F>=0&&f[F]==="\\")F--;if(F<W-1){U+=$,W++;continue}while(W<f.length&&f[W]!==`
|
|
1790
|
+
`)W++;continue}U+=$,W++}return U}addJsExtensionAndAssertions(f){if(f instanceof String)f=k(f);if(typeof f!=="string")return f;let _=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,W=_.startsWith("./")||_.startsWith("../"),u=_,$="";if(W){let F=_.lastIndexOf("/"),Y=F>=0?_.substring(F+1):_;if(Y.includes(".")){if(Y.endsWith(".json"))$=" with { type: 'json' }"}else u=_+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&k(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((U)=>this.containsIt(U));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&W1(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((U)=>this.containsAwait(U));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((U)=>this.containsYield(U));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`// ============================================================================
|
|
1757
1791
|
// Rip Reactive Runtime
|
|
1758
1792
|
// A minimal, fine-grained reactivity system
|
|
1759
1793
|
//
|
|
@@ -1982,13 +2016,13 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1982
2016
|
}
|
|
1983
2017
|
|
|
1984
2018
|
// === End Reactive Runtime ===
|
|
1985
|
-
`}}class
|
|
1986
|
-
`),
|
|
2019
|
+
`}}class l1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,U){if(U)this.options={...this.options,...U};let _=null,W=f.split(`
|
|
2020
|
+
`),u=W.findIndex((w)=>w==="__DATA__");if(u!==-1){let w=W.slice(u+1);_=w.length>0?w.join(`
|
|
1987
2021
|
`)+`
|
|
1988
|
-
`:"",
|
|
1989
|
-
`)}let $=new K1,F;try{F=$.tokenize(
|
|
1990
|
-
//# sourceMappingURL=data:application/json;base64,${
|
|
1991
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(Z)Y=
|
|
2022
|
+
`:"",f=W.slice(0,u).join(`
|
|
2023
|
+
`)}let $=new K1,F;try{F=$.tokenize(f)}catch(w){throw T1(w,f,this.options.filename)}if(this.options.showTokens)F.forEach((w)=>console.log(`${w[0].padEnd(12)} ${JSON.stringify(w[1])}`)),console.log();let Y=null,Z=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)Z=[...F];if(F=F.filter((w)=>w[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let w=$.typeRefNames,X=new Set,H=!1;for(let q of F){if(q[0]==="IMPORT"){H=!0;continue}if(H&&q[0]==="TERMINATOR"){H=!1;continue}if(H)continue;if(q[0]==="IDENTIFIER")X.add(q[1])}for(let q=F.length-1;q>=0;q--){if(F[q][0]!=="IMPORT")continue;let I=q+1;if(I>=F.length)continue;if(F[I][0]==="CALL_START"||F[I][0]==="(")continue;if(F[I][0]==="STRING")continue;let R=[];while(I<F.length&&F[I][0]!=="FROM"&&F[I][0]!=="TERMINATOR"){if(F[I][0]==="IDENTIFIER")R.push(F[I][1]);I++}if(R.length===0)continue;if(R.some((O)=>X.has(O)))continue;if(!R.some((O)=>w.has(O)))continue;let S=I;while(S<F.length&&F[S][0]!=="TERMINATOR")S++;if(S<F.length)S++;F.splice(q,S-q)}}while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((w)=>w[0]==="TERMINATOR")){if(Z)Y=X2(Z,["program"],f);return{tokens:F,sexpr:["program"],code:"",dts:Y,data:_,reactiveVars:{}}}let G=null;z1.lexer={tokens:F,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let w=this.tokens[this.pos++],X=w[1];if(w.data)X=new String(X),Object.assign(X,w.data);return this.text=X,this.loc=w.loc,this.line=w.loc?.r,G=w.loc,w[0]}};let Q;try{Q=z1.parse(f)}catch(w){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new Z1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let X=T1(w,f,this.options.filename);if(X.phase==="parser"&&G)X.line=G.r??X.line,X.column=G.c??X.column,X.length=G.n||1;throw X}if(this.options.showSExpr)console.log(X1(Q,0,!0)),console.log();let z=null;if(this.options.sourceMap){let w=(this.options.filename||"output")+".js",X=this.options.filename||"input.rip";z=new O2(w,X,f)}let A=new Y1({dataSection:_,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=A.compile(Q),K=z?z.toJSON():null,D=z?z.toReverseMap():null;if(K&&this.options.sourceMap==="inline"){let w=typeof Buffer<"u"?Buffer.from(K).toString("base64"):btoa(K);J+=`
|
|
2024
|
+
//# sourceMappingURL=data:application/json;base64,${w}`}else if(K&&this.options.filename)J+=`
|
|
2025
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(Z)Y=X2(Z,Q,f);return{tokens:F,sexpr:Q,code:J,dts:Y,map:K,reverseMap:D,data:_,reactiveVars:A.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}G3(Y1,K1);Y1.prototype.emitEnum=n2;a1(null,Y1);function f2(f,U={}){return new l1(U).compile(f)}function D1(f,U={}){return new l1(U).compileToJS(f)}function m1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
1992
2026
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
1993
2027
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
1994
2028
|
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
@@ -2001,17 +2035,17 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
|
2001
2035
|
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
2002
2036
|
globalThis.warn ??= console.warn;
|
|
2003
2037
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
2004
|
-
`}function
|
|
2005
|
-
`}catch(
|
|
2038
|
+
`}function k1(){return new Y1({}).getReactiveRuntime()}function i1(){return new Y1({}).getComponentRuntime()}var Q3="3.14.2",z3="2026-04-23@15:43:24GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(k1())();if(!globalThis.__ripComponent)Function(i1())()}var a5=(f)=>{let U=f.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(U||[]).map((W)=>W.length));return f.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function A3(){let f=[],U=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),_=U?.getAttribute("data-src");if(_){for(let W of _.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=a5(W.textContent);if(u)f.push({code:u})}if(f.length>0){let W=await Promise.allSettled(f.map(async(Z)=>{if(!Z.url)return;let G=await fetch(Z.url);if(!G.ok)throw Error(`${Z.url} (${G.status})`);if(Z.url.endsWith(".rip"))Z.code=await G.text();else{let Q=await G.json();Z.bundle=Q}}));for(let Z of W)if(Z.status==="rejected")console.warn("Rip: fetch failed:",Z.reason.message);let u=[],$=[];for(let Z of f)if(Z.bundle)u.push(Z.bundle);else if(Z.code)$.push(Z);let F=U?.getAttribute("data-router");if(F!=null&&u.length>0){let Z={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Q="";for(let z of $)try{Q+=D1(z.code,Z)+`
|
|
2039
|
+
`}catch(A){console.error(I1(A,{source:z.code,file:z.url||"inline",color:!1}))}if(Q)try{await(0,eval)(`(async()=>{
|
|
2006
2040
|
${Q}
|
|
2007
|
-
})()`)}catch(z){console.error("Rip runtime error:",z)}}let G=
|
|
2008
|
-
`),
|
|
2009
|
-
${
|
|
2041
|
+
})()`)}catch(z){console.error("Rip runtime error:",z)}}let G=S1.modules?.["ui.rip"];if(G?.launch){let Q=u[u.length-1],z=U.getAttribute("data-persist"),A={bundle:Q,hash:F==="hash"};if(z!=null)A.persist=z==="local"?"local":!0;await G.launch("",A)}}else{let Z=[];for(let z of u){for(let[A,J]of Object.entries(z.components||{}))Z.push({code:J,url:A});if(z.data){let A=U?.getAttribute("data-state"),J={};if(A)try{J=JSON.parse(A)}catch{}Object.assign(J,z.data),U?.setAttribute("data-state",JSON.stringify(J))}}Z.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Q=[];for(let z of Z){if(!z.code)continue;try{let A=D1(z.code,G);Q.push({js:A,url:z.url||"inline"})}catch(A){console.error(I1(A,{source:z.code,file:z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&U){let z=globalThis.stash;if(z){let A={},J=U.getAttribute("data-state");if(J)try{A=JSON.parse(J)}catch(w){console.error("Rip: invalid data-state JSON:",w.message)}let K=z({data:A});if(globalThis.__ripApp=K,typeof window<"u")window.app=K;let D=U.getAttribute("data-persist");if(D!=null&&globalThis.persistStash)globalThis.persistStash(K,{local:D==="local"})}}if(Q.length>0){let z=Q.map((J)=>J.js).join(`
|
|
2042
|
+
`),A=U?.getAttribute("data-mount");if(A){let J=U.getAttribute("data-target")||"body";z+=`
|
|
2043
|
+
${A}.mount(${JSON.stringify(J)});`}try{await(0,eval)(`(async()=>{
|
|
2010
2044
|
${z}
|
|
2011
|
-
})()`),document.body.classList.add("ready")}catch(
|
|
2045
|
+
})()`),document.body.classList.add("ready")}catch(J){if(J instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${J.message}`);for(let K of Q)try{Function(`(async()=>{
|
|
2012
2046
|
${K.js}
|
|
2013
|
-
})()`)}catch(
|
|
2014
|
-
`,
|
|
2015
|
-
${U}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");W=W.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let f=(0,eval)(W);if(f&&typeof f.then==="function")return f.then(($)=>{if($!==void 0)globalThis._=$;return $});if(f!==void 0)globalThis._=f;return f}catch(U){console.error(B1(U,{source:u,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=z3,globalThis.importRip=I1,globalThis.compileToJS=D1,globalThis.__ripExports={compile:t1,compileToJS:D1,formatSExpr:w1,getStdlibCode:l1,VERSION:Z3,BUILD_DATE:G3,getReactiveRuntime:m1,getComponentRuntime:k1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((u)=>{let U=()=>Q3().then(u);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var f2={};T2(f2,{throttle:()=>r5,stash:()=>l3,setContext:()=>g3,raw:()=>y1,persistStash:()=>m3,launch:()=>t5,isStash:()=>n5,hold:()=>s5,hasContext:()=>j3,getContext:()=>C3,delay:()=>k3,debounce:()=>a5,createRouter:()=>d3,createResource:()=>o5,createRenderer:()=>p3,createComponents:()=>i3});var q2,J3,S2,X3,N2,E1,F1,w3,A3,E2,K3,D3,j1,G1,M3,H3,O3,q3,R3,P3,B3,I3,Q1,R2,d1,p1,u2,S3,N3,e1,i1,E3,L3,V3,P2,B2,C3,T3,L2,j3,b3,I2,N1,V2,h3,y3,b1,v3,g3,S1,c3,T1,h1,x3;globalThis.abort??=(u)=>{if(u)console.error(u);process.exit(1)};globalThis.assert??=(u,U)=>{if(!u)throw Error(U||"Assertion failed")};globalThis.exit??=(u)=>process.exit(u||0);globalThis.kind??=(u)=>u!=null?(u.constructor?.name||Object.prototype.toString.call(u).slice(8,-1)).toLowerCase():String(u);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(u)=>{return console.log(JSON.stringify(u,null,2)),u};globalThis.raise??=(u,U)=>{throw U!==void 0?new u(U):Error(u)};globalThis.rand??=(u,U)=>U!==void 0?(u>U&&([u,U]=[U,u]),Math.floor(Math.random()*(U-u+1)+u)):u?Math.floor(Math.random()*u):Math.random();globalThis.sleep??=(u)=>new Promise((U)=>setTimeout(U,u));globalThis.todo??=(u)=>{throw Error(u||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...u)=>u[0].map((U,_)=>u.map((W)=>W[_]));({__state:F1,__effect:E1,__batch:N2}=globalThis.__rip);({setContext:g3,getContext:C3,hasContext:j3}=globalThis.__ripComponent||{});S2=new WeakMap;q2=new WeakMap;R2=0;u2=F1(0);Q1=0;I2=function(u){return typeof u==="string"&&(u.indexOf(".")!==-1||u.indexOf("/")!==-1||u.indexOf("[")!==-1)};b3=function(u){return/^-?\d+$/.test(u)};L2=function(u,U){let _;if(!u[Symbol.for("signals")])Object.defineProperty(u,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=u[Symbol.for("signals")].get(U),!_)_=F1(u[U]),u[Symbol.for("signals")].set(U,_);return _};N1=function(u){return L2(u,Symbol.for("keys"))};x3=function(u){let U;if(!(u!=null&&typeof u==="object"))return u;if(u[Symbol.for("stash")])return u;if(u instanceof Date||u instanceof RegExp||u instanceof Map||u instanceof Set||u instanceof Promise)return u;if(U=S2.get(u),U)return U;return V2(u)};V2=function(u){let U,_;return _=null,U={get:function(W,f){let $,F,Y;if(f===Symbol.for("stash"))return!0;if(f===Symbol.for("raw"))return W;if(typeof f==="symbol")return Reflect.get(W,f);if(f==="length"&&Array.isArray(W))return N1(W).value,W.length;if(!Q1&&I2(f))return S1(_,f);if($=c3(_,f),$)return $;if(F=L2(W,f),Y=F.value,Y!=null&&typeof Y==="object")return x3(Y);return Y},set:function(W,f,$){let F,Y;if(!Q1&&I2(f))return T1(_,f,$),!0;if(F=W[f],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[f]=Y,W[Symbol.for("signals")]?.has(f))W[Symbol.for("signals")].get(f).value=Y;if(F===void 0&&Y!==void 0)N1(W).value=++R2;return u2.value++,!0},deleteProperty:function(W,f){let $;if(delete W[f],$=W[Symbol.for("signals")]?.get(f),$!=null)$.value=void 0;return N1(W).value=++R2,u2.value++,!0},ownKeys:function(W){return N1(W).value,Reflect.ownKeys(W)}},_=new Proxy(u,U),S2.set(u,_),_};J3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;h1=function(u){let U,_,W,f,$;W=("."+u).split(J3),W.shift(),$=[],_=0;while(_<W.length){if(f=W[_],U=f[0],U==="."||U==="/")$.push(f.slice(1));else if(U==="[")if(f[1]==='"'||f[1]==="'")$.push(f.slice(2,-2));else $.push(+f.slice(1,-1));_+=2}return $};b1=function(u,U){let _;if(typeof u==="number"&&u<0){if(_=y1(U),Array.isArray(_))return _.length+u}return u};S1=function(u,U){let _,W;return W=h1(U),_=u,Q1++,(()=>{try{for(let f of W){if(_==null)return;_=_[b1(f,_)]}return _}finally{Q1--}})()};T1=function(u,U,_){let W,f,$,F;return F=h1(U),$=u,Q1++,(()=>{try{for(let Y=0;Y<F.length;Y++){let Z=F[Y];if(W=b1(Z,$),Y===F.length-1)$[W]=_;else{if($[W]==null)f=F[Y+1],$[W]=typeof f==="number"||b3(f)?[]:{};$=$[W]}}return _}finally{Q1--}})()};X3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};c3=function(u,U){let _,W;if(!X3[U])return;if(_=q2.get(u),!_)_={},q2.set(u,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(f,$=1){let F;return F=S1(u,f)??0,T1(u,f,F+$)};case"dec":return function(f,$=1){let F;return F=S1(u,f)??0,T1(u,f,F-$)};case"flip":return function(f){let $;return $=S1(u,f)??!1,T1(u,f,!$)};case"join":return function(f,$){return N2(function(){let F;if(F=S1(u,f),!(F!=null&&typeof F==="object"))T1(u,f,{}),F=S1(u,f);return Q1++,(()=>{try{return(()=>{let Y=[];for(let Z in $){let G=$[Z];Y.push(F[Z]=G)}return Y})()}finally{Q1--}})()})};case"keys":return function(f){let $,F,Y;return Q1++,(()=>{try{F=h1(f),$=u;for(let Z of F){if($==null)return[];$=$[b1(Z,$)]}if(!($!=null&&typeof $==="object"))return[];return Y=y1($),N1(Y).value,Object.keys(Y)}finally{Q1--}})()};case"has":return function(f){let $,F,Y,Z;return Q1++,(()=>{try{if(Y=h1(f),!(Y.length>0))return!1;F=u;for(let G=0;G<Y.length;G++){let Q=Y[G];if($=b1(Q,F),G===Y.length-1)return Z=y1(F),N1(Z).value,Object.prototype.hasOwnProperty.call(Z,$);if(F==null)return!1;F=F[$]}return!1}finally{Q1--}})()};case"del":return function(f){let $,F,Y;return Q1++,(()=>{try{if(Y=h1(f),!(Y.length>0))return;return F=u,(()=>{let Z=[];for(let G=0;G<Y.length;G++){let Q=Y[G];if($=b1(Q,F),G===Y.length-1){delete F[$];return}if(F==null)return;Z.push(F=F[$])}return Z})()}finally{Q1--}})()}}})(),_[U]=W,W};var l3=function(u={}){return V2(u)},y1=function(u){return u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u},n5=function(u){return u?.[Symbol.for("stash")]===!0},m3=function(u,U={}){let _,W,f,$,F,Y;if(Y=y1(u)||u,Y[Symbol.for("persisted")])return;Y[Symbol.for("persisted")]=!0,$=U.local?localStorage:sessionStorage,F=U.key||"__rip_app";try{if(W=$.getItem(F),W){f=JSON.parse(W);for(let Z in f){let G=f[Z];u.data[Z]=G}}}catch{}return _=function(){return(()=>{try{return $.setItem(F,JSON.stringify(y1(u.data)))}catch{return null}})()},E1(function(){let Z;return u2.value,Z=setTimeout(_,2000),function(){return clearTimeout(Z)}}),window.addEventListener("beforeunload",_)},o5=function(u,U={}){let _,W,f,$,F;if(_=F1(U.initial||null),f=F1(!1),W=F1(null),$=async function(){let Y;return f.value=!0,W.value=null,await(async()=>{try{return Y=await u(),_.value=Y}catch(Z){return W.value=Z}finally{f.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return _.value}}),Object.defineProperty(F,"loading",{get:function(){return f.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};p1=function(u){return typeof u==="function"?u:function(){return u.value}};d1=function(u,U){let _;return _={read:function(){return u.read()}},Object.defineProperty(_,"value",{get:function(){return u.value},set:function(W){return U.value=W}}),_};var k3=function(u,U){let _,W;return _=p1(U),W=F1(!!_()),E1(function(){let f;if(_())return f=setTimeout(function(){return W.value=!0},u),function(){return clearTimeout(f)};else return W.value=!1}),typeof U!=="function"?d1(W,U):W},a5=function(u,U){let _,W;return _=p1(U),W=F1(_()),E1(function(){let f,$;return $=_(),f=setTimeout(function(){return W.value=$},u),function(){return clearTimeout(f)}}),typeof U!=="function"?d1(W,U):W},r5=function(u,U){let _,W,f;return _=p1(U),f=F1(_()),W=0,E1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=u-($-W),F<=0)return f.value=Z,W=$;else return Y=setTimeout(function(){return f.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?d1(f,U):f},s5=function(u,U){let _,W;return _=p1(U),W=F1(!!_()),E1(function(){let f;if(_())return W.value=!0;else return f=setTimeout(function(){return W.value=!1},u),function(){return clearTimeout(f)}}),typeof U!=="function"?d1(W,U):W},i3=function(){let u,U,_,W;return U=new Map,W=[],u=new Map,_=function(f,$){for(let F of W)F(f,$)},{read:function(f){return U.get(f)},write:function(f,$){let F;return F=!U.has(f),U.set(f,$),u.delete(f),_(F?"create":"change",f)},del:function(f){return U.delete(f),u.delete(f),_("delete",f)},exists:function(f){return U.has(f)},size:function(){return U.size},list:function(f=""){let $,F,Y;Y=[],$=f?f+"/":"";for(let[Z]of U)if(Z.startsWith($)){if(F=Z.slice($.length),F.includes("/"))continue;Y.push(Z)}return Y},listAll:function(f=""){let $,F;F=[],$=f?f+"/":"";for(let[Y]of U)if(Y.startsWith($))F.push(Y);return F},load:function(f){for(let $ in f){let F=f[$];U.set($,F)}},watch:function(f){return W.push(f),function(){return W.splice(W.indexOf(f),1)}},getCompiled:function(f){return u.get(f)},setCompiled:function(f,$){return u.set(f,$)}}};V3=function(u){let U;if(U=u.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};y3=function(u){let U,_;return U=[],_=u.replace(/\*(\w+)/g,function(W,f){return U.push(f),"(.+)"}).replace(/:(\w+)/g,function(W,f){return U.push(f),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};h3=function(u,U){let _,W;for(let f of U)if(_=u.match(f.regex.regex),_){W={};for(let $=0;$<f.regex.names.length;$++){let F=f.regex.names[$];W[F]=decodeURIComponent(_[$+1])}return{route:f,params:W}}return null};e1=function(u,U="components"){let _,W,f,$,F,Y,Z,G,Q;Z=[],f=new Map,_=u.listAll(U);for(let z of _){if(Y=z.slice(U.length+1),!Y.endsWith(".rip"))continue;if($=Y.split("/").pop(),$==="_layout.rip"){W=Y==="_layout.rip"?"":Y.slice(0,-12),f.set(W,z);continue}if($.startsWith("_"))continue;if(G=Y.split("/"),G.length>1&&G.some(function(X,w){return w<G.length-1&&X.startsWith("_")}))continue;Q=V3(Y),F=y3(Q),Z.push({pattern:Q,regex:F,file:z,rel:Y})}return Z.sort(function(z,X){let w,K,H,A;if(K=(z.pattern.match(/:/g)||[]).length,A=(X.pattern.match(/:/g)||[]).length,w=z.pattern.includes("*")?1:0,H=X.pattern.includes("*")?1:0,w!==H)return w-H;if(K!==A)return K-A;return z.pattern.localeCompare(X.pattern)}),{routes:Z,layouts:f}};T3=function(u,U,_){let W,f,$,F;if(W=[],$=u.slice(U.length+1),F=$.split("/"),f="",_.has(""))W.push(_.get(""));for(let Y=0;Y<F.length;Y++){let Z=F[Y];if(Y===F.length-1)break;if(f=f?f+"/"+Z:Z,_.has(f))W.push(_.get(f))}return W};var d3=function(u,U={}){let _,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B;if(R=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,P=function(D){return Q&&D.startsWith(Q)?D.slice(Q.length)||"/":D},G=function(D){return Q?Q+D:D},A=function(){let D;if(z){if(D=location.hash.slice(1),!D)return"/";return D[0]==="/"?D:"/"+D}else return location.pathname+location.search+location.hash},B=function(D){return z?D==="/"?location.pathname:"#"+D.slice(1):G(D)},F=F1(P(z?A():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),f=k3(100,F1(!1)),q=e1(u,R),X=new Set,u.watch(function(D,I){if(!I.startsWith(R+"/"))return;return q=e1(u,R)}),J=function(D){let I,M,S,N,V;if(N=D.split("?")[0].split("#")[0],M=P(N),M=M[0]==="/"?M:"/"+M,S=D.split("?")[1]?.split("#")[0]||"",I=D.includes("#")?D.split("#")[1]:"",V=h3(M,q.routes),V){N2(function(){return F.value=M,$.value=V.params,Z.value=V.route,W.value=T3(V.route.file,R,q.layouts),Y.value=Object.fromEntries(new URLSearchParams(S)),_.value=I});for(let L of X)L(O.current);return!0}if(K)K({status:404,path:M});return!1},H=function(){return J(A())},typeof window<"u")window.addEventListener("popstate",H);if(w=function(D){let I,M,S;if(D.button!==0||D.metaKey||D.ctrlKey||D.shiftKey||D.altKey)return;M=D.target;while(M&&M.tagName!=="A")M=M.parentElement;if(!M?.href)return;if(S=new URL(M.href,location.origin),S.origin!==location.origin)return;if(M.target==="_blank"||M.hasAttribute("data-external"))return;return D.preventDefault(),I=z&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,O.push(I)},typeof document<"u")document.addEventListener("click",w);return O={push:function(D){return J(D)?history.pushState(null,"",B(F.read())):void 0},replace:function(D){return J(D)?history.replaceState(null,"",B(F.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(D){return X.add(D),function(){return X.delete(D)}},rebuild:function(){return q=e1(u,R)},routes:void 0,init:function(){return J(A()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",H);if(typeof document<"u")document.removeEventListener("click",w);return X.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(O,"path",{get:function(){return F.value}}),Object.defineProperty(O,"params",{get:function(){return $.value}}),Object.defineProperty(O,"route",{get:function(){return Z.value}}),Object.defineProperty(O,"layouts",{get:function(){return W.value}}),Object.defineProperty(O,"query",{get:function(){return Y.value}}),Object.defineProperty(O,"hash",{get:function(){return _.value}}),Object.defineProperty(O,"navigating",{get:function(){return f.value},set:function(D){return f.value=D}}),Object.defineProperty(O,"routes",{get:function(){return q.routes}}),O};S3=function(u,U){if(u.length!==U.length)return!1;for(let _=0;_<u.length;_++)if(u[_]!==U[_])return!1;return!0};B2=function(u){for(let U in u){let _=u[U];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _}return typeof u.default==="function"?u.default:void 0};P2=function(u){let U;U={};for(let _ in u){let W=u[_];if(typeof W==="function"&&(W.prototype?.mount||W.prototype?._create))U[_]=W}return U};L3=function(u){let U;return U=u.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,f){return f.toUpperCase()})};N3=function(u,U="components"){let _,W,f;W={};for(let $ of u.listAll(U)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(f=L3($),W[f])console.warn(`[Rip] Component name collision: ${f} (${W[f]} vs ${$})`);W[f]=$}return W};v3=function(u,U,_){let W,f,$,F;if($=u.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){F=U.split("/"),F.pop();for(let Y of u.split("/"))if(Y==="..")F.pop();else if(Y!==".")F.push(Y);if(f=F.join("/"),_.exists(f))return f}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(let Y of _.listAll("components"))if(Y.endsWith(`/${W}`))return Y;return null};i1=async function(u,U,_=null,W=null,f=null){let $,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B,D,I,M,S,N,V;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(f&&W)f.compiling??={},f.compiling[W]=!0;if(K=U(u),f){if(w=new Set,_){M=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,H=Array.from(K.matchAll(M));for(let L=H.length-1;L>=0;L--){let C=H[L];if([z,B,R,S,q]=C,N=v3(S,W,_),N===W)continue;if(!N){if(J=`[Rip] Could not resolve import: ${S}`,W)J+=` (from ${W})`;console.warn(J);continue}if(!f.blobUrls?.[N]){if(f.compiling?.[N])continue;if(G=_.read(N),G)await i1(G,U,_,N,f)}if(F=f.blobUrls?.[N],F){if(I=`${B}${F}${q}`,K=K.slice(0,C.index)+I+K.slice(C.index+z.length),R)for(let E of R.split(","))w.add(E.trim().split(/\s+as\s+/).pop().trim())}}}P={};for(let L in f.map){let C=f.map[L];if(w.has(L))continue;if(C!==W&&K.includes(`new ${L}(`)){if(!f.classes[L]){if(G=_.read(C),G){Z=await i1(G,U,_,C,f),Q=P2(Z);for(let E in Q){let n=Q[E];f.classes[E]=n}}}if(f.classes[L])P[L]=!0}}if(O=Object.keys(P),O.length>0)D=`const {${O.join(", ")}} = globalThis['${f.key}'];
|
|
2016
|
-
`,
|
|
2017
|
-
`:"",$=new Blob([X+K],{type:"application/javascript"}),V=URL.createObjectURL($),f&&W){if(f.blobUrls??={},f.blobUrls[W]=V,f.compiling)delete f.compiling[W]}if(A=await import(V),f){Q=P2(A);for(let L in Q){let C=Q[L];f.classes[L]=C}}if(_&&W)_.setCompiled(W,A);return A};var p3=function(u={}){let U,_,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B;if({router:P,app:U,components:$,resolver:O,compile:W,target:q,onError:J}=u,F=typeof q==="string"?document.querySelector(q):q||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],w=[],H=F,X=0,z=null,f=new Map,K=u.cacheSize||10,_=function(){let D,I;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(f.set(Q,Y),f.size>K){if(I=f.keys().next().value,D=f.get(I),D.unmounted)D.unmounted();f.delete(I)}return Y=null,Q=null}},B=function(){_();for(let D=w.length-1;D>=0;D--){let I=w[D];if(I.beforeUnmount)I.beforeUnmount();if(I.unmounted)I.unmounted();I._target?.remove()}return w=[],H=F},$.watch(function(D,I){let M;if(f.has(I)){if(M=f.get(I),M.unmounted)M.unmounted();return f.delete(I)}}),A=async function(D){let I,M,S,N,V,L,C,E,n,T,j,y,m,t,$1,b,g,x,l,e,u1,c;if({route:l,params:b,layouts:E,query:x}=D,!l)return;if(l.file===Q&&JSON.stringify(b)===JSON.stringify(G))return;return G=b,N=++X,P.navigating=!0,await(async()=>{try{if(u1=$.read(l.file),!u1){if(J)J({status:404,message:`File not found: ${l.file}`});P.navigating=!1;return}if(y=await i1(u1,W,$,l.file,O),N!==X){P.navigating=!1;return}if(I=B2(y),!I){if(J)J({status:500,message:`No component found in ${l.file}`});P.navigating=!1;return}if(j=!S3(E,Z),t=Y?._target,j)B();else _();if(m=j?F:H,j&&E.length>0){F.innerHTML="",m=F;for(let i of E){if(T=$.read(i),!T)continue;if(n=await i1(T,W,$,i,O),N!==X){P.navigating=!1;return}if(M=B2(n),!M)continue;if(L=new M({app:U,params:b,router:P}),L.beforeMount)L.beforeMount();c=document.createElement("div"),c.setAttribute("data-layout",i),m.appendChild(c),L.mount(c),w.push(L),e=c.querySelector("#content")||c,m=e}Z=[...E],H=m}else if(j)F.innerHTML="",Z=[],H=F;if(S=f.get(l.file),S){if(f.delete(l.file),m.appendChild(S._target),Y=S,Q=l.file,b)S.params=b;if(x)S.query=x;if(S.mounted)S.mounted();if(S.load)await S.load(b,x)}else{if($1=document.createElement("div"),$1.setAttribute("data-component",l.file),m.appendChild($1),C=new I({app:U,params:b,query:x,router:P}),C.beforeMount)C.beforeMount();if(C.mount($1),Y=C,Q=l.file,C.load)await C.load(b,x)}return t?.remove(),P.navigating=!1}catch(i){if(P.navigating=!1,console.error(`Renderer: error mounting ${l.file}:`,i),J)J({status:500,message:i.message,error:i});V=!1;for(let r=w.length-1;r>=0;r--){let s=w[r];if(s.onError)try{s.onError(i),V=!0;break}catch(h){console.error("Renderer: error boundary failed:",h)}}return(()=>{if(!V)return g=document.createElement("pre"),g.style.cssText="color:red;padding:1em",g.textContent=i.stack||i.message,F.innerHTML="",F.appendChild(g)})()}})()},R={start:function(){return z=E1(function(){let D;return D=P.current,D.route?A(D):void 0}),P.init(),R},stop:function(){if(B(),z)z(),z=null;return F.innerHTML=""},remount:function(){let D;return D=P.current,D.route?A(D):void 0},cache:f},R};E3=function(u){let U,_,W;return W=1000,_=30000,U=function(){let f;return f=new EventSource(u),f.addEventListener("connected",function(){return W=1000,console.log("[Rip] Hot reload connected")}),f.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),f.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))u=new URL($.href),u.searchParams.set("_t",Date.now()),$.href=u.toString()}),f.onerror=function(){return f.close(),setTimeout(U,W),W=Math.min(W*2,_)}},U()};var t5=async function(u="",U={}){let _,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R;if(globalThis.__ripLaunched=!0,typeof u==="object")U=u,u="";if(u=u.replace(/\/+$/,""),R=U.target||"#app",Y=U.compile||null,w=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(R))Z=document.createElement("div"),Z.id=R.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)f=U.bundle;else if(U.bundleUrl){if(X={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)X["If-None-Match"]=$;if(H=await fetch(U.bundleUrl,{headers:X}),H.status===304)f=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(H.ok){if(f=await H.json(),G=H.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(f))}else throw Error(`launch: ${U.bundleUrl} (${H.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=l3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,f.data)_.data=f.data;if(f.routes)_.routes=f.routes;if(w&&typeof sessionStorage<"u")m3(_,{local:w==="local",key:`__rip_${u}`});if(W=i3(),f.components)W.load(f.components);if(F=`__rip_${u.replace(/\//g,"_")||"app"}`,A={map:N3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=A.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(J=d3(W,{root:"components",base:u,hash:z,onError:function(O){return console.error(`[Rip] Error ${O.status}: ${O.message||O.path}`)}}),K=p3({router:J,app:_,components:W,resolver:A,compile:Y,target:R,onError:function(O){return console.error(`[Rip] ${O.message}`,O.error)}}),K.start(),f.data?.watch)E3(`${u}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:J,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:J,renderer:K}};G1=function(u,U){if(!U)return;return u.preventDefault(),u.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(u){return globalThis.__ariaLastFocusedEl=u.target},!0),globalThis.__ariaFocusTrackerBound=!0;K3=function(u,U){if(u.isComposing)return;return(()=>{switch(u.key){case"ArrowDown":return G1(u,U.next);case"ArrowUp":return G1(u,U.prev);case"Home":case"PageUp":return G1(u,U.first);case"End":case"PageDown":return G1(u,U.last);case"Enter":case" ":return G1(u,U.select);case"Escape":return G1(u,U.dismiss);case"Tab":return U.tab?.();default:return u.key.length===1?U.char?.(u.key):void 0}})()};M3=function(u,U,_,W=[],f=null){let $,F,Y;if(!u)return;return $=function(Z){return typeof Z==="function"?Z():Z},F=(Z)=>{return![$(U),...W.map($)].some(function(G){return G?.contains(Z.target)})?_():void 0},Y=(Z)=>{if($(U)?.contains(Z.target))return;return f?f():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};H3=function(u=250){let U;return U=0,{block:function(_=u){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};A3=function(u,U,_,W=null){let f,$,F,Y,Z,G,Q,z,X,w,K;if(Y=function(H){return typeof H==="function"?H():H},f=function(){let H,A;if(H=document.activeElement,H&&H!==document.body)return H;if(A=globalThis.__ariaLastFocusedEl,A?.isConnected!==!1)return A;return null},F=Y(U),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Q=null,K=function(H){if(H){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},z=function(){let H,A;if(A=Q,Q=null,!A?.focus)return;return H=function(J=6){if(A.isConnected===!1)return;try{A.focus({preventScroll:!0})}catch{A.focus()}if(document.activeElement===A||J<=1)return;return setTimeout(function(){return H(J-1)},16)},requestAnimationFrame(function(){return H()})},Z=function(H){let A;if(A=H.newState==="open",A)Q=Y(W)||f(),K(!0);else K(!1),z();return _?.(A)},F.addEventListener("toggle",Z),X=F.matches(":popover-open"),$=!!u,X!==$){if(w=Y(W),$)Q=w||f(),K(!0);G=w&&$?{force:$,source:w}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};w3=function(u,U,_,W=!0){let f,$,F,Y,Z,G,Q,z;if(F=function(X){return typeof X==="function"?X():X},f=function(){let X,w;if(X=document.activeElement,X&&X!==document.body)return X;if(w=globalThis.__ariaLastFocusedEl,w?.isConnected!==!1)return w;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(X){if(X){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Q=function(){let X,w;if(w=G,G=null,!w?.focus)return;return X=function(K=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||K<=1)return;return setTimeout(function(){return X(K-1)},16)},requestAnimationFrame(function(){return X()})},Y=function(X){if(!W){X.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),u&&!$.open){if(!G)G=f();z(!0);try{$.showModal()}catch{}}else if(!u&&$.open)$.close();else z(!!u);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};R3=function(u,U,_="vertical"){let W,f;if(u.isComposing)return;return f=_!=="horizontal",W=_!=="vertical",(()=>{switch(u.key){case"ArrowDown":return f?G1(u,U.next):void 0;case"ArrowUp":return f?G1(u,U.prev):void 0;case"ArrowRight":return W?G1(u,U.next):void 0;case"ArrowLeft":return W?G1(u,U.prev):void 0;case"Home":case"PageUp":return G1(u,U.first);case"End":case"PageDown":return G1(u,U.last);case"Enter":case" ":return G1(u,U.select);case"Escape":return G1(u,U.dismiss);default:return u.key.length===1?U.char?.(u.key):void 0}})()};q3=function(u,U,_=4,W=!0){let f,$;if(!(u&&U))return;if($=u.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,f=U.getBoundingClientRect(),f.bottom>window.innerHeight)U.style.top=`${$.top-f.height-_}px`;if(f.right>window.innerWidth)U.style.left=`${window.innerWidth-f.width-_}px`;return W?U.style.visibility="visible":void 0};var e5='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';P3=function(u){let U;return U=function(_){let W,f,$;if(_.key!=="Tab")return;if($=Array.from(u.querySelectorAll(e5)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],f=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),f.focus()):void 0:document.activeElement===f?(_.preventDefault(),W.focus()):void 0},u.addEventListener("keydown",U),function(){return u.removeEventListener("keydown",U)}};I3=function(u,U){let _,W;if(!u)return;if(W=u.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,u.setAttribute("aria-labelledby",W.id);if(_=u.querySelector("p"),_)return _.id??=`${U}-desc`,u.setAttribute("aria-describedby",_.id)};j1=[];D3=function(u){let U;if(U=window.scrollY,j1.push({instance:u,scrollY:U}),j1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};B3=function(u){let U,_;if(U=j1.findIndex(function(W){return W.instance===u}),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,_)};E2=function(){let u,U,_;return(()=>{try{if(!document?.createElement)return!1;return u=document.createElement("div"),U=document.createElement("div"),u.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",U.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(u),document.body.appendChild(U),_=U.getBoundingClientRect(),u.remove(),U.remove(),_.top>50}catch{return!1}})()}();O3=function(u,U,_={}){let W,f,$,F,Y,Z,G;if(!(u&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,f=_.matchWidth??!1,E2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,u.style.anchorName=$,U.style.positionAnchor=$,U.style.position="fixed",U.style.inset="auto",U.style.margin="0",U.style.positionArea=Y,U.style.positionTry="flip-block, flip-inline, flip-block flip-inline",U.style.positionVisibility="anchors-visible",[G]=Y.split(" "),U.style.marginTop="",U.style.marginBottom="",U.style.marginLeft="",U.style.marginRight="",G){case"bottom":U.style.marginTop=`${F}px`;break;case"top":U.style.marginBottom=`${F}px`;break;case"left":U.style.marginRight=`${F}px`;break;case"right":U.style.marginLeft=`${F}px`;break}return f?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=u.getBoundingClientRect(),U.style.position="fixed",U.style.inset="auto",U.style.margin="0",[G,W]=Y.split(" "),W??="start",G){case"bottom":U.style.top=`${Z.bottom+F}px`;break;case"top":U.style.bottom=`${window.innerHeight-Z.top+F}px`;break;case"left":U.style.right=`${window.innerWidth-Z.left+F}px`;break;case"right":U.style.left=`${Z.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(W){case"start":U.style.left=`${Z.left}px`;break;case"center":U.style.left=`${Z.left+Z.width/2}px`,U.style.transform="translateX(-50%)";break;case"end":U.style.right=`${window.innerWidth-Z.right}px`;break}else switch(W){case"start":U.style.top=`${Z.top}px`;break;case"center":U.style.top=`${Z.top+Z.height/2}px`,U.style.transform="translateY(-50%)";break;case"end":U.style.bottom=`${window.innerHeight-Z.bottom}px`;break}return f?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:K3,rovingNav:R3,popupDismiss:M3,popupGuard:H3,bindPopover:A3,bindDialog:w3,positionBelow:q3,trapFocus:P3,wireAria:I3,lockScroll:D3,unlockScroll:B3,position:O3,hasAnchor:E2};globalThis.ARIA??=globalThis.__aria;I1.modules["ui.rip"]=f2;for(let[u,U]of Object.entries(f2))if(typeof U==="function")globalThis[u]=U;})();
|
|
2047
|
+
})()`)}catch(D){console.error(` → source: ${K.url}`,D.message)}}else console.error("Rip runtime error:",J)}}}}if(U?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let W=!1,u=1000,$=30000,F=()=>{let Y=new EventSource("/watch");Y.addEventListener("connected",()=>{if(u=1000,W)location.reload();W=!0}),Y.addEventListener("reload",(Z)=>{if(Z.data==="styles"){let G=Date.now(),Q=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((z)=>{if(new URL(z.href).origin!==location.origin)return;let A=new URL(z.href);A.searchParams.set("_r",G),z.href=A.toString(),Q++}),!Q)location.reload()}else location.reload()}),Y.onerror=()=>{Y.close(),setTimeout(F,u),u=Math.min(u*2,$)}};F()}}async function S1(f){for(let[F,Y]of Object.entries(S1.modules))if(f.includes(F))return Y;let U=await fetch(f).then((F)=>{if(!F.ok)throw Error(`importRip: ${f} (${F.status})`);return F.text()}),_=D1(U),W=`// ${f}
|
|
2048
|
+
`,u=new Blob([W+_],{type:"application/javascript"});return await import(URL.createObjectURL(u))}S1.modules={};function J3(f){try{let U=f.replace(/^/gm," "),W=D1(`do ->
|
|
2049
|
+
${U}`).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(U){console.error(I1(U,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=J3,globalThis.importRip=S1,globalThis.compileToJS=D1,globalThis.__ripExports={compile:f2,compileToJS:D1,formatSExpr:X1,getStdlibCode:m1,VERSION:Q3,BUILD_DATE:z3,getReactiveRuntime:k1,getComponentRuntime:i1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let U=()=>A3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var W2={};b2(W2,{throttle:()=>t5,stash:()=>k3,setContext:()=>x3,raw:()=>v1,persistStash:()=>i3,launch:()=>u0,isStash:()=>o5,hold:()=>e5,hasContext:()=>h3,getContext:()=>j3,delay:()=>d3,debounce:()=>s5,createRouter:()=>n3,createResource:()=>r5,createRenderer:()=>a3,createComponents:()=>p3});var P2,X3,E2,w3,L2,L1,F1,K3,D3,V2,M3,H3,b1,G1,q3,O3,R3,P3,B3,I3,S3,N3,Q1,B2,p1,n1,U2,E3,L3,$2,d1,V3,C3,T3,I2,S2,j3,b3,C2,h3,y3,N2,E1,T2,v3,g3,h1,c3,x3,N1,l3,j1,y1,m3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,U)=>{if(!f)throw Error(U||"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,U)=>{throw U!==void 0?new f(U):Error(f)};globalThis.rand??=(f,U)=>U!==void 0?(f>U&&([f,U]=[U,f]),Math.floor(Math.random()*(U-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((U)=>setTimeout(U,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((U,_)=>f.map((W)=>W[_]));({__state:F1,__effect:L1,__batch:L2}=globalThis.__rip);({setContext:x3,getContext:j3,hasContext:h3}=globalThis.__ripComponent||{});E2=new WeakMap;P2=new WeakMap;B2=0;U2=F1(0);Q1=0;N2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};y3=function(f){return/^-?\d+$/.test(f)};C2=function(f,U){let _;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=f[Symbol.for("signals")].get(U),!_)_=F1(f[U]),f[Symbol.for("signals")].set(U,_);return _};E1=function(f){return C2(f,Symbol.for("keys"))};m3=function(f){let U;if(!(f!=null&&typeof f==="object"))return f;if(f[Symbol.for("stash")])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(U=E2.get(f),U)return U;return T2(f)};T2=function(f){let U,_;return _=null,U={get:function(W,u){let $,F,Y;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return W;if(typeof u==="symbol")return Reflect.get(W,u);if(u==="length"&&Array.isArray(W))return E1(W).value,W.length;if(!Q1&&N2(u))return N1(_,u);if($=l3(_,u),$)return $;if(F=C2(W,u),Y=F.value,Y!=null&&typeof Y==="object")return m3(Y);return Y},set:function(W,u,$){let F,Y;if(!Q1&&N2(u))return j1(_,u,$),!0;if(F=W[u],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[u]=Y,W[Symbol.for("signals")]?.has(u))W[Symbol.for("signals")].get(u).value=Y;if(F===void 0&&Y!==void 0)E1(W).value=++B2;return U2.value++,!0},deleteProperty:function(W,u){let $;if(delete W[u],$=W[Symbol.for("signals")]?.get(u),$!=null)$.value=void 0;return E1(W).value=++B2,U2.value++,!0},ownKeys:function(W){return E1(W).value,Reflect.ownKeys(W)}},_=new Proxy(f,U),E2.set(f,_),_};X3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;y1=function(f){let U,_,W,u,$;W=("."+f).split(X3),W.shift(),$=[],_=0;while(_<W.length){if(u=W[_],U=u[0],U==="."||U==="/")$.push(u.slice(1));else if(U==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));_+=2}return $};h1=function(f,U){let _;if(typeof f==="number"&&f<0){if(_=v1(U),Array.isArray(_))return _.length+f}return f};N1=function(f,U){let _,W,u;return u=y1(U),_=f,Q1++,(()=>{try{for(W of u){if(_==null)return;_=_[h1(W,_)]}return _}finally{Q1--}})()};j1=function(f,U,_){let W,u,$,F,Y,Z;return Z=y1(U),F=f,Q1++,(()=>{try{for(let G=0;G<Z.length;G++)if(Y=Z[G],u=h1(Y,F),G===Z.length-1)F[u]=_;else{if(F[u]==null)$=Z[G+1],F[u]=typeof $==="number"||y3($)?[]:{};F=F[u]}return _}finally{Q1--}})()};w3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};l3=function(f,U){let _,W;if(!w3[U])return;if(_=P2.get(f),!_)_={},P2.set(f,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F+$)};case"dec":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F-$)};case"flip":return function(u){let $;return $=N1(f,u)??!1,j1(f,u,!$)};case"join":return function(u,$){return L2(function(){let F,Y,Z;if(Y=N1(f,u),!(Y!=null&&typeof Y==="object"))j1(f,u,{}),Y=N1(f,u);return Q1++,(()=>{try{return(()=>{let G=[];for(F in $)Z=$[F],G.push(Y[F]=Z);return G})()}finally{Q1--}})()})};case"keys":return function(u){let $,F,Y,Z;return Q1++,(()=>{try{Y=y1(u),$=f;for(F of Y){if($==null)return[];$=$[h1(F,$)]}if(!($!=null&&typeof $==="object"))return[];return Z=v1($),E1(Z).value,Object.keys(Z)}finally{Q1--}})()};case"has":return function(u){let $,F,Y,Z,G,Q;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return!1;Y=f;for(let z=0;z<G.length;z++){if(Z=G[z],F=h1(Z,Y),z===G.length-1)return Q=v1(Y),E1(Q).value,Object.prototype.hasOwnProperty.call(Q,F);if(Y==null)return!1;Y=Y[F]}return!1}finally{Q1--}})()};case"del":return function(u){let $,F,Y,Z,G;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return;return Y=f,(()=>{let Q=[];for(let z=0;z<G.length;z++){if(Z=G[z],F=h1(Z,Y),z===G.length-1){delete Y[F];return}if(Y==null)return;Q.push(Y=Y[F])}return Q})()}finally{Q1--}})()}}})(),_[U]=W,W};var k3=function(f={}){return T2(f)},v1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},o5=function(f){return f?.[Symbol.for("stash")]===!0},i3=function(f,U={}){let _,W,u,$,F,Y,Z,G;if(Z=v1(f)||f,Z[Symbol.for("persisted")])return;Z[Symbol.for("persisted")]=!0,F=U.local?localStorage:sessionStorage,Y=U.key||"__rip_app";try{if(u=F.getItem(Y),u){$=JSON.parse(u);for(W in $)G=$[W],f.data[W]=G}}catch{}return _=function(){return(()=>{try{return F.setItem(Y,JSON.stringify(v1(f.data)))}catch{return null}})()},L1(function(){let Q;return U2.value,Q=setTimeout(_,2000),function(){return clearTimeout(Q)}}),window.addEventListener("beforeunload",_)},r5=function(f,U={}){let _,W,u,$,F;if(_=F1(U.initial||null),u=F1(!1),W=F1(null),$=async function(){let Y;return u.value=!0,W.value=null,await(async()=>{try{return Y=await f(),_.value=Y}catch(Z){return W.value=Z}finally{u.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return _.value}}),Object.defineProperty(F,"loading",{get:function(){return u.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};n1=function(f){return typeof f==="function"?f:function(){return f.value}};p1=function(f,U){let _;return _={read:function(){return f.read()}},Object.defineProperty(_,"value",{get:function(){return f.value},set:function(W){return U.value=W}}),_};var d3=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return u=setTimeout(function(){return W.value=!0},f),function(){return clearTimeout(u)};else return W.value=!1}),typeof U!=="function"?p1(W,U):W},s5=function(f,U){let _,W;return _=n1(U),W=F1(_()),L1(function(){let u,$;return $=_(),u=setTimeout(function(){return W.value=$},f),function(){return clearTimeout(u)}}),typeof U!=="function"?p1(W,U):W},t5=function(f,U){let _,W,u;return _=n1(U),u=F1(_()),W=0,L1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=f-($-W),F<=0)return u.value=Z,W=$;else return Y=setTimeout(function(){return u.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?p1(u,U):u},e5=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return W.value=!0;else return u=setTimeout(function(){return W.value=!1},f),function(){return clearTimeout(u)}}),typeof U!=="function"?p1(W,U):W},p3=function(){let f,U,_,W;return U=new Map,W=[],f=new Map,_=function(u,$){let F;for(F of W)F(u,$)},{read:function(u){return U.get(u)},write:function(u,$){let F;return F=!U.has(u),U.set(u,$),f.delete(u),_(F?"create":"change",u)},del:function(u){return U.delete(u),f.delete(u),_("delete",u)},exists:function(u){return U.has(u)},size:function(){return U.size},list:function(u=""){let $,F,Y,Z;Z=[],F=u?u+"/":"";for([$]of U)if($.startsWith(F)){if(Y=$.slice(F.length),Y.includes("/"))continue;Z.push($)}return Z},listAll:function(u=""){let $,F,Y;Y=[],F=u?u+"/":"";for([$]of U)if($.startsWith(F))Y.push($);return Y},load:function(u){let $,F;for(F in u)$=u[F],U.set(F,$)},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,$)}}};T3=function(f){let U;if(U=f.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};g3=function(f){let U,_;return U=[],_=f.replace(/\*(\w+)/g,function(W,u){return U.push(u),"(.+)"}).replace(/:(\w+)/g,function(W,u){return U.push(u),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};v3=function(f,U){let _,W,u,$,F;for(F of U)if(W=f.match(F.regex.regex),W){$={};for(let Y=0;Y<F.regex.names.length;Y++)u=F.regex.names[Y],$[u]=decodeURIComponent(W[Y+1]);return{route:F,params:$}}return null};$2=function(f,U="components"){let _,W,u,$,F,Y,Z,G,Q,z;G=[],$=new Map,_=f.listAll(U);for(u of _){if(Z=u.slice(U.length+1),!Z.endsWith(".rip"))continue;if(F=Z.split("/").pop(),F==="_layout.rip"){W=Z==="_layout.rip"?"":Z.slice(0,-12),$.set(W,u);continue}if(F.startsWith("_"))continue;if(Q=Z.split("/"),Q.length>1&&Q.some(function(A,J){return J<Q.length-1&&A.startsWith("_")}))continue;z=T3(Z),Y=g3(z),G.push({pattern:z,regex:Y,file:u,rel:Z})}return G.sort(function(A,J){let K,D,w,X;if(D=(A.pattern.match(/:/g)||[]).length,X=(J.pattern.match(/:/g)||[]).length,K=A.pattern.includes("*")?1:0,w=J.pattern.includes("*")?1:0,K!==w)return K-w;if(D!==X)return D-X;return A.pattern.localeCompare(J.pattern)}),{routes:G,layouts:$}};b3=function(f,U,_){let W,u,$,F,Y,Z;if(W=[],F=f.slice(U.length+1),Z=F.split("/"),u="",_.has(""))W.push(_.get(""));for(let G=0;G<Z.length;G++){if(Y=Z[G],G===Z.length-1)break;if(u=u?u+"/"+Y:Y,_.has(u))W.push(_.get(u))}return W};var n3=function(f,U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,I,R,S;if(H=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,I=function(O){return Q&&O.startsWith(Q)?O.slice(Q.length)||"/":O},G=function(O){return Q?Q+O:O},w=function(){let O;if(z){if(O=location.hash.slice(1),!O)return"/";return O[0]==="/"?O:"/"+O}else return location.pathname+location.search+location.hash},S=function(O){return z?O==="/"?location.pathname:"#"+O.slice(1):G(O)},F=F1(I(z?w():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),u=d3(100,F1(!1)),R=$2(f,H),A=new Set,f.watch(function(O,P){if(!P.startsWith(H+"/"))return;return R=$2(f,H)}),X=function(O){let P,M,B,L,V,N;if(V=O.split("?")[0].split("#")[0],B=I(V),B=B[0]==="/"?B:"/"+B,L=O.split("?")[1]?.split("#")[0]||"",M=O.includes("#")?O.split("#")[1]:"",N=v3(B,R.routes),N){L2(function(){return F.value=B,$.value=N.params,Z.value=N.route,W.value=b3(N.route.file,H,R.layouts),Y.value=Object.fromEntries(new URLSearchParams(L)),_.value=M});for(P of A)P(q.current);return!0}if(K)K({status:404,path:B});return!1},D=function(){return X(w())},typeof window<"u")window.addEventListener("popstate",D);if(J=function(O){let P,M,B;if(O.button!==0||O.metaKey||O.ctrlKey||O.shiftKey||O.altKey)return;M=O.target;while(M&&M.tagName!=="A")M=M.parentElement;if(!M?.href)return;if(B=new URL(M.href,location.origin),B.origin!==location.origin)return;if(M.target==="_blank"||M.hasAttribute("data-external"))return;return O.preventDefault(),P=z&&B.hash?B.hash.slice(1)||"/":B.pathname+B.search+B.hash,q.push(P)},typeof document<"u")document.addEventListener("click",J);return q={push:function(O){return X(O)?history.pushState(null,"",S(F.read())):void 0},replace:function(O){return X(O)?history.replaceState(null,"",S(F.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(O){return A.add(O),function(){return A.delete(O)}},rebuild:function(){return R=$2(f,H)},routes:void 0,init:function(){return X(w()),q},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",J);return A.clear()}},Object.defineProperty(q,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(q,"path",{get:function(){return F.value}}),Object.defineProperty(q,"params",{get:function(){return $.value}}),Object.defineProperty(q,"route",{get:function(){return Z.value}}),Object.defineProperty(q,"layouts",{get:function(){return W.value}}),Object.defineProperty(q,"query",{get:function(){return Y.value}}),Object.defineProperty(q,"hash",{get:function(){return _.value}}),Object.defineProperty(q,"navigating",{get:function(){return u.value},set:function(O){return u.value=O}}),Object.defineProperty(q,"routes",{get:function(){return R.routes}}),q};E3=function(f,U){let _,W;if(f.length!==U.length)return!1;for(let u=0;u<f.length;u++)if(W=f[u],W!==U[u])return!1;return!0};S2=function(f){let U,_;for(U in f)if(_=f[U],typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _;return typeof f.default==="function"?f.default:void 0};I2=function(f){let U,_,W;_={};for(U in f)if(W=f[U],typeof W==="function"&&(W.prototype?.mount||W.prototype?._create))_[U]=W;return _};C3=function(f){let U;return U=f.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,u){return u.toUpperCase()})};L3=function(f,U="components"){let _,W,u,$;W={};for($ of f.listAll(U)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(u=C3($),W[u])console.warn(`[Rip] Component name collision: ${u} (${W[u]} vs ${$})`);W[u]=$}return W};c3=function(f,U,_){let W,u,$,F,Y,Z;if($=f.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){Y=U.split("/"),Y.pop();for(Z of f.split("/"))if(Z==="..")Y.pop();else if(Z!==".")Y.push(Z);if(u=Y.join("/"),_.exists(u))return u}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(F of _.listAll("components"))if(F.endsWith(`/${W}`))return F;return null};d1=async function(f,U,_=null,W=null,u=null){let $,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,I,R,S,O,P,M,B,L,V,N,C,E,l,T,j;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(u&&W)u.compiling??={},u.compiling[W]=!0;if(D=U(f),u){if(K=new Set,_){C=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,H=Array.from(D.matchAll(C));for(let b=H.length-1;b>=0;b--){if(X=H[b],[A,L,O,E,B]=X,l=c3(E,W,_),l===W)continue;if(!l){if(I=`[Rip] Could not resolve import: ${E}`,W)I+=` (from ${W})`;console.warn(I);continue}if(!u.blobUrls?.[l]){if(u.compiling?.[l])continue;if(Q=_.read(l),Q)await d1(Q,U,_,l,u)}if(F=u.blobUrls?.[l],F){if(N=`${L}${F}${B}`,D=D.slice(0,X.index)+N+D.slice(X.index+A.length),O)for(R of O.split(","))K.add(R.trim().split(/\s+as\s+/).pop().trim())}}}M={};for(S in u.map){if(G=u.map[S],K.has(S))continue;if(G!==W&&D.includes(`new ${S}(`)){if(!u.classes[S]){if(Q=_.read(G),Q){Z=await d1(Q,U,_,G,u),z=I2(Z);for(w in z)j=z[w],u.classes[w]=j}}if(u.classes[S])M[S]=!0}}if(P=Object.keys(M),P.length>0)V=`const {${P.join(", ")}} = globalThis['${u.key}'];
|
|
2050
|
+
`,D=V+D}if(J=W?`// ${W}
|
|
2051
|
+
`:"",$=new Blob([J+D],{type:"application/javascript"}),T=URL.createObjectURL($),u&&W){if(u.blobUrls??={},u.blobUrls[W]=T,u.compiling)delete u.compiling[W]}if(q=await import(T),u){z=I2(q);for(w in z)j=z[w],u.classes[w]=j}if(_&&W)_.setCompiled(W,q);return q};var a3=function(f={}){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,I,R,S;if({router:I,app:U,components:$,resolver:q,compile:W,target:R,onError:X}=f,F=typeof R==="string"?document.querySelector(R):R||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],J=[],D=F,A=0,z=null,u=new Map,K=f.cacheSize||10,_=function(){let O,P;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(u.set(Q,Y),u.size>K){if(P=u.keys().next().value,O=u.get(P),O.unmounted)O.unmounted();u.delete(P)}return Y=null,Q=null}},S=function(){let O;_();for(let P=J.length-1;P>=0;P--){if(O=J[P],O.beforeUnmount)O.beforeUnmount();if(O.unmounted)O.unmounted();O._target?.remove()}return J=[],D=F},$.watch(function(O,P){let M;if(u.has(P)){if(M=u.get(P),M.unmounted)M.unmounted();return u.delete(P)}}),w=async function(O){let P,M,B,L,V,N,C,E,l,T,j,b,i,r,U1,y,v,x,d,o,u1,c,n;if({route:o,params:v,layouts:l,query:d}=O,!o)return;if(o.file===Q&&JSON.stringify(v)===JSON.stringify(G))return;return G=v,L=++A,I.navigating=!0,await(async()=>{try{if(c=$.read(o.file),!c){if(X)X({status:404,message:`File not found: ${o.file}`});I.navigating=!1;return}if(i=await d1(c,W,$,o.file,q),L!==A){I.navigating=!1;return}if(P=S2(i),!P){if(X)X({status:500,message:`No component found in ${o.file}`});I.navigating=!1;return}if(b=!E3(l,Z),U1=Y?._target,b)S();else _();if(r=b?F:D,b&&l.length>0){F.innerHTML="",r=F;for(E of l){if(j=$.read(E),!j)continue;if(T=await d1(j,W,$,E,q),L!==A){I.navigating=!1;return}if(M=S2(T),!M)continue;if(N=new M({app:U,params:v,router:I}),N.beforeMount)N.beforeMount();n=document.createElement("div"),n.setAttribute("data-layout",E),r.appendChild(n),N.mount(n),J.push(N),u1=n.querySelector("#content")||n,r=u1}Z=[...l],D=r}else if(b)F.innerHTML="",Z=[],D=F;if(B=u.get(o.file),B){if(u.delete(o.file),r.appendChild(B._target),Y=B,Q=o.file,v)B.params=v;if(d)B.query=d;if(B.mounted)B.mounted();if(B.load)await B.load(v,d)}else{if(y=document.createElement("div"),y.setAttribute("data-component",o.file),r.appendChild(y),C=new P({app:U,params:v,query:d,router:I}),C.beforeMount)C.beforeMount();if(C.mount(y),Y=C,Q=o.file,C.load)await C.load(v,d)}return U1?.remove(),I.navigating=!1}catch(s){if(I.navigating=!1,console.error(`Renderer: error mounting ${o.file}:`,s),X)X({status:500,message:s.message,error:s});V=!1;for(let e=J.length-1;e>=0;e--)if(N=J[e],N.onError)try{N.onError(s),V=!0;break}catch(h){console.error("Renderer: error boundary failed:",h)}return(()=>{if(!V)return x=document.createElement("pre"),x.style.cssText="color:red;padding:1em",x.textContent=s.stack||s.message,F.innerHTML="",F.appendChild(x)})()}})()},H={start:function(){return z=L1(function(){let O;return O=I.current,O.route?w(O):void 0}),I.init(),H},stop:function(){if(S(),z)z(),z=null;return F.innerHTML=""},remount:function(){let O;return O=I.current,O.route?w(O):void 0},cache:u},H};V3=function(f){let U,_,W;return W=1000,_=30000,U=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(){let $;for($ 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(U,W),W=Math.min(W*2,_)}},U()};var u0=async function(f="",U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H;if(globalThis.__ripLaunched=!0,typeof f==="object")U=f,f="";if(f=f.replace(/\/+$/,""),H=U.target||"#app",Y=U.compile||null,J=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(H))Z=document.createElement("div"),Z.id=H.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)u=U.bundle;else if(U.bundleUrl){if(A={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)A["If-None-Match"]=$;if(D=await fetch(U.bundleUrl,{headers:A}),D.status===304)u=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(D.ok){if(u=await D.json(),G=D.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(u))}else throw Error(`launch: ${U.bundleUrl} (${D.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=k3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,u.data)_.data=u.data;if(u.routes)_.routes=u.routes;if(J&&typeof sessionStorage<"u")i3(_,{local:J==="local",key:`__rip_${f}`});if(W=p3(),u.components)W.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,w={map:L3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=w.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(X=n3(W,{root:"components",base:f,hash:z,onError:function(q){return console.error(`[Rip] Error ${q.status}: ${q.message||q.path}`)}}),K=a3({router:X,app:_,components:W,resolver:w,compile:Y,target:H,onError:function(q){return console.error(`[Rip] ${q.message}`,q.error)}}),K.start(),u.data?.watch)V3(`${f}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:X,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:X,renderer:K}};G1=function(f,U){if(!U)return;return f.preventDefault(),f.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;M3=function(f,U){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return G1(f,U.next);case"ArrowUp":return G1(f,U.prev);case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);case"Tab":return U.tab?.();default:return f.key.length===1?U.char?.(f.key):void 0}})()};q3=function(f,U,_,W=[],u=null){let $,F,Y;if(!f)return;return $=function(Z){return typeof Z==="function"?Z():Z},F=(Z)=>{return![$(U),...W.map($)].some(function(G){return G?.contains(Z.target)})?_():void 0},Y=(Z)=>{if($(U)?.contains(Z.target))return;return u?u():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};O3=function(f=250){let U;return U=0,{block:function(_=f){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};D3=function(f,U,_,W=null){let u,$,F,Y,Z,G,Q,z,A,J,K;if(Y=function(D){return typeof D==="function"?D():D},u=function(){let D,w;if(D=document.activeElement,D&&D!==document.body)return D;if(w=globalThis.__ariaLastFocusedEl,w?.isConnected!==!1)return w;return null},F=Y(U),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Q=null,K=function(D){if(D){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},z=function(){let D,w;if(w=Q,Q=null,!w?.focus)return;return D=function(X=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||X<=1)return;return setTimeout(function(){return D(X-1)},16)},requestAnimationFrame(function(){return D()})},Z=function(D){let w;if(w=D.newState==="open",w)Q=Y(W)||u(),K(!0);else K(!1),z();return _?.(w)},F.addEventListener("toggle",Z),A=F.matches(":popover-open"),$=!!f,A!==$){if(J=Y(W),$)Q=J||u(),K(!0);G=J&&$?{force:$,source:J}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};K3=function(f,U,_,W=!0){let u,$,F,Y,Z,G,Q,z;if(F=function(A){return typeof A==="function"?A():A},u=function(){let A,J;if(A=document.activeElement,A&&A!==document.body)return A;if(J=globalThis.__ariaLastFocusedEl,J?.isConnected!==!1)return J;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(A){if(A){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Q=function(){let A,J;if(J=G,G=null,!J?.focus)return;return A=function(K=6){if(J.isConnected===!1)return;try{J.focus({preventScroll:!0})}catch{J.focus()}if(document.activeElement===J||K<=1)return;return setTimeout(function(){return A(K-1)},16)},requestAnimationFrame(function(){return A()})},Y=function(A){if(!W){A.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),f&&!$.open){if(!G)G=u();z(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else z(!!f);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};B3=function(f,U,_="vertical"){let W,u;if(f.isComposing)return;return u=_!=="horizontal",W=_!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?G1(f,U.next):void 0;case"ArrowUp":return u?G1(f,U.prev):void 0;case"ArrowRight":return W?G1(f,U.next):void 0;case"ArrowLeft":return W?G1(f,U.prev):void 0;case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);default:return f.key.length===1?U.char?.(f.key):void 0}})()};P3=function(f,U,_=4,W=!0){let u,$;if(!(f&&U))return;if($=f.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,u=U.getBoundingClientRect(),u.bottom>window.innerHeight)U.style.top=`${$.top-u.height-_}px`;if(u.right>window.innerWidth)U.style.left=`${window.innerWidth-u.width-_}px`;return W?U.style.visibility="visible":void 0};var f0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';I3=function(f){let U;return U=function(_){let W,u,$;if(_.key!=="Tab")return;if($=Array.from(f.querySelectorAll(f0)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],u=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),u.focus()):void 0:document.activeElement===u?(_.preventDefault(),W.focus()):void 0},f.addEventListener("keydown",U),function(){return f.removeEventListener("keydown",U)}};N3=function(f,U){let _,W;if(!f)return;if(W=f.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,f.setAttribute("aria-labelledby",W.id);if(_=f.querySelector("p"),_)return _.id??=`${U}-desc`,f.setAttribute("aria-describedby",_.id)};b1=[];H3=function(f){let U;if(U=window.scrollY,b1.push({instance:f,scrollY:U}),b1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};S3=function(f){let U,_;if(U=b1.findIndex(function(W){return W.instance===f}),U<0)return;if({scrollY:_}=b1.splice(U,1)[0],!b1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)};V2=function(){let f,U,_;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),U=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",U.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),_=U.getBoundingClientRect(),f.remove(),U.remove(),_.top>50}catch{return!1}})()}();R3=function(f,U,_={}){let W,u,$,F,Y,Z,G;if(!(f&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,u=_.matchWidth??!1,V2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,U.style.positionAnchor=$,U.style.position="fixed",U.style.inset="auto",U.style.margin="0",U.style.positionArea=Y,U.style.positionTry="flip-block, flip-inline, flip-block flip-inline",U.style.positionVisibility="anchors-visible",[G]=Y.split(" "),U.style.marginTop="",U.style.marginBottom="",U.style.marginLeft="",U.style.marginRight="",G){case"bottom":U.style.marginTop=`${F}px`;break;case"top":U.style.marginBottom=`${F}px`;break;case"left":U.style.marginRight=`${F}px`;break;case"right":U.style.marginLeft=`${F}px`;break}return u?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=f.getBoundingClientRect(),U.style.position="fixed",U.style.inset="auto",U.style.margin="0",[G,W]=Y.split(" "),W??="start",G){case"bottom":U.style.top=`${Z.bottom+F}px`;break;case"top":U.style.bottom=`${window.innerHeight-Z.top+F}px`;break;case"left":U.style.right=`${window.innerWidth-Z.left+F}px`;break;case"right":U.style.left=`${Z.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(W){case"start":U.style.left=`${Z.left}px`;break;case"center":U.style.left=`${Z.left+Z.width/2}px`,U.style.transform="translateX(-50%)";break;case"end":U.style.right=`${window.innerWidth-Z.right}px`;break}else switch(W){case"start":U.style.top=`${Z.top}px`;break;case"center":U.style.top=`${Z.top+Z.height/2}px`,U.style.transform="translateY(-50%)";break;case"end":U.style.bottom=`${window.innerHeight-Z.bottom}px`;break}return u?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:M3,rovingNav:B3,popupDismiss:q3,popupGuard:O3,bindPopover:D3,bindDialog:K3,positionBelow:P3,trapFocus:I3,wireAria:N3,lockScroll:H3,unlockScroll:S3,position:R3,hasAnchor:V2};globalThis.ARIA??=globalThis.__aria;S1.modules["ui.rip"]=W2;for(let[f,U]of Object.entries(W2))if(typeof U==="function")globalThis[f]=U;})();
|