rip-lang 3.16.0 → 3.16.1
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 +1 -1
- package/bin/rip +162 -10
- package/docs/AGENTS.md +1 -1
- package/docs/RIP-APP.md +109 -17
- package/docs/RIP-LANG.md +4 -5
- package/docs/RIP-TYPES.md +74 -103
- package/docs/demo/README.md +4 -3
- package/docs/dist/rip.js +933 -338
- package/docs/dist/rip.min.js +209 -204
- package/docs/dist/rip.min.js.br +0 -0
- package/docs/example/index.json +7 -7
- package/docs/example/index.json.br +0 -0
- package/docs/extensions/vscode/print/print-1.0.14.vsix +0 -0
- package/docs/extensions/vscode/print/print-latest.vsix +0 -0
- package/docs/extensions/vscode/rip/rip-0.5.15.vsix +0 -0
- package/docs/extensions/vscode/rip/rip-latest.vsix +0 -0
- package/docs/ui/bundle.json +55 -55
- package/docs/ui/bundle.json.br +0 -0
- package/docs/ui/index.html +1 -1
- package/package.json +9 -4
- package/rip-loader.js +59 -2
- package/src/AGENTS.md +5 -5
- package/src/browser.js +52 -11
- package/src/compiler.js +318 -44
- package/src/components.js +178 -39
- package/src/dts.js +62 -47
- package/src/lexer.js +58 -15
- package/src/schema/schema.js +5 -5
- package/src/typecheck.js +1355 -100
- package/src/types.js +85 -5
- /package/docs/demo/{components → routes}/_layout.rip +0 -0
- /package/docs/demo/{components → routes}/about.rip +0 -0
- /package/docs/demo/{components → routes}/card.rip +0 -0
- /package/docs/demo/{components → routes}/counter.rip +0 -0
- /package/docs/demo/{components → routes}/index.rip +0 -0
- /package/docs/demo/{components → routes}/todos.rip +0 -0
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var{defineProperty:
|
|
1
|
+
(()=>{var{defineProperty:K2,getOwnPropertyNames:F4,getOwnPropertyDescriptor:M4}=Object,z4=Object.prototype.hasOwnProperty;function W4(f){return this[f]}var O4=(f)=>{var _=(x2??=new WeakMap).get(f),i;if(_)return _;if(_=K2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var n of F4(f))if(!z4.call(_,n))K2(_,n,{get:W4.bind(f,n),enumerable:!(i=M4(f,n))||i.enumerable})}return x2.set(f,_),_},x2;var H4=(f)=>f;function K4(f,_){this[f]=H4.bind(null,_)}var d2=(f,_)=>{for(var i in _)K2(f,i,{get:_[i],enumerable:!0,configurable:!0,set:K4.bind(_,i)})};var Y0={};d2(Y0,{rip:()=>E3,processRipScripts:()=>S3,parser:()=>z1,importRip:()=>I1,getStdlibCode:()=>L1,getReactiveRuntime:()=>k1,getComponentRuntime:()=>p1,formatSExpr:()=>K1,formatErrorHTML:()=>B2,formatError:()=>b1,compileToJS:()=>Z1,compile:()=>$2,VERSION:()=>G3,RipError:()=>$1,Lexer:()=>Y1,Compiler:()=>d1,CodeEmitter:()=>D1,BUILD_DATE:()=>X3});var k2=`
|
|
2
2
|
// ---- Rip Schema Runtime ----------------------------------------------------
|
|
3
3
|
// Four layers, lazy compilation:
|
|
4
4
|
// 1 (descriptor) object passed to __schema({...}). Raw metadata.
|
|
@@ -28,7 +28,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
|
|
|
28
28
|
return globalThis.__ripSchema;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
`,
|
|
31
|
+
`,p2=`
|
|
32
32
|
// __schemaSetAdapter is server/migration-only. In validate or browser
|
|
33
33
|
// modes it doesn't exist; export an undefined slot so destructure works.
|
|
34
34
|
const __schemaSetAdapterExport = typeof __schemaSetAdapter !== 'undefined'
|
|
@@ -44,7 +44,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
|
|
|
44
44
|
})();
|
|
45
45
|
|
|
46
46
|
// === End Schema Runtime ===
|
|
47
|
-
`,
|
|
47
|
+
`,Q2=`class SchemaError extends Error {
|
|
48
48
|
constructor(issues, schemaName, schemaKind) {
|
|
49
49
|
super(__schemaFormatIssues(issues, schemaName));
|
|
50
50
|
this.name = 'SchemaError';
|
|
@@ -989,7 +989,7 @@ function __schema(descriptor) {
|
|
|
989
989
|
if (def.name) __SchemaRegistry.register(def);
|
|
990
990
|
return def;
|
|
991
991
|
}
|
|
992
|
-
`;var
|
|
992
|
+
`;var e2=`// Browser stubs — throwing replacements for every ORM / DDL helper that
|
|
993
993
|
// the validate fragment references but doesn't implement. Loaded ONLY
|
|
994
994
|
// in browser mode.
|
|
995
995
|
//
|
|
@@ -1025,32 +1025,34 @@ function __schemaDestroy() { throw new Error("schema instance.destroy() is no
|
|
|
1025
1025
|
function __schemaTableName(m) { return null; } // returned only for :model normalize; never used downstream in browser
|
|
1026
1026
|
function __schemaPluralize(w) { return w; } // identity — relations work for type-resolution but never query
|
|
1027
1027
|
function __schemaFkName(m) { return ''; } // ditto
|
|
1028
|
-
`;var H4={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,Atom: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,Subjectable:85,ThisProperty:86,".":87,"?.":88,INDEX_START:89,INDEX_END:90,Slice:91,PICK_START:92,PickList:93,OptComma:94,PICK_END:95,OPTPICK_START:96,ES6_OPTIONAL_INDEX:97,"{":98,ObjAssignable:99,":":100,FOR:101,ForVariables:102,FOROF:103,"}":104,WHEN:105,OWN:106,AssignList:107,AssignObj:108,ObjRestValue:109,SimpleObjAssignable:110,"[":111,"]":112,"@":113,"...":114,ObjSpreadExpr:115,SUPER:116,Arguments:117,DYNAMIC_IMPORT:118,MAP_START:119,MapAssignList:120,MAP_END:121,MapAssignObj:122,MapAssignable:123,PickItem:124,PickKey:125,Elisions:126,ArgElisionList:127,OptElisions:128,ArgElision:129,Arg:130,Elision:131,RangeDots:132,"..":133,DEF:134,CALL_START:135,ParamList:136,CALL_END:137,PARAM_START:138,PARAM_END:139,ArrowKind:140,"->":141,"=>":142,Param:143,ParamVar:144,Splat:145,ES6_OPTIONAL_CALL:146,ArgList:147,SimpleArgs:148,THIS:149,NEW_TARGET:150,IMPORT_META:151,"(":152,")":153,RETURN:154,THROW:155,YIELD:156,FROM:157,IfBlock:158,IF:159,IfElseTail:160,ELSE:161,UnlessBlock:162,UNLESS:163,POST_IF:164,POST_UNLESS:165,TRY:166,Catch:167,FINALLY:168,CATCH:169,SWITCH:170,Cases:171,When:172,LEADING_WHEN:173,WhileSource:174,WHILE:175,UNTIL:176,Loop:177,LOOP:178,FORIN:179,BY:180,FORAS:181,AWAIT:182,FORASAWAIT:183,ForValue:184,ClassName:185,CLASS:186,EXTENDS:187,ENUM:188,SCHEMA:189,SCHEMA_BODY:190,COMPONENT:191,ComponentBody:192,ComponentLine:193,OFFER:194,ACCEPT:195,RENDER:196,IMPORT:197,ImportDefaultSpecifier:198,ImportNamespaceSpecifier:199,ImportSpecifierList:200,ImportSpecifier:201,AS:202,DEFAULT:203,IMPORT_ALL:204,EXPORT:205,ExportSpecifierList:206,EXPORT_ALL:207,ExportSpecifier:208,UNARY:209,DO:210,DO_IIFE:211,UNARY_MATH:212,"-":213,"+":214,"?":215,PRESENCE:216,"--":217,"++":218,MATH:219,"**":220,SHIFT:221,COMPARE:222,"&":223,"^":224,"|":225,"||":226,"??":227,"&&":228,PIPE:229,RELATION:230,TERNARY:231,COMPOUND_ASSIGN:232},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",87:".",88:"?.",89:"INDEX_START",90:"INDEX_END",92:"PICK_START",95:"PICK_END",96:"OPTPICK_START",97:"ES6_OPTIONAL_INDEX",98:"{",100:":",101:"FOR",103:"FOROF",104:"}",105:"WHEN",106:"OWN",111:"[",112:"]",113:"@",114:"...",116:"SUPER",118:"DYNAMIC_IMPORT",119:"MAP_START",121:"MAP_END",133:"..",134:"DEF",135:"CALL_START",137:"CALL_END",138:"PARAM_START",139:"PARAM_END",141:"->",142:"=>",146:"ES6_OPTIONAL_CALL",149:"THIS",150:"NEW_TARGET",151:"IMPORT_META",152:"(",153:")",154:"RETURN",155:"THROW",156:"YIELD",157:"FROM",159:"IF",161:"ELSE",163:"UNLESS",164:"POST_IF",165:"POST_UNLESS",166:"TRY",168:"FINALLY",169:"CATCH",170:"SWITCH",173:"LEADING_WHEN",175:"WHILE",176:"UNTIL",178:"LOOP",179:"FORIN",180:"BY",181:"FORAS",182:"AWAIT",183:"FORASAWAIT",186:"CLASS",187:"EXTENDS",188:"ENUM",189:"SCHEMA",190:"SCHEMA_BODY",191:"COMPONENT",194:"OFFER",195:"ACCEPT",196:"RENDER",197:"IMPORT",202:"AS",203:"DEFAULT",204:"IMPORT_ALL",205:"EXPORT",207:"EXPORT_ALL",209:"UNARY",210:"DO",211:"DO_IIFE",212:"UNARY_MATH",213:"-",214:"+",215:"?",216:"PRESENCE",217:"--",218:"++",219:"MATH",220:"**",221:"SHIFT",222:"COMPARE",223:"&",224:"^",225:"|",226:"||",227:"??",228:"&&",229:"PIPE",230:"RELATION",231:"TERNARY",232:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[113,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,113,5,1,5,62,2,83,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,132,-6,-6,-6,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,9,1,5,62,1,1,5,37,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,37,25,16,11,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,133,134,135,102,103,58,1,5,51,5,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,4,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,111,112,-13,-13,-13,-13,-92,-92,-92,-13,-92,-13,-92,-92,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,141,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,50,1,5,62,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-93,-93,-93,-14,-93,-14,-93,-93,-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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,37,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,37,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,37,25,16,11,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,142,143,144,145,146,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,147,-215,-215,148,149,112,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,158,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,106,107,97,110,111,112,159,108,109,157,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,160,161,162,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,163,164,162,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,165,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,172,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,174,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,49,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,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,176,177,178,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,175,75,76,99,98,105,87,91,88,89,94,166,167,95,96,90,92,93,86,170,49,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,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,176,177,178,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,179,75,76,99,98,105,87,91,88,89,94,166,167,95,96,90,92,93,86,170,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,180,181,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,182,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,184,183,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,185,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,159,186,2,69,10,159,187,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,14,40,18,1,24,1,2,12,4,4,5,2,31,38,2,191,151,110,153,154,152,105,188,189,87,155,193,190,192,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,194,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,195,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,51,1,5,52,1,9,1,1,5,4,7,4,5,5,1,2,1,1,7,1,1,7,12,4,2,14,8,3,1,10,1,3,1,1,2,2,2,26,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,199,110,-352,159,-352,-352,196,200,-352,-352,-352,-352,-352,-352,-352,-352,155,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,198,197,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,2,69,118,201,202,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,204,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,203,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,205,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,206,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,146,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,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,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,-266,-266,207,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-266,208,-266,108,109,-266,55,54,75,76,99,98,-266,-266,105,-266,-266,-266,-266,-266,87,-266,91,-266,88,89,94,-266,-266,68,-266,166,-266,167,95,96,90,92,93,86,-266,72,66,67,209,56,100,-266,57,101,-266,-266,58,62,59,-266,-266,60,104,-266,-266,-266,51,-266,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,2,58,1,210,110,2,58,1,211,110,1,190,212,6,15,20,103,2,1,1,214,213,44,45,95,96,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,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,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,-263,-263,215,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-263,216,-263,108,109,-263,55,54,75,76,99,98,-263,-263,105,-263,-263,-263,-263,-263,87,-263,91,-263,88,89,94,-263,-263,68,-263,166,-263,167,95,96,90,92,93,86,-263,72,66,67,56,100,-263,57,101,-263,-263,58,62,59,-263,-263,60,104,-263,-263,-263,51,-263,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,9,57,1,1,3,1,35,100,1,5,217,221,110,111,112,220,218,219,222,64,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,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,34,2,3,12,4,4,176,177,229,230,231,232,224,225,226,227,235,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,228,110,111,112,108,109,55,236,75,76,99,98,223,87,91,88,89,94,68,166,167,95,96,90,92,93,86,63,69,64,233,234,170,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,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,6,2,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,237,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,106,107,97,110,111,112,238,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,119,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,239,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,240,91,250,88,89,94,241,242,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,87,2,28,18,252,253,251,141,2,117,18,254,141,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,58,1,5,54,1,1,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,255,256,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,1,87,257,1,87,258,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,2,12,13,2,1,6,1,1,1,29,-152,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,-152,-152,108,109,-152,273,274,265,105,156,155,262,259,-152,260,261,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,87,1,1,3,4,1,277,278,279,280,281,282,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,283,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,284,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,288,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,287,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,11,13,5,3,1,1,1,1,2,1,-114,294,106,107,296,110,297,256,111,112,-114,-114,-114,298,289,-114,290,295,299,291,292,293,300,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,49,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,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,176,177,178,35,36,37,301,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,236,75,76,99,98,105,87,91,88,89,94,166,167,95,96,90,92,93,86,170,67,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,4,4,3,1,10,1,3,1,1,2,4,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,305,111,112,302,303,304,115,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,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,106,107,97,110,111,112,-5,-5,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,307,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,308,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,318,162,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,321,162,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,324,162,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,325,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,12,4,4,5,2,31,38,2,333,151,110,153,154,152,105,330,331,87,155,193,332,192,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,334,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,335,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-429,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,2,117,18,336,141,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,6,2,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,340,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,339,68,337,44,45,95,96,249,338,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,343,342,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,344,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,346,345,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,347,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,349,348,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,350,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,352,351,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,353,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,355,354,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,356,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,11,6,63,1,5,19,1,9,8,9,16,2,-259,-259,-259,358,359,-259,-259,-259,-259,-259,357,6,6,63,1,5,62,2,-216,-216,-216,-216,-216,-216,7,6,63,1,5,1,61,2,-220,-220,-220,-220,360,-220,-220,15,6,52,1,10,1,5,8,1,2,12,13,2,24,2,5,-223,151,110,-223,-223,-223,153,154,152,105,156,155,-223,-223,361,11,6,63,1,5,1,27,34,2,40,2,2,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,11,6,63,1,5,1,27,34,2,40,2,2,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,11,6,63,1,5,1,27,34,2,40,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,27,34,2,40,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,2,60,1,255,256,119,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,240,91,250,88,89,94,241,242,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,9,1,5,62,1,1,5,37,25,16,-212,-212,-212,-212,-212,-212,-212,-212,-212,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,7,1,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,363,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,106,107,97,110,111,112,362,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,124,-423,-423,-423,-423,9,1,5,62,1,1,5,37,25,16,-420,-420,-420,-420,-420,-420,-420,-420,-420,5,164,1,9,1,1,133,134,135,102,103,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,124,-424,-424,-424,-424,9,1,5,62,1,1,5,37,25,16,-421,-421,-421,-421,-421,-421,-421,-421,-421,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-425,-425,-425,-425,-425,-425,-425,-425,-425,117,-425,-425,-425,-425,-425,-425,124,-425,-425,-425,-425,18,6,52,1,10,1,5,8,1,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,364,-215,-215,148,149,2,69,10,159,157,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,160,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,163,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,5,15,123,2,1,1,214,166,167,95,96,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-426,-426,-426,-426,-426,-426,-426,-426,-426,117,-426,-426,-426,-426,-426,-426,124,-426,-426,-426,-426,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-427,-427,-427,-427,-427,-427,-427,-427,-427,117,-427,-427,-427,-427,-427,-427,124,-427,-427,-427,-427,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,124,-430,-430,-430,-430,2,84,14,365,105,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-89,-89,-432,-432,-432,-432,-89,-89,-89,-89,-89,-89,-89,-89,-432,-89,-432,-89,-89,-432,-432,-432,-432,-432,-432,-432,-432,-432,-89,-432,-432,-89,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-89,-89,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,12,57,5,1,24,1,1,3,4,1,20,18,11,138,111,112,-92,-92,-92,-92,-92,-92,139,141,140,6,87,1,1,3,4,1,-93,-93,-93,-93,-93,-93,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-89,-89,-433,-433,-433,-433,-89,-89,-89,-89,-89,-89,-89,-89,-433,-89,-433,-89,-89,-433,-433,-433,-433,-433,-433,-433,-433,-433,-89,-433,-433,-89,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-89,-89,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,366,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,367,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,132,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,129,130,131,102,103,-86,-86,-86,-86,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,369,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,47,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,2,1,1,6,1,3,1,1,2,30,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,370,371,372,-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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,4,103,76,2,2,374,373,375,376,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,377,156,155,193,192,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,378,156,155,193,192,3,69,10,101,159,379,380,5,75,28,76,2,2,381,-348,-348,-348,-348,6,75,1,27,76,2,2,-346,382,-346,-346,-346,-346,22,69,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,383,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,3,171,1,1,384,385,386,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,387,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,159,-356,-356,388,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,389,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,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,-350,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,392,393,394,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,390,391,395,396,65,73,74,46,47,71,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,397,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,132,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,131,102,103,-373,-373,-373,-373,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-264,-264,-264,-264,-264,-264,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,398,105,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-267,-267,-267,-267,-267,-267,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,399,105,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,400,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,69,10,56,159,402,401,2,69,10,159,403,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,9,1,5,62,1,1,5,37,25,16,-422,-422,-422,-422,-422,-422,-422,-422,-422,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-261,-261,-261,-261,-261,-261,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,404,105,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,2,75,82,406,405,1,157,407,7,58,1,10,35,96,1,2,412,110,411,408,409,410,413,2,75,82,-390,-390,1,202,414,26,6,41,9,1,1,1,1,1,1,1,6,1,5,11,13,5,3,1,1,1,1,2,1,89,3,2,-114,294,106,107,419,110,297,256,111,112,418,-114,-114,298,289,415,290,295,299,291,292,293,300,420,416,417,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,421,-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,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,422,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,423,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,157,424,60,1,5,56,1,5,1,1,5,2,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,143,144,145,146,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,147,113,425,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,426,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,26,11,2,18,1,4,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,132,-241,429,427,428,-241,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,246,55,54,75,76,99,98,105,61,87,430,91,250,88,89,94,432,431,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,19,1,9,8,9,7,9,-259,-259,-259,434,435,-259,-259,-259,-259,433,-259,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,436,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,5,6,63,1,5,37,-187,-187,-187,-187,-187,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,438,437,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,-198,-198,-198,-198,-198,5,6,63,1,5,37,-192,-192,-192,-192,-192,6,6,63,1,5,37,25,-242,-242,-242,-242,-242,-242,6,6,63,1,5,37,25,-243,-243,-243,-243,-243,-243,112,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,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-244,439,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-244,-244,108,109,-244,55,54,75,76,99,98,105,61,87,-244,91,88,89,94,68,-244,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,60,1,440,256,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,441,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,442,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,65,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,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,443,256,2,60,1,444,256,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,446,445,-259,-259,-259,-259,-259,5,6,63,1,5,46,-153,-153,-153,-153,-153,1,100,447,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,448,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,100,-170,1,100,-171,1,100,-172,1,100,-173,1,100,-174,1,100,-175,1,100,-176,1,100,-177,1,100,-178,1,100,-179,1,100,-180,1,100,-181,1,100,-182,1,100,-183,2,60,1,449,256,2,60,1,450,256,112,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,451,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,456,80,81,82,83,84,85,106,107,97,110,111,112,452,108,109,454,55,54,75,76,99,98,453,105,61,87,91,429,88,89,94,455,428,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,8,58,1,1,1,8,24,31,1,461,110,462,256,458,457,459,460,8,58,1,1,1,8,24,31,1,461,110,462,256,464,463,459,460,1,89,465,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,466,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,467,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,132,-301,-301,468,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,131,102,103,-301,-301,-301,-301,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,132,-303,-303,469,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,131,102,103,-303,-303,-303,-303,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-309,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,159,-310,-310,470,-310,-310,-310,132,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,131,102,103,-310,-310,-310,-310,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,6,6,63,1,5,25,4,-119,-119,-119,-119,471,-119,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,473,472,-259,-259,-259,-259,-259,7,6,63,1,5,1,24,4,-128,-128,-128,-128,474,-128,-128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,475,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,60,1,50,255,256,476,6,6,63,1,5,25,4,-131,-131,-131,-131,-131,-131,5,6,63,1,5,29,-115,-115,-115,-115,-115,13,6,63,1,5,1,11,1,1,3,4,4,4,31,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,13,6,63,1,5,1,11,1,1,3,4,4,4,31,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,13,6,63,1,5,1,11,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,5,6,63,1,5,29,-120,-120,-120,-120,-120,17,39,4,1,14,1,1,1,23,2,12,12,3,2,1,2,31,3,480,482,481,296,110,297,256,479,298,105,477,91,478,483,484,90,86,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,485,-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,305,111,112,486,487,304,4,62,1,2,2,-61,-61,-61,-61,113,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,488,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,106,107,97,110,111,112,490,489,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,83,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-436,-436,-436,-436,-436,-436,-436,-436,116,117,-436,-436,-436,-436,-436,-436,124,-436,-436,-436,-436,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-437,-437,-437,-437,-437,-437,-437,-437,116,117,-437,-437,-437,-437,-437,-437,124,-437,-437,-437,-437,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-438,-438,-438,-438,-438,-438,-438,-438,-438,117,-438,-438,-438,-438,-438,-438,124,-438,-438,-438,-438,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-439,-439,-439,-439,-439,-439,-439,-439,-439,117,-439,-439,-439,-439,-439,-439,124,-439,-439,-439,-439,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-440,-440,-440,-440,-440,-440,115,114,116,117,-440,-440,-440,-440,-440,-440,124,-440,-440,-440,-440,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-441,-441,-441,-441,-441,-441,115,114,116,117,118,-441,-441,-441,-441,-441,124,-441,-441,127,-441,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-442,-442,-442,-442,-442,-442,115,114,116,117,118,119,-442,-442,-442,-442,124,-442,-442,127,-442,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-443,-443,-443,-443,-443,-443,115,114,116,117,118,119,120,-443,-443,-443,124,-443,-443,127,-443,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-444,-444,-444,-444,-444,-444,115,114,116,117,118,119,120,121,-444,-444,124,-444,-444,127,-444,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-452,-452,-452,-452,-452,-452,115,114,116,117,118,119,120,121,122,-452,124,125,-452,127,-452,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,132,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,129,130,131,102,103,-453,-453,-453,-453,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-451,-451,-451,-451,-451,-451,115,114,116,117,118,119,120,121,122,-451,124,-451,-451,127,-451,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-454,-454,-454,-454,-454,-454,115,114,116,117,118,119,120,121,122,123,124,125,-454,127,-454,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-455,-455,-455,-455,-455,-455,115,114,116,117,118,-455,-455,-455,-455,-455,124,-455,-455,-455,-455,22,100,1,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,491,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,132,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,492,-280,-280,131,102,103,-280,-280,-280,-280,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,132,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,102,103,-284,-284,-284,-284,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,103,76,2,2,494,493,495,496,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,497,156,155,193,192,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,498,156,155,193,192,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-344,-344,-344,499,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,132,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,102,103,-279,-279,-279,-279,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,132,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,102,103,-283,-283,-283,-283,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,501,500,-259,-259,-259,-259,-259,5,6,63,1,5,62,-236,-236,-236,-236,-236,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,340,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,339,68,44,45,95,96,249,502,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,26,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,132,-241,-241,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-71,-71,-71,-71,-71,-71,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,503,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,504,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,132,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,129,130,131,102,103,-74,-74,-74,-74,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,505,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,506,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,132,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,129,130,131,102,103,-77,-77,-77,-77,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,507,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,132,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,129,130,131,102,103,-80,-80,-80,-80,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,508,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,509,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,132,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,129,130,131,102,103,-83,-83,-83,-83,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,140,1,1,511,95,96,19,6,52,1,10,1,13,1,2,9,3,6,7,1,1,1,7,16,6,1,-260,151,110,-260,-260,153,154,152,-260,105,-260,156,-260,155,150,-260,-260,512,149,2,6,63,513,514,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,515,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,6,6,63,1,5,62,2,-222,-222,-222,-222,-222,-222,59,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,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,-255,-255,-255,2,6,64,113,516,11,6,63,1,5,19,1,9,8,9,16,2,-259,-259,-259,358,359,-259,-259,-259,-259,-259,517,1,70,518,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-457,-457,-457,-457,-457,-457,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,519,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,520,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,132,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,129,130,131,102,103,-87,-87,-87,-87,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,521,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,159,522,8,58,1,10,10,4,1,14,13,523,110,159,526,525,524,105,156,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,527,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,528,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,103,531,1,181,532,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,10,58,1,24,1,2,12,13,2,31,40,151,110,153,154,152,105,156,155,193,534,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,171,1,1,536,385,386,4,70,91,11,1,537,538,539,386,3,70,91,12,-297,-297,-297,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,541,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,540,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,159,-354,-354,542,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,131,-354,-354,-354,-354,-354,-354,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,543,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,2,6,64,545,544,2,6,64,-364,-364,23,6,64,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,6,64,-368,-368,7,6,64,94,1,9,1,1,-369,-369,133,134,135,102,103,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,59,547,22,69,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,548,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,70,549,1,70,550,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-269,-269,-269,-269,-269,-269,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,18,6,52,1,10,1,5,8,1,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,551,-215,-215,148,149,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,1,70,552,3,57,5,1,553,111,112,3,98,101,5,555,554,222,3,57,5,1,556,111,112,1,157,557,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,558,-259,-259,-259,-259,-259,5,6,63,1,5,29,-381,-381,-381,-381,-381,6,58,1,10,131,1,2,412,110,411,560,410,413,6,6,63,1,5,29,98,-386,-386,-386,-386,-386,561,6,6,63,1,5,29,98,-388,-388,-388,-388,-388,562,2,58,1,563,110,14,1,5,62,1,1,5,37,25,16,4,7,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,564,-392,-392,-392,-392,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,566,565,-259,-259,-259,-259,-259,5,6,63,1,5,29,-410,-410,-410,-410,-410,6,58,1,10,134,3,2,568,110,418,420,567,417,14,6,63,1,5,1,11,1,1,3,4,4,4,31,67,-415,-415,-415,-415,-125,-125,-125,-125,-125,-125,-125,-415,-125,569,6,6,63,1,5,29,98,-418,-418,-418,-418,-418,570,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,572,571,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,573,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,132,-405,-405,-405,-405,-405,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,574,105,3,57,5,1,575,111,112,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,2,6,64,113,576,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,577,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,436,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,5,6,63,1,5,37,-193,-193,-193,-193,-193,2,69,43,579,578,124,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,1,9,3,3,3,7,1,1,1,2,2,1,2,5,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-260,341,248,162,30,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,106,107,97,110,111,112,-260,-260,108,109,246,55,54,75,76,99,98,-260,105,61,-260,87,-260,91,250,88,89,94,-260,581,580,247,243,68,-260,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,42,582,-194,-194,-194,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,-199,-199,-199,-199,-199,11,6,63,1,5,19,1,9,8,9,7,9,-259,-259,-259,434,435,-259,-259,-259,-259,583,-259,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,432,431,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,26,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,132,-228,-228,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,584,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,585,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,52,587,588,586,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,2,9,3,6,7,1,1,1,7,1,1,14,15,-260,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,-260,-260,108,109,273,274,265,-260,105,-260,156,-260,155,262,-260,589,261,-260,86,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,590,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,591,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,26,6,63,1,5,26,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,132,-159,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,25,90,11,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,592,132,429,593,428,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,110,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,594,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,595,105,61,87,91,429,88,89,94,455,428,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,90,596,1,90,597,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,598,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-206,108,109,55,54,75,76,99,98,-206,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,599,-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,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,600,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,602,459,460,5,6,63,1,5,20,-160,-160,-160,-160,-160,7,6,63,1,5,1,19,5,-164,-164,-164,-164,604,-164,603,7,6,63,1,5,1,19,5,-168,-168,-168,-168,-168,-168,-168,7,6,63,1,5,1,19,5,-169,-169,-169,-169,-169,-169,-169,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,605,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,606,459,460,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,607,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,608,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,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,609,610,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,611,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,612,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,613,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,614,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,615,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,35,617,618,616,25,6,41,9,1,1,1,1,1,1,1,6,1,16,9,4,5,4,1,1,1,1,1,1,7,16,-260,294,106,107,296,110,297,256,111,112,-260,-260,298,-260,620,-260,619,299,291,292,-260,293,300,-260,-260,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,622,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,22,101,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,132,623,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,624,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,12,6,63,1,5,12,1,1,3,4,8,13,18,-132,-132,-132,-132,-134,-134,-134,-134,-134,-132,625,141,12,6,63,1,5,12,1,1,3,4,8,13,18,-133,-133,-133,-133,627,628,629,630,631,-133,626,141,11,6,63,1,5,12,1,1,3,4,8,31,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,11,6,63,1,5,12,1,1,3,4,8,31,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,11,6,63,1,5,12,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,12,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,87,2,28,18,252,253,632,141,2,117,18,633,141,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,113,634,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,635,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,636,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,638,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,637,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,639,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,640,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,641,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,642,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,103,643,1,181,644,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,645,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,68,647,648,646,120,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,9,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-260,341,248,162,30,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,106,107,97,110,111,112,-260,-260,108,109,55,54,75,76,99,98,-260,105,61,-260,87,-260,91,250,88,89,94,-260,649,68,-260,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,501,650,-259,-259,-259,-259,-259,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-72,-72,-72,-72,-72,-72,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,651,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,132,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,129,130,131,102,103,-75,-75,-75,-75,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,652,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,132,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,129,130,131,102,103,-78,-78,-78,-78,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,132,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,129,130,131,102,103,-81,-81,-81,-81,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,653,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,132,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,129,130,131,102,103,-84,-84,-84,-84,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,112,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,655,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,106,107,97,110,111,112,159,108,109,654,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,62,2,-217,-217,-217,-217,-217,-217,11,58,1,24,1,2,12,13,2,1,29,1,151,110,153,154,152,105,156,155,150,656,149,18,6,52,1,10,1,5,8,1,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,657,-215,-215,148,149,27,6,63,1,5,26,36,2,25,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,132,-221,-221,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,59,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,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,-256,-256,-256,3,140,1,1,658,95,96,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,659,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,131,-459,-459,-459,-459,-459,-459,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,69,10,159,660,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,159,661,2,69,10,159,662,2,69,10,159,663,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,-292,25,69,10,22,4,59,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,664,132,665,129,130,131,102,103,666,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,667,132,668,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,669,132,670,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,671,132,672,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,673,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,674,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,675,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,103,76,2,2,-349,-349,-349,-349,26,75,26,2,61,1,9,1,1,3,2,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-347,132,-347,129,130,131,102,103,-347,-347,-347,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,70,91,11,1,676,677,539,386,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,69,10,159,678,3,70,91,12,-298,-298,-298,3,69,6,4,159,680,679,23,69,6,26,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,159,-358,-358,681,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,131,-358,-358,-358,-358,-358,-358,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,114,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-366,392,393,394,30,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,106,107,97,110,111,112,-366,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,682,395,396,65,73,74,46,47,71,48,49,50,52,53,23,6,64,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,6,64,-371,-371,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,392,393,394,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,683,391,395,396,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,358,359,-259,-259,-259,-259,684,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,1,157,685,6,58,1,10,131,1,2,412,110,411,686,410,413,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,57,5,1,687,111,112,3,6,63,35,689,690,688,12,6,52,1,10,1,25,9,8,9,16,64,2,-260,412,110,-260,-260,-260,-260,-260,-260,-260,691,413,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,692,-259,-259,-259,-259,-259,2,58,1,693,110,2,58,1,694,110,1,157,-391,3,57,5,1,695,111,112,3,6,63,35,697,698,696,12,6,52,1,10,1,25,9,8,9,16,66,5,-260,568,110,-260,-260,-260,-260,-260,-260,-260,420,699,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,566,700,-259,-259,-259,-259,-259,6,6,63,1,5,29,98,-415,-415,-415,-415,-415,569,3,58,1,144,701,110,702,2,58,1,703,110,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,132,-398,-398,-398,-398,-398,131,-398,-398,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,704,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,705,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,70,706,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,1,153,707,22,101,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,132,708,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,438,709,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,37,-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,1,1,1,3,6,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,-195,-195,108,109,246,55,54,75,76,99,98,105,61,87,-195,91,250,88,89,94,432,431,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,438,710,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,579,711,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,712,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,2,12,13,2,1,8,1,29,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,108,109,273,274,265,105,156,155,262,713,261,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,2,12,13,2,1,6,1,1,1,29,-152,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,-152,-152,108,109,-152,273,274,265,105,156,155,262,714,-152,260,261,86,5,6,63,1,5,46,-154,-154,-154,-154,-154,26,6,63,1,5,26,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,132,-157,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,715,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,716,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-204,108,109,55,54,75,76,99,98,-204,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,25,70,31,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,717,132,429,593,428,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,70,718,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,23,70,20,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,719,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,26,721,722,720,14,6,52,1,1,1,8,1,25,9,8,9,3,1,12,-260,461,110,462,256,-260,-260,-260,-260,-260,-260,723,460,-260,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,724,-259,-259,-259,-259,-259,5,58,1,1,1,64,461,110,462,256,725,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,726,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,26,721,722,727,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,728,-259,-259,-259,-259,-259,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,729,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,730,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,3,69,10,80,159,732,731,2,69,10,159,733,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-302,-302,-302,-302,-302,-302,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-304,-304,-304,-304,-304,-304,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,26,6,63,1,5,26,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,734,-121,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,735,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,17,47,9,1,1,1,1,1,1,1,23,13,9,1,1,1,2,1,294,106,107,296,110,297,256,111,112,298,620,736,299,291,292,293,300,23,6,41,9,1,1,1,1,1,1,1,6,1,5,11,13,5,3,1,1,1,1,2,1,-114,294,106,107,296,110,297,256,111,112,-114,-114,-114,298,620,-114,737,295,299,291,292,293,300,5,6,63,1,5,29,-116,-116,-116,-116,-116,6,6,63,1,5,25,4,-119,-119,-119,-119,738,-119,26,6,63,1,5,26,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,132,-123,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,739,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,6,6,63,1,5,25,4,-129,-129,-129,-129,-129,-129,22,101,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,132,740,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,11,6,63,1,5,12,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,12,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,2,60,1,741,256,2,60,1,742,256,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,743,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,744,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,8,58,1,1,1,8,24,31,1,461,110,462,256,746,745,459,460,8,58,1,1,1,8,24,31,1,461,110,462,256,748,747,459,460,11,6,63,1,5,12,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,12,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,62,1,2,2,-63,-63,-63,-63,2,6,64,113,749,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-456,-456,-456,-456,-456,-456,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,750,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,132,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,102,103,-282,-282,-282,-282,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,751,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,131,-329,-329,-329,752,-329,-329,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,753,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,754,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,755,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,131,-342,-342,-342,-342,-342,-342,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,757,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,131,-345,-345,-345,-345,-345,-345,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,758,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,340,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,339,68,44,45,95,96,249,759,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,62,-237,-237,-237,-237,-237,3,6,63,1,647,648,760,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,9,1,5,62,1,1,5,37,25,16,-211,-211,-211,-211,-211,-211,-211,-211,-211,6,6,63,1,5,62,2,-218,-218,-218,-218,-218,-218,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,358,761,-259,-259,-259,-259,-259,2,69,10,159,654,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,764,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,765,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,766,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,767,132,768,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,769,132,770,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,69,10,159,771,1,70,772,4,6,64,91,12,773,-299,-299,-299,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,774,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,6,64,-365,-365,2,6,64,545,775,2,69,10,159,776,3,57,5,1,777,111,112,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,778,-259,-259,-259,-259,-259,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,157,779,4,58,1,142,2,412,110,780,413,6,58,1,10,131,1,2,412,110,411,781,410,413,5,6,63,1,5,29,-382,-382,-382,-382,-382,3,6,63,1,689,690,782,5,6,63,1,5,29,-387,-387,-387,-387,-387,5,6,63,1,5,29,-389,-389,-389,-389,-389,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,14,1,5,62,1,1,5,37,25,16,4,7,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,783,-393,-393,-393,-393,4,58,1,144,5,568,110,420,784,6,58,1,10,134,3,2,568,110,418,420,785,417,5,6,63,1,5,29,-411,-411,-411,-411,-411,3,6,63,1,697,698,786,5,6,63,1,5,29,-416,-416,-416,-416,-416,5,6,63,1,5,29,-417,-417,-417,-417,-417,5,6,63,1,5,29,-419,-419,-419,-419,-419,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,132,-399,-399,-399,-399,-399,131,-399,-399,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,787,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,11,6,63,1,5,19,1,9,8,9,7,9,-259,-259,-259,434,435,-259,-259,-259,-259,788,-259,5,6,63,1,5,37,-189,-189,-189,-189,-189,5,6,63,1,5,37,-190,-190,-190,-190,-190,1,90,789,5,6,63,1,5,46,-155,-155,-155,-155,-155,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,446,790,-259,-259,-259,-259,-259,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,791,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,70,20,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,90,792,1,90,793,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,58,1,1,1,63,1,461,110,462,256,794,460,7,58,1,1,1,32,31,1,461,110,462,256,795,459,460,5,6,63,1,5,20,-161,-161,-161,-161,-161,3,6,63,1,721,722,796,6,6,63,1,5,1,19,-165,-165,-165,-165,797,-165,26,6,63,1,5,20,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,3,6,63,1,721,722,798,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,799,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,800,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-276,14,40,18,1,24,1,2,12,4,4,5,2,31,38,2,333,151,110,153,154,152,105,801,802,87,155,193,332,192,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,803,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,29,-117,-117,-117,-117,-117,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,473,804,-259,-259,-259,-259,-259,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,805,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,615,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,806,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,6,6,63,1,5,25,4,-130,-130,-130,-130,-130,-130,11,6,63,1,5,12,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,12,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,807,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,808,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,809,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,810,459,460,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,811,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,812,459,460,1,68,813,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,814,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,815,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,816,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,817,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,818,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,819,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,820,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,821,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,131,-340,-340,-340,-340,-340,-340,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,62,-238,-238,-238,-238,-238,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,501,822,-259,-259,-259,-259,-259,5,6,63,1,5,62,-239,-239,-239,-239,-239,3,6,63,1,513,514,823,24,69,10,22,63,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,824,132,129,130,131,102,103,825,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,826,132,827,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,828,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,829,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,830,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,831,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,832,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,70,833,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-296,3,70,91,12,-300,-300,-300,23,69,6,26,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,3,6,63,35,689,690,834,3,57,5,1,835,111,112,5,6,63,1,5,29,-383,-383,-383,-383,-383,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,836,-259,-259,-259,-259,-259,5,6,63,1,5,29,-384,-384,-384,-384,-384,3,57,5,1,837,111,112,5,6,63,1,5,29,-412,-412,-412,-412,-412,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,566,838,-259,-259,-259,-259,-259,5,6,63,1,5,29,-413,-413,-413,-413,-413,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,2,69,1,579,839,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,3,6,63,1,587,588,840,5,6,63,1,5,46,-158,-158,-158,-158,-158,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,5,6,63,1,5,20,-162,-162,-162,-162,-162,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,841,-259,-259,-259,-259,-259,1,95,842,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,843,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,95,844,1,90,845,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,846,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,103,76,2,2,847,493,495,496,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,848,156,155,193,192,5,6,63,1,5,29,-122,-122,-122,-122,-122,3,6,63,1,617,618,849,26,6,63,1,5,26,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,132,-121,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,29,-124,-124,-124,-124,-124,11,6,63,1,5,12,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,850,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,3,6,63,26,721,722,851,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,852,-259,-259,-259,-259,-259,3,6,63,26,721,722,853,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,854,-259,-259,-259,-259,-259,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,131,-330,-330,-330,855,-330,-330,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,856,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,131,-331,-331,-331,-331,-331,-331,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-335,-335,-335,-335,-335,-335,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-339,-339,-339,-339,-339,-339,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-343,-343,-343,-343,-343,-343,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,857,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,858,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,1,647,648,859,6,6,63,1,5,62,2,-219,-219,-219,-219,-219,-219,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,862,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,863,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,1,157,864,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,3,6,63,1,689,690,865,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,3,6,63,1,697,698,866,5,6,63,1,5,37,-191,-191,-191,-191,-191,5,6,63,1,5,46,-156,-156,-156,-156,-156,3,6,63,1,721,722,867,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,26,6,63,1,5,20,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,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,868,610,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,869,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,103,870,5,6,63,1,5,29,-118,-118,-118,-118,-118,1,90,871,11,6,63,1,5,12,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,3,6,63,1,721,722,872,11,6,63,1,5,12,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,3,6,63,1,721,722,873,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,874,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-337,-337,-337,-337,-337,-337,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-341,-341,-341,-341,-341,-341,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,62,-240,-240,-240,-240,-240,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,876,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,877,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,3,57,5,1,878,111,112,5,6,63,1,5,29,-385,-385,-385,-385,-385,5,6,63,1,5,29,-414,-414,-414,-414,-414,5,6,63,1,5,20,-163,-163,-163,-163,-163,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,46,1,5,62,1,1,5,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,881,-334,879,-334,-334,-334,-334,-334,880,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,882,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,11,6,63,1,5,12,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,1,95,883,1,95,884,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-332,-332,-332,-332,-332,-332,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-333,-333,-333,-333,-333,-333,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,1,104,885,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,886,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,8,6,63,1,25,9,8,9,16,-260,-260,-260,-260,-260,-260,-260,-260,46,1,5,62,1,1,5,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,881,-336,887,-336,-336,-336,-336,-336,888,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,11,6,63,1,5,12,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,11,6,63,1,5,12,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,-109,-109,-109,46,1,5,62,1,1,5,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,881,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,131,-335,-335,-335,-335,-335,-335,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,104,890,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,891,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,104,892,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,881,-337,893,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,-110,-110,-110,1,104,894,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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],_=[],c=0,n,u,l,i;while(c<f.length){n=f[c++],u={},l=0,i=[];while(n--)l+=f[c++],i.push(l);for(l of i)u[l]=f[c++];_.push(u)}return _})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,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,85,1,85,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,84,10,84,12,84,11,84,13,84,4,107,0,107,1,107,3,107,4,107,6,108,1,108,1,108,3,108,5,108,3,108,5,110,1,110,1,110,1,99,1,99,3,99,4,99,1,109,2,109,2,115,1,115,1,115,1,115,1,115,1,115,2,115,2,115,2,115,2,115,3,115,3,115,4,115,6,115,5,115,5,115,7,115,7,46,4,120,0,120,1,120,3,120,4,120,6,122,3,122,5,122,2,93,1,93,3,93,4,93,6,124,1,124,3,124,3,124,5,125,1,125,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,83,2,83,3,83,4,127,1,127,3,127,4,127,4,127,6,129,1,129,2,128,1,128,2,126,1,126,2,131,1,131,2,132,1,132,1,40,5,91,3,91,2,91,2,91,1,32,6,32,3,15,5,15,2,35,5,35,2,140,1,140,1,136,0,136,1,136,3,136,4,136,6,143,1,143,3,143,2,143,1,144,1,144,1,144,1,144,1,145,2,41,2,41,2,41,3,41,2,41,2,117,2,117,4,147,1,147,3,147,4,147,4,147,6,130,1,130,1,130,1,130,1,148,1,148,3,43,1,43,1,86,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,94,0,94,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,158,3,158,4,160,4,160,5,160,2,162,3,162,5,22,1,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,167,3,167,3,167,3,167,2,26,5,26,7,26,4,26,6,171,1,171,2,172,3,172,4,174,2,174,4,174,2,174,4,24,2,24,2,24,2,24,1,177,2,177,2,177,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,184,1,184,3,102,1,102,3,185,1,185,1,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,192,1,192,3,192,2,193,1,193,1,193,1,193,2,193,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,200,1,200,3,200,4,200,4,200,6,201,1,201,3,201,1,201,3,198,1,199,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,206,1,206,3,206,4,206,4,206,6,208,1,208,3,208,3,208,1,208,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,_,c,n)=>{let u=_,l=_.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[l]];case 3:case 61:case 115:case 153:case 160:case 192:case 196:case 216:case 236:case 245:case 297:case 348:case 364:case 381:case 410:return[u[l]];case 4:case 116:case 154:case 161:case 217:case 237:case 246:case 365:case 382:case 411:return[...u[l-2],u[l]];case 5:case 63:case 199:case 366:return u[l-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 94:case 95:case 120:case 125:case 126:case 127:case 128:case 131:case 134:case 135:case 136:case 137:case 138:case 168:case 169:case 170:case 171:case 172:case 173:case 174:case 175:case 178:case 179:case 180:case 181:case 182:case 187:case 213:case 214:case 220:case 224:case 225:case 226:case 227:case 241:case 242:case 243:case 259:case 260:case 274:case 277:case 278:case 308:case 346:case 350:case 351:case 367:case 368:case 369:case 386:case 388:case 390:case 415:case 418:return u[l];case 49:case 177:return"undefined";case 50:case 176:return"null";case 54:case 183:return["symbol",u[l]];case 60:return["str",...u[l-1]];case 62:case 193:case 197:case 298:return[...u[l-1],u[l]];case 64:case 235:case 239:case 384:case 413:return u[l-2];case 65:return"";case 68:return["regex",u[l-1]];case 69:return["regex-index",u[l-2],u[l]];case 70:return["regex-index",u[l],null];case 71:case 123:return["=",u[l-2],u[l]];case 72:return["=",u[l-3],u[l]];case 73:case 124:return["=",u[l-4],u[l-1]];case 74:return["state",u[l-2],u[l]];case 75:return["state",u[l-3],u[l]];case 76:return["state",u[l-4],u[l-1]];case 77:case 79:return["computed",u[l-2],u[l]];case 78:return["computed",u[l-3],u[l]];case 80:return["readonly",u[l-2],u[l]];case 81:return["readonly",u[l-3],u[l]];case 82:return["readonly",u[l-4],u[l-1]];case 83:case 85:return["effect",u[l-2],u[l]];case 84:return["effect",u[l-3],u[l]];case 86:case 87:case 88:return["effect",null,u[l]];case 96:case 143:return[".",u[l-2],u[l]];case 97:case 144:return["?.",u[l-2],u[l]];case 98:case 100:case 145:return["[]",u[l-3],u[l-1]];case 99:case 101:case 146:return["[]",u[l-5],u[l-2]];case 102:case 147:return[".{}",u[l-4],...u[l-2]];case 103:case 148:return["?.{}",u[l-4],...u[l-2]];case 104:case 149:return[".{}",u[l-6],...u[l-3]];case 105:case 150:return["?.{}",u[l-6],...u[l-3]];case 106:return[u[l-1][0],u[l-3],...u[l-1].slice(1)];case 107:return["optindex",u[l-4],u[l-1]];case 108:return["optindex",u[l-6],u[l-2]];case 109:return["object-comprehension",u[l-8],u[l-6],[["for-of",u[l-4],u[l-2],!1]],[]];case 110:return["object-comprehension",u[l-10],u[l-8],[["for-of",u[l-6],u[l-4],!1]],[u[l-2]]];case 111:return["object-comprehension",u[l-9],u[l-7],[["for-of",u[l-4],u[l-2],!0]],[]];case 112:return["object-comprehension",u[l-11],u[l-9],[["for-of",u[l-6],u[l-4],!0]],[u[l-2]]];case 113:return["object",...u[l-2]];case 114:case 152:case 194:case 215:case 234:return[];case 117:case 155:case 162:case 218:case 238:case 383:case 412:return[...u[l-3],u[l]];case 118:case 156:case 163:case 219:case 240:case 385:case 414:return[...u[l-5],...u[l-2]];case 119:return[null,u[l],u[l]];case 121:case 157:return[":",u[l-2],u[l]];case 122:case 158:return[":",u[l-4],u[l-1]];case 129:return["dynamicKey",u[l-1]];case 130:return["[]","this",u[l-1]];case 132:case 133:case 159:case 228:return["...",u[l]];case 139:case 232:return["super",...u[l]];case 140:case 141:case 142:case 230:case 233:return[u[l-1],...u[l]];case 151:return["map-literal",...u[l-2]];case 164:return[u[l],u[l],null];case 165:return[u[l-2],u[l],null];case 166:return[u[l-2],u[l-2],u[l]];case 167:return[u[l-4],u[l-2],u[l]];case 184:return["array"];case 185:return["array",...u[l-1]];case 186:return["array",...u[l-2],...u[l-1]];case 188:return[...u[l-2],...u[l]];case 189:return[...u[l-3],...u[l]];case 190:return[...u[l-2],...u[l-1]];case 191:return[...u[l-5],...u[l-4],...u[l-2],...u[l-1]];case 195:return[...u[l]];case 198:return null;case 200:return"..";case 201:case 244:return"...";case 202:return[u[l-2],u[l-3],u[l-1]];case 203:case 438:case 440:case 441:case 455:case 457:return[u[l-1],u[l-2],u[l]];case 204:return[u[l],u[l-1],null];case 205:return[u[l-1],null,u[l]];case 206:return[u[l],null,null];case 207:return["def",u[l-4],u[l-2],u[l]];case 208:return["def",u[l-1],[],u[l]];case 209:case 211:return[u[l-1],u[l-3],u[l]];case 210:case 212:return[u[l-1],[],u[l]];case 221:case 347:return["default",u[l-2],u[l]];case 222:return["rest",u[l]];case 223:return["expansion"];case 229:return["tagged-template",u[l-1],u[l]];case 231:return["optcall",u[l-2],...u[l]];case 247:case 248:return"this";case 249:return[".","this",u[l]];case 250:return[".","super",u[l]];case 251:return["[]","super",u[l-1]];case 252:return["[]","super",u[l-2]];case 253:return[".","new",u[l]];case 254:return[".","import",u[l]];case 255:return["block"];case 256:return["block",...u[l-1]];case 257:return u[l-1].length===1?(Array.isArray(u[l-1][0])&&u[l-1][0][0]==="="&&(u[l-1][0].parenthesized=!0),u[l-1][0]):["block",...u[l-1]];case 258:return u[l-2].length===1?(Array.isArray(u[l-2][0])&&u[l-2][0][0]==="="&&(u[l-2][0].parenthesized=!0),u[l-2][0]):["block",...u[l-2]];case 261:return["return",u[l]];case 262:return["return",u[l-1]];case 263:return["return"];case 264:return["throw",u[l]];case 265:return["throw",u[l-1]];case 266:return["yield"];case 267:return["yield",u[l]];case 268:return["yield",u[l-1]];case 269:return["yield-from",u[l]];case 270:case 272:return["if",u[l-1],u[l]];case 271:case 273:return["if",u[l-2],u[l-1],u[l]];case 275:return["if",["!",u[l-1]],u[l]];case 276:return["if",["!",u[l-3]],u[l-2],u[l]];case 279:case 280:return["if",u[l],[u[l-2]]];case 281:return["?:",u[l-4],u[l-6],u[l-1]];case 282:return["?:",u[l-2],u[l-4],u[l]];case 283:case 284:return["if",["!",u[l]],[u[l-2]]];case 285:return["try",u[l]];case 286:return["try",u[l-1],u[l]];case 287:return["try",u[l-2],u[l]];case 288:return["try",u[l-3],u[l-2],u[l]];case 289:case 290:case 291:case 420:case 423:case 425:return[u[l-1],u[l]];case 292:return[null,u[l]];case 293:return["switch",u[l-3],u[l-1],null];case 294:return["switch",u[l-5],u[l-3],u[l-1]];case 295:return["switch",null,u[l-1],null];case 296:return["switch",null,u[l-3],u[l-1]];case 299:return["when",u[l-1],u[l]];case 300:return["when",u[l-2],u[l-1]];case 301:return["while",u[l]];case 302:return["while",u[l-2],u[l]];case 303:return["while",["!",u[l]]];case 304:return["while",["!",u[l-2]],u[l]];case 305:return u[l-1].length===2?[u[l-1][0],u[l-1][1],u[l]]:[u[l-1][0],u[l-1][1],u[l-1][2],u[l]];case 306:case 307:return u[l].length===2?[u[l][0],u[l][1],[u[l-1]]]:[u[l][0],u[l][1],u[l][2],[u[l-1]]];case 309:return["loop",u[l]];case 310:return["loop",[u[l]]];case 311:return["loop-n",u[l-1],u[l]];case 312:return["for-in",u[l-3],u[l-1],null,null,u[l]];case 313:return["for-in",u[l-5],u[l-3],null,u[l-1],u[l]];case 314:return["for-in",u[l-5],u[l-3],u[l-1],null,u[l]];case 315:return["for-in",u[l-7],u[l-5],u[l-1],u[l-3],u[l]];case 316:return["for-in",u[l-7],u[l-5],u[l-3],u[l-1],u[l]];case 317:return["for-of",u[l-3],u[l-1],!1,null,u[l]];case 318:return["for-of",u[l-5],u[l-3],!1,u[l-1],u[l]];case 319:return["for-of",u[l-3],u[l-1],!0,null,u[l]];case 320:return["for-of",u[l-5],u[l-3],!0,u[l-1],u[l]];case 321:return["for-as",u[l-3],u[l-1],!1,null,u[l]];case 322:return["for-as",u[l-5],u[l-3],!1,u[l-1],u[l]];case 323:case 325:return["for-as",u[l-3],u[l-1],!0,null,u[l]];case 324:case 326:return["for-as",u[l-5],u[l-3],!0,u[l-1],u[l]];case 327:return["for-in",[],u[l-1],null,null,u[l]];case 328:return["for-in",[],u[l-3],u[l-1],null,u[l]];case 329:return["comprehension",u[l-4],[["for-in",u[l-2],u[l],null]],[]];case 330:return["comprehension",u[l-6],[["for-in",u[l-4],u[l-2],null]],[u[l]]];case 331:return["comprehension",u[l-6],[["for-in",u[l-4],u[l-2],u[l]]],[]];case 332:return["comprehension",u[l-8],[["for-in",u[l-6],u[l-4],u[l]]],[u[l-2]]];case 333:return["comprehension",u[l-8],[["for-in",u[l-6],u[l-4],u[l-2]]],[u[l]]];case 334:return["comprehension",u[l-4],[["for-of",u[l-2],u[l],!1]],[]];case 335:return["comprehension",u[l-6],[["for-of",u[l-4],u[l-2],!1]],[u[l]]];case 336:return["comprehension",u[l-5],[["for-of",u[l-2],u[l],!0]],[]];case 337:return["comprehension",u[l-7],[["for-of",u[l-4],u[l-2],!0]],[u[l]]];case 338:return["comprehension",u[l-4],[["for-as",u[l-2],u[l],!1,null]],[]];case 339:return["comprehension",u[l-6],[["for-as",u[l-4],u[l-2],!1,null]],[u[l]]];case 340:return["comprehension",u[l-5],[["for-as",u[l-2],u[l],!0,null]],[]];case 341:return["comprehension",u[l-7],[["for-as",u[l-4],u[l-2],!0,null]],[u[l]]];case 342:return["comprehension",u[l-4],[["for-as",u[l-2],u[l],!0,null]],[]];case 343:return["comprehension",u[l-6],[["for-as",u[l-4],u[l-2],!0,null]],[u[l]]];case 344:return["comprehension",u[l-2],[["for-in",[],u[l],null]],[]];case 345:return["comprehension",u[l-4],[["for-in",[],u[l-2],u[l]]],[]];case 349:case 387:case 389:case 416:case 417:case 419:return[u[l-2],u[l]];case 352:return["class",null,null];case 353:return["class",null,null,u[l]];case 354:return["class",null,u[l]];case 355:return["class",null,u[l-1],u[l]];case 356:return["class",u[l],null];case 357:return["class",u[l-1],null,u[l]];case 358:return["class",u[l-2],u[l]];case 359:return["class",u[l-3],u[l-1],u[l]];case 360:return["enum",u[l-1],u[l]];case 361:return["schema",u[l]];case 362:return["component",null,["block",...u[l-1]]];case 363:return["component",u[l-3],["block",...u[l-1]]];case 370:return["offer",u[l]];case 371:return["accept",u[l]];case 372:case 373:return["render",u[l]];case 374:case 377:return["import","{}",u[l]];case 375:case 376:return["import",u[l-2],u[l]];case 378:return["import",u[l-4],u[l]];case 379:return["import",u[l-4],u[l-2],u[l]];case 380:return["import",u[l-7],u[l-4],u[l]];case 391:return["*",u[l]];case 392:return["export","{}"];case 393:return["export",u[l-2]];case 394:case 395:case 396:case 397:case 401:case 402:case 403:case 404:return["export",u[l]];case 398:return["export",["=",u[l-2],u[l]]];case 399:return["export",["=",u[l-3],u[l]]];case 400:return["export",["=",u[l-4],u[l-1]]];case 405:return["export-default",u[l]];case 406:return["export-default",u[l-1]];case 407:return["export-all",u[l]];case 408:return["export-from","{}",u[l]];case 409:return["export-from",u[l-4],u[l]];case 421:case 422:case 424:case 460:return["do-iife",u[l]];case 426:return["-",u[l]];case 427:return["+",u[l]];case 428:return["?",u[l-1]];case 429:return["presence",u[l-1]];case 430:return["await",u[l]];case 431:return["await",u[l-1]];case 432:return["--",u[l],!1];case 433:return["++",u[l],!1];case 434:return["--",u[l-1],!0];case 435:return["++",u[l-1],!0];case 436:return["+",u[l-2],u[l]];case 437:return["-",u[l-2],u[l]];case 439:return["**",u[l-2],u[l]];case 442:return["&",u[l-2],u[l]];case 443:return["^",u[l-2],u[l]];case 444:return["|",u[l-2],u[l]];case 445:case 446:case 447:case 448:case 449:case 450:return["control",u[l-1],u[l-2],u[l]];case 451:return["&&",u[l-2],u[l]];case 452:return["||",u[l-2],u[l]];case 453:return["??",u[l-2],u[l]];case 454:return["|>",u[l-2],u[l]];case 456:return["?:",u[l-4],u[l-2],u[l]];case 458:return[u[l-3],u[l-4],u[l-1]];case 459:return[u[l-2],u[l-3],u[l]]}},parseError(f,_){let c,n,u,l,i,w,D;if(_.recoverable)return this.trace(f);else throw u=(_.line||0)+1,c=_.loc?.c||0,D=_.token?` (token: ${_.token})`:"",w=_.text?` near '${_.text}'`:"",l=`line ${u}, column ${c}`,i=`Parse error at ${l}${D}${w}: ${f}`,n=Error(i),n.hash=_,n},parse(f){let _,c,n,u,l,i,w,D,h,A,R,U,$,z,M,F,H,Q,O,W,K,Y,q,y,Z,J,X,N;[K,N,R]=[[0],[null],[]],[z,J,y,q,H]=[this.parseTable,"",0,0,0],[c,_]=[2,1],h=Object.create(this.lexer),O={ctx:{}};for(let S in this.ctx){if(!Object.hasOwn(this.ctx,S))continue;let I=this.ctx[S];O.ctx[S]=I}if(h.setInput(f,O.ctx),[O.ctx.lexer,O.ctx.parser]=[h,this],h.loc==null)h.loc={};Z=h.loc,R.push(Z),this.parseError=typeof O.ctx.parseError==="function"?O.ctx.parseError:Object.getPrototypeOf(this).parseError,D=()=>{let S;if(S=h.lex()||_,typeof S!=="number")S=this.symbolIds[S]||S;return S},Y=M=W=n=F=$=w=U=l=null,Q={};while(!0){if(W=K[K.length-1],Y==null)Y=D();if(n=z[W]?.[Y],n==null){if(u="",!H)l=(()=>{let S=[];for(let I in z[W]){if(!Object.hasOwn(z[W],I))continue;if(this.tokenNames[I]&&I>c)S.push(`'${this.tokenNames[I]}'`)}return S})();throw u=(()=>{if(h.showPosition)return`Parse error on line ${y+1}:
|
|
1029
|
-
${
|
|
1030
|
-
Expecting ${l.join(", ")}, got '${this.tokenNames[Y]||Y}'`;else return`Parse error on line ${y+1}: Unexpected ${Y===_?"end of input":`'${this.tokenNames[Y]||Y}'`}`,this.parseError(u,{text:h.match,token:this.tokenNames[Y]||Y,line:h.line,loc:Z,expected:l})})(),Error(u)}if(n>0)if(K.push(Y,n),N.push(h.text),R.push(h.loc),Y=null,!M){if([q,J,y,Z]=[h.len,h.text,h.line,h.loc],H>0)H--}else[Y,M]=[M,null];else if(n<0){if(w=this.ruleTable[-n*2+1],Q.$=N[N.length-w],A=R[R.length-(w||1)],Q._$={r:A.r,c:A.c},F=this.ruleActions.call(Q,-n,N,R,O.ctx),F!=null)Q.$=F;if(Array.isArray(Q.$))Q.$.loc=Q._$;if(w)K.length-=w*2,N.length-=w,R.length-=w;K.push(this.ruleTable[-n*2]),N.push(Q.$),R.push(Q._$),U=z[K[K.length-2]][K[K.length-1]],K.push(U)}else if(n===0)return N[N.length-1]}},trace(){},ctx:{}},K4=(f={})=>{let _=Object.create(H4);return Object.defineProperty(_,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),_},F1=K4();var Q0=F1.parse.bind(F1);var K2=null;function p2(f){K2=f}var Q4=new Set(["input","shape","model","mixin","enum"]),e2="input",Y4=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 c2(f,_){if(f)f.prototype.rewriteSchema=function(){Z4(this)},o1._LexerCtor=f;if(_)_.prototype.emitSchema=function(c,n,u){return r4(this,c,n,u)},_.prototype.getSchemaRuntime=function(){let c=this.options?.schemaMode||"migration";return l5({mode:c})}}var x2=new Set(["defaultMaxString"]);function Z4(f){let _=f.tokens,c={defaultMaxString:null},n=0,u=0;while(u<_.length){let l=_[u];if(l[0]==="INDENT")n++;else if(l[0]==="OUTDENT")n--;let i=q4(_,u,c,n);if(i>0){_.splice(u,i);continue}if(J4(_,u))G4(f,_,u,c);u++}}function q4(f,_,c,n){let u=f[_];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[_+1]?.[0]!==".")return 0;let l=f[_+2];if(!l||l[0]!=="PROPERTY")return 0;if(f[_+3]?.[0]!=="=")return 0;let i=f[_-1];if(i){let R=i[0];if(R!=="TERMINATOR"&&R!=="INDENT"&&R!=="OUTDENT")return 0}let w=l[1];if(!x2.has(w))throw C(l,`Unknown schema pragma 'schema.${w}'. Known pragmas: ${[...x2].join(", ")}.`);if(n>0)throw C(l,`Schema pragma 'schema.${w}' 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 D=f[_+4];if(!D||D[0]!=="NUMBER")throw C(D||l,`Pragma 'schema.${w}' requires a number literal. Example: schema.${w} = 100.`);let h=Number(D[1]);if(!Number.isFinite(h)||h<0||!Number.isInteger(h))throw C(D,`Pragma 'schema.${w}' expects a non-negative integer (got ${D[1]}). Use 0 to disable.`);c[w]=h===0?null:h;let A=_+5;if(f[A]?.[0]==="TERMINATOR")A++;return A-_}function J4(f,_){let c=f[_];if(!c||c[0]!=="IDENTIFIER"||c[1]!=="schema")return!1;let n=f[_-1];if(n){let l=n[0];if(l==="."||l==="?.")return!1;if(n[0]==="IDENTIFIER"||n[0]==="PROPERTY"||n[0]===")"||n[0]==="]"||n[0]==="}"||n[0]==="STRING"||n[0]==="NUMBER"){if(!y4.has(l))return!1}}let 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 G4(f,_,c,n){let u=_[c],l=null,i=e2,w=c+1;if(_[w]?.[0]==="SYMBOL"){l=_[w];let $=l[1];if(!Q4.has($))throw C(l,`Unknown schema kind :${$}. Expected one of :input, :shape, :model, :mixin, :enum.`);i=$,w++}let D,h;if(_[w]?.[0]==="TERMINATOR"&&_[w][1]===";"){let $=w+1,z=$,M=0,F=_[$]?.loc?.r??null;while(z<_.length){let H=_[z],Q=H[0];if(M===0&&F!=null&&H.loc&&H.loc.r>F)break;if(Q==="("||Q==="["||Q==="{"||Q==="CALL_START"||Q==="INDEX_START"||Q==="PARAM_START")M++;else if(Q===")"||Q==="]"||Q==="}"||Q==="CALL_END"||Q==="INDEX_END"||Q==="PARAM_END")M--;else if(M===0&&Q==="TERMINATOR"&&H[1]!==";")break;else if(M===0&&(Q==="INDENT"||Q==="OUTDENT"))break;else if(M===0&&Q==="->")throw C(H,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(M===0&&Q==="EFFECT")throw C(H,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(M===0&&Q==="UNARY_MATH"&&H[1]==="!"&&_[z+1]?.[0]==="COMPARE"&&_[z+1][1]===">")throw C(H,"Inline schema body does not support '!>' (eager derived). Use the indented form.");z++}while(z>$&&_[z-1][0]==="TERMINATOR")z--;if(D=_.slice($,z),h=z,!D.length)throw C(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${l?" :"+i:""};' or switch to the indented form.`)}else{if(_[w]?.[0]==="TERMINATOR")w++;if(_[w]?.[0]!=="INDENT")throw C(u,`Expected indented schema body after 'schema${l?" :"+i:""}'.`);let $=w,z=u5(_,$);if(z<0)throw C(_[$],"Unterminated schema body.");D=_.slice($+1,z),h=z+1}let A=X4(i,D,{schemaLoc:u.loc,kindLoc:l?.loc??null,kind:i,defaultMaxString:n?.defaultMaxString??null}),R=Q2("SCHEMA","schema",u),U=Q2("SCHEMA_BODY",i,u);U.data={descriptor:A},_.splice(c,h-c,R,U)}function X4(f,_,c){let n=[],u=P4(_);if(f===e2&&!c.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",c.kind="enum";if(f==="enum")for(let l of u)C4(l,n);else{for(let l of u)b4(f,l,n,c);if(f==="mixin")for(let l of n){if(l.tag==="method"||l.tag==="computed"||l.tag==="hook")throw C({loc:l.headerLoc||l.loc},`:mixin schemas are fields-only. '${l.name}' is a ${l.tag}; move it to a :shape or :model.`);if(l.tag==="ensure")throw C({loc:l.headerLoc||l.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(l.tag==="directive"&&l.name!=="mixin")throw C({loc:l.loc},`:mixin schemas only accept '@mixin Name' directives. '@${l.name}' is not allowed.`)}else if(f==="input")for(let l of n){if(l.tag==="method"||l.tag==="computed"||l.tag==="hook")throw C({loc:l.headerLoc||l.loc},`:input schemas are fields-only. '${l.name}' is a ${l.tag}; use :shape or :model if you need behavior.`);if(l.tag==="directive"&&l.name!=="mixin")throw C({loc:l.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${l.name}' is not allowed.`)}else if(f==="shape")for(let l of n){if(l.tag==="hook")throw C({loc:l.headerLoc||l.loc},`:shape schemas don't have lifecycle hooks. '${l.name}' runs only on :model; move it or remove it.`);if(l.tag==="directive"&&l.name!=="mixin")throw C({loc:l.loc},`:shape schemas only accept '@mixin Name'. '@${l.name}' is :model-only.`)}}return{kind:f,loc:c.schemaLoc,kindLoc:c.kindLoc,entries:n}}function P4(f){let _=[],c=[],n=0;for(let u of f){let l=u[0];if(l==="INDENT")n++;if(l==="OUTDENT")n--;if(l==="TERMINATOR"&&n===0){if(c.length)_.push(c),c=[];continue}c.push(u)}if(c.length)_.push(c);return _}var S4=new Set(["string","email","url","phone","zip"]);function b4(f,_,c,n){let u=_[0];if(!u)return;if(u[0]==="@"){let Y=_[1];if(!Y||Y[0]!=="IDENTIFIER"&&Y[0]!=="PROPERTY")throw C(u,"Expected directive name after '@'.");let q=_.slice(2),y=Y[1];if(y==="ensure"){let J=B4(q,u);for(let X of J)c.push({tag:"ensure",name:"ensure",message:X.message,paramTokens:X.paramTokens,bodyTokens:X.bodyTokens,loc:X.loc,headerLoc:u.loc});return}let Z=null;if(y==="belongs_to"||y==="has_many"||y==="has_one"||y==="one"||y==="many"||y==="mixin"){let J=q[0];if(J&&(J[0]==="IDENTIFIER"||J[0]==="PROPERTY")){let X=J.data?.predicate===!0;if(!X&&q[1]?.[0]==="?")X=!0;Z=[{target:J[1],optional:X}]}}c.push({tag:"directive",name:y,args:Z,argTokens:q,loc:u.loc});return}if(u[0]==="PROPERTY"){I4(f,u,_,c);return}if(u[0]!=="IDENTIFIER")throw C(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let l=u[1];if(_[1]?.[0]===":")throw C(_[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let i=k4(u),w=1;while(w<_.length){let Y=_[w];if(!(_[w-1]&&!_[w-1].spaced))break;if(Y[0]==="#"||Y[0]==="?"||Y[0]==="!"){i.push(Y[0]),w++;continue}break}let D=_[w];if(D?.[0]===":")throw C(D,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let h="string",A=null;if(D?.[0]==="IDENTIFIER")h=D[1],w++;else if(D?.[0]==="STRING"){A=[JSON.parse(D[1])],w++;while(_[w]?.[0]==="|"&&_[w+1]?.[0]==="STRING")w++,A.push(JSON.parse(_[w][1])),w++;if(_[w]?.[0]==="|"){let Y=_[w+1],q=Y?.[0]??"<end>";throw C(Y||_[w],`Literal unions contain string literals only. '${q}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(A.length<2)throw C(D,`Literal union needs at least two string literals. Use '${JSON.stringify(A[0])}' as a default with '[${JSON.stringify(A[0])}]' instead.`);h="literal-union"}let R=!1,U=_[w]?.[0],$=_[w+1]?.[0];if((U==="["||U==="INDEX_START")&&($==="]"||$==="INDEX_END"))R=!0,w+=2;let z=_.slice(w);if((D?.[0]==="IDENTIFIER"||D?.[0]==="STRING")&&z[0]?.[0]==="->")throw C(z[0],`Field '${l}' has a transform after the type; a comma is required before '->'. Write '${l} ${h}, -> …'.`);let F=null,H=null,Q=null,O=null,W=null;if(z.length>0){if(z[0]?.[0]===",")z=z.slice(1);let Y=x1(z);for(let q=0;q<Y.length;q++){let y=Y[q];while(y.length&&(y[0][0]==="INDENT"||y[0][0]==="TERMINATOR"))y=y.slice(1);if(!y.length)continue;if(y[0][0]!=="->"){let J=E4(y);if(J>0)throw C(y[J],`Field '${l}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let Z=y[0];if(Z[0]!=="->"){while(y.length&&(y[y.length-1][0]==="OUTDENT"||y[y.length-1][0]==="TERMINATOR"))y=y.slice(0,-1);if(!y.length)continue;Z=y[0]}if(Z[0]==="["||Z[0]==="INDEX_START"){if(F)throw C(Z,`Field '${l}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);F=y}else if(Z[0]==="{"){if(H)throw C(Z,`Field '${l}' has more than one '{…}' attrs bracket.`);H=y}else if(N4(y)){if(Q)throw C(Z,`Field '${l}' has more than one range constraint. Only one 'min..max' per field.`);Q=y}else if(Z[0]==="REGEX"&&y.length===1){if(O)throw C(Z,`Field '${l}' has more than one regex constraint.`);O=Z}else if(Z[0]==="->"){if(q!==Y.length-1)throw C(Z,`Transform '-> …' must be the last element on the field line for '${l}'.`);W=y.slice(1)}else throw C(Z,`Unexpected trailer for field '${l}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(R&&A)throw C(D,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let K=null;if(n?.defaultMaxString!=null&&!O&&!A&&S4.has(h))K=n.defaultMaxString;c.push({tag:"field",name:l,modifiers:i,typeName:h,array:R,literals:A,constraintTokens:F,attrsTokens:H,rangeTokens:Q,regexToken:O,transformTokens:W,defaultMax:K,loc:u.loc})}function E4(f){let _=0;for(let c=0;c<f.length;c++){let n=f[c][0];if(n==="("||n==="["||n==="{"||n==="CALL_START"||n==="INDEX_START"||n==="PARAM_START")_++;else if(n===")"||n==="]"||n==="}"||n==="CALL_END"||n==="INDEX_END"||n==="PARAM_END")_--;else if(_===0&&n==="->")return c}return-1}function N4(f){let _=0,c=!1;if(f[_]?.[0]==="-"&&f[_+1]?.[0]==="NUMBER")_+=2,c=!0;else if(f[_]?.[0]==="NUMBER")_++,c=!0;if(f[_]?.[0]!=="..")return!1;_++;let n=!1;if(f[_]?.[0]==="-"&&f[_+1]?.[0]==="NUMBER")_+=2,n=!0;else if(f[_]?.[0]==="NUMBER")_++,n=!0;return(c||n)&&_===f.length}function I4(f,_,c,n){let u=_[1],l=c[1];if(!l||l[0]!==":")throw C(_,`Expected ':' after '${u}' before arrow.`);let i=c[2],w=c[3],D,h,A;if(i&&i[0]==="->")D="->",h=i.loc,A=3;else if(i&&i[0]==="EFFECT")D="~>",h=i.loc,A=3;else if(i&&i[0]==="UNARY_MATH"&&i[1]==="!"&&w&&w[0]==="COMPARE"&&w[1]===">"&&!i.spaced)D="!>",h=i.loc,A=4;else throw C(l,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let R=c.slice(A),U=Y4.has(u),$;if(D==="~>")$="computed";else if(D==="!>")$="derived";else if(f==="model"&&U)$="hook";else $="method";n.push({tag:$,name:u,arrow:D,paramTokens:[],bodyTokens:R,headerLoc:_.loc,arrowLoc:h})}function B4(f,_){let c=f;if(!c.length)throw C(_,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(c[0]?.[0]==="CALL_START"&&c[c.length-1]?.[0]==="CALL_END")c=c.slice(1,-1);if(!c.length)throw C(_,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let n=c[0];if(n[0]==="["||n[0]==="INDEX_START"){let l=T4(c,n),i=a4(l);if(i.length===0)throw C(n,"@ensure [...] must contain at least one 'message, fn' pair.");if(i.length%2!==0)throw C(n,`@ensure [...] must have pairs of 'message, fn' (got ${i.length} elements; odd count).`);let w=[];for(let D=0;D<i.length;D+=2)w.push(d2(i[D],i[D+1],n));return w}let u=x1(c);if(u.length<2)throw C(n,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw C(n,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[d2(u[0],u[1],n)]}function T4(f,_){let c=0,n=[];for(let u=0;u<f.length;u++){let l=f[u],i=l[0];if(i==="["||i==="INDEX_START"){if(c++,c===1)continue}if(i==="]"||i==="INDEX_END"){if(c--,c===0){if(u<f.length-1)throw C(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(n.length>=2&&n[0][0]==="INDENT"&&n[n.length-1][0]==="OUTDENT"){let w=0,D=!1;for(let h=0;h<n.length;h++)if(n[h][0]==="INDENT")w++;else if(n[h][0]==="OUTDENT"){if(w--,w===0&&h===n.length-1){D=!0;break}if(w===0)break}if(D)n=n.slice(1,-1)}return n}}if(c>=1)n.push(l)}throw C(_,"@ensure: unclosed '['.")}function a4(f){let _=[],c=[],n=0;for(let u of f){let l=u[0];if(l==="("||l==="["||l==="{"||l==="CALL_START"||l==="INDEX_START"||l==="PARAM_START"||l==="INDENT")n++;if(l===")"||l==="]"||l==="}"||l==="CALL_END"||l==="INDEX_END"||l==="PARAM_END"||l==="OUTDENT")n--;if(n===0&&(l===","||l==="TERMINATOR")){if(c.length)_.push(c),c=[];continue}c.push(u)}if(c.length)_.push(c);return _}function d2(f,_,c){if(!f||!f.length)throw C(c,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw C(f[0]||c,"@ensure: each refinement's first element must be a string literal message.");let n=f[0],u=JSON.parse(n[1]);if(!_||!_.length)throw C(n,"@ensure: missing function after message.");let l=_[0];if(l[0]!=="("&&l[0]!=="PARAM_START")throw C(l,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let i=1,w=1,D=[];while(w<_.length&&i>0){let R=_[w],U=R[0];if(U==="("||U==="PARAM_START")i++;if(U===")"||U==="PARAM_END"){if(i--,i===0){w++;break}}D.push(R),w++}if(i!==0)throw C(l,"@ensure: unclosed '(' in predicate parameters.");let h=_[w];if(!h||h[0]!=="->")throw C(h||_[w-1]||n,"@ensure: expected '->' after predicate parameters.");let A=_.slice(w+1);if(!A.length)throw C(h,"@ensure: predicate function body is empty.");return{message:u,paramTokens:D,bodyTokens:A,loc:n.loc}}function L4(f,_){if(!f.length)return[];return x1(f).map((n)=>{let u=n.filter((l)=>l[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw C(u[0]||_,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function C4(f,_){let c=f[0];if(!c)return;if(c[0]==="@"){let l=f[1],i=l&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY")?l[1]:"directive";throw C(c,`:enum schemas don't accept '@${i}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(c[0]!=="SYMBOL")throw C(c,`Enum member must be a :symbol. Use ':${c[1]??"name"}' for a bare member or ':${c[1]??"name"} value' for a valued one.`);let n=c[1],u=f[1];if(!u){_.push({tag:"enum-member",name:n,value:void 0,loc:c.loc});return}if(u[0]===":")throw C(u,`Enum member ':${n}' — drop the ':' before the value. Use ':${n} value'.`);if(f.length>2)throw C(f[2],`Extra tokens after enum member ':${n}' value.`);_.push({tag:"enum-member",name:n,value:f5(u),loc:c.loc})}function r4(f,_,c,n){let u=c[0],l=j4(u);if(!l)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let i=f._schemaName||null,w=[`kind: ${JSON.stringify(l.kind)}`];if(i)w.push(`name: ${JSON.stringify(i)}`);return w.push(`entries: [${l.entries.map((D)=>m4(f,D)).join(", ")}]`),`__schema({${w.join(", ")}})`}function j4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function m4(f,_){switch(_.tag){case"field":{let c=['tag: "field"',`name: ${JSON.stringify(_.name)}`,`modifiers: ${JSON.stringify(_.modifiers)}`,`typeName: ${JSON.stringify(_.typeName)}`,`array: ${_.array?"true":"false"}`];if(_.literals)c.push(`literals: ${JSON.stringify(_.literals)}`);let n=_.rangeTokens?o4(_.rangeTokens,_):null,u=_.constraintTokens?s4(_.constraintTokens,_):null,l=_.regexToken?t4(_.regexToken):null,i=x4(n,u,l,_);if(i)c.push(`constraints: ${i}`);if(_.transformTokens)c.push(`transform: ${g4(f,_.transformTokens)}`);return`{${c.join(", ")}}`}case"directive":{let c=['tag: "directive"',`name: ${JSON.stringify(_.name)}`],n=p4(_.name,_.argTokens||[]);if(n)c.push(`args: ${n}`);return`{${c.join(", ")}}`}case"ensure":{let c=v4(f,_);return`{${['tag: "ensure"',`message: ${JSON.stringify(_.message)}`,`fn: ${c}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let c=V4(f,_);return`{${[`tag: ${JSON.stringify(_.tag)}`,`name: ${JSON.stringify(_.name)}`,`fn: ${c}`].join(", ")}}`}case"enum-member":{let c=['tag: "enum-member"',`name: ${JSON.stringify(_.name)}`];if(_.value!==void 0)c.push(`value: ${JSON.stringify(_.value)}`);return`{${c.join(", ")}}`}default:return'{tag: "unknown"}'}}function V4(f,_){let c=o1(_.bodyTokens);if(!c)return"(function() {})";let n=["->",[],c];return f.emit(n,"value")}function g4(f,_){let c=o1(_);if(!c)return"(function() { return undefined; })";let n=["->",[],c];return f.emit(n,"value")}function v4(f,_){let c=o1(_.bodyTokens);if(!c)return"(function() { return undefined; })";let u=["->",L4(_.paramTokens,_),c];return f.emit(u,"value")}function s4(f,_){let c=f.slice(1,-1),n=x1(c);if(!n.length)return{c:null};let u=n.map((l)=>k2(l,_));if(u.length===1){let l=u[0];if(l instanceof RegExp)throw C(f[0],`Regex constraints are written bare, not in brackets. Replace '[${l}]' with '${l}'.`);return{c:{default:l}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw C(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((l)=>typeof l==="number"))throw C(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 C(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function t4(f){let _=f[1],c=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(_);if(!c)throw C(f,`Invalid regex literal ${JSON.stringify(_)}.`);try{return new RegExp(c[1],c[2])}catch(n){throw C(f,`Invalid regex '${_}': ${n.message}`)}}function o4(f,_){let c=0,n=()=>{let w=1;if(f[c]?.[0]==="-")w=-1,c++;let D=f[c++],h=k2([D],_);if(typeof h!=="number")throw C(D,"Range endpoints must be numeric literals.");return w*h},u;if(f[c]?.[0]!=="..")u=n();c++;let l;if(c<f.length)l=n();if(u!==void 0&&l!==void 0&&u>l)throw C(f[0],`Range '${u}..${l}' is reversed. Write the smaller endpoint first.`);let i={};if(u!==void 0)i.min=u;if(l!==void 0)i.max=l;return i}function x4(f,_,c,n){let u=_&&_.c||{},l=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(l&&u.min===void 0&&n?.modifiers?.includes("!"))u.min=1}if(c)u.regex=c;if(n?.defaultMax!=null&&u.max===void 0)u.max=n.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let i=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",w=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${n?.defaultMax}`;throw C({loc:n?.loc},`Field '${n?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${i} vs ${w}). 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 d4(u)}function d4(f){let _=[];if(f.min!==void 0)_.push(`min: ${H2(f.min)}`);if(f.max!==void 0)_.push(`max: ${H2(f.max)}`);if(f.default!==void 0)_.push(`default: ${H2(f.default)}`);if(f.regex!==void 0)_.push(`regex: ${f.regex.toString()}`);return _.length?`{${_.join(", ")}}`:null}function H2(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 p4(f,_){if(f==="idStart"&&!_.length)throw C(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!_.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let c=_[0];if(!c||c[0]!=="IDENTIFIER"&&c[0]!=="PROPERTY")throw C(c||_[_.length-1],`@${f} requires a target name.`);let n=c[1],u=c.data?.predicate===!0,l=1;if(!u&&_[l]?.[0]==="?")u=!0,l++;let i=[`target: ${JSON.stringify(n)}`];if(u)i.push("optional: true");return`[{${i.join(", ")}}]`}if(f==="index"){let c=[],n=!1,u=0;if(_[u]?.[0]==="IDENTIFIER"||_[u]?.[0]==="PROPERTY")c.push(_[u][1]),u++;else if(_[u]?.[0]==="["||_[u]?.[0]==="INDEX_START"){let i=[],w=1;u++;while(u<_.length&&w>0){let D=_[u];if(D[0]==="["||D[0]==="INDEX_START")w++;if(D[0]==="]"||D[0]==="INDEX_END"){if(w--,w===0){u++;break}}i.push(D),u++}for(let D of x1(i))if(D[0]&&(D[0][0]==="IDENTIFIER"||D[0][0]==="PROPERTY"))c.push(D[0][1])}if(_[u]?.[0]==="#")n=!0;let l=[`fields: ${JSON.stringify(c)}`];if(n)l.push("unique: true");return`[{${l.join(", ")}}]`}if(f==="idStart"){let c=_[0],n=1,u=c;if(c&&c[0]==="-"&&_[1]&&_[1][0]==="NUMBER")n=-1,u=_[1];if(!u||u[0]!=="NUMBER")throw C(c||_[_.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let l=n*Number(u[1]);if(!Number.isInteger(l))throw C(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+l+"}]"}return null}function k2(f,_){if(!f.length)throw C(null,"Empty constraint value.");let c=f[0],n=c[0];if(f.length===1){if(n==="NUMBER")return Number(c[1]);if(n==="STRING")return JSON.parse(c[1]);if(n==="BOOL")return c[1]==="true";if(n==="NULL")return null;if(n==="UNDEFINED")return;if(n==="REGEX")return e4(c[1]);if(n==="SYMBOL")return c[1]}if(f.length===2&&n==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw C(c,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${n}.`)}function e4(f){let _=typeof f==="string"?f:String(f),c=_.match(/^\/(.*)\/([gimsuy]*)$/s);return c?new RegExp(c[1],c[2]):new RegExp(_)}function o1(f){if(!f||!f.length)return null;let _=o1._LexerCtor;if(!_)throw Error("schema: parseBodyTokens called before Lexer was wired");let c=Object.create(_.prototype),n=f.slice();if(n.length>=2&&n[0]?.[0]==="INDENT"){let h=0,A=-1;for(let R=0;R<n.length;R++)if(n[R][0]==="INDENT")h++;else if(n[R][0]==="OUTDENT"){if(h--,h===0){A=R;break}}if(A===n.length-1)n=n.slice(1,-1)}if(c.tokens=n,c.seenFor=c.seenImport=c.seenExport=!1,c.ends=[],c.indent=0,c.outdebt=0,c.indents=[],c.tokens[c.tokens.length-1]?.[0]!=="TERMINATOR")c.tokens.push(Q2("TERMINATOR",`
|
|
1031
|
-
`,f[f.length-1]));try{
|
|
1032
|
-
`+o2;break;case"server":case"migration":throw Error("schema runtime mode '"+f+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${f}`)}return(s2+_+t2).trimStart()}p2(u3);var _5=u3({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(_5)}catch{}function _3(f){let _=f.prototype;_.rewriteTypes=function(){let c=this.tokens,n=this.typeRefNames=new Set,u=(l,i,w)=>{let D=[l,i];if(D.pre=0,D.data=null,D.loc=w?.loc??{r:0,c:0,n:0},D.spaced=!1,D.newLine=!1,D.generated=!0,w)D.origin=w;return D};this.scanTokens((l,i,w)=>{let D=l[0];if(D==="IDENTIFIER"){let h=w[i+1];if(h&&h[0]==="COMPARE"&&h[1]==="<"&&!h.spaced){let A=w[i-1]?.[0]==="DEF",R=l3(w,i+1);if(R){let U=i+1+R.length,$=!A&&w[U]?.[0]==="="&&w[U+1]?.[0]==="COMPONENT";if(A||$){if(!l.data)l.data={};if(l.data.typeParams=Y1(R),w.splice(i+1,R.length),A&&w[i+1]?.[0]==="("){w[i+1][0]="CALL_START";let z=1,M=i+2;while(M<w.length&&z>0){if(w[M][0]==="("||w[M][0]==="CALL_START")z++;if(w[M][0]===")"||w[M][0]==="CALL_END")z--;if(z===0)w[M][0]="CALL_END";M++}}}}}}if(D==="TYPE_ANNOTATION"){let h=w[i-1];if(!h)return 1;let A=f3(w,i+1),R=Y1(A),U=h,$="type";if(h[0]==="CALL_END"||h[0]===")"){let M=1,F=i-2;while(F>=0&&M>0){let H=w[F][0];if(H==="CALL_END"||H===")")M++;if(H==="CALL_START"||H==="(")M--;F--}if(F>=0)U=w[F];$="returnType"}else if(h[0]==="PARAM_END"){let M=i+1+A.consumed,F=w[M];if(F&&(F[0]==="->"||F[0]==="=>"))U=F;$="returnType"}else if(h[0]==="IDENTIFIER"&&i>=2&&w[i-2]?.[0]==="DEF")$="returnType";if(!U.data)U.data={};U.data[$]=R;for(let M of A)if(M[0]==="IDENTIFIER")n.add(M[1]);let z=1+A.consumed;return w.splice(i,z),0}if(D==="IDENTIFIER"&&l[1]==="type"){let h=w[i-1]?.[0];if(!(!h||h==="TERMINATOR"||h==="INDENT"||h==="EXPORT"))return 1;let R=i+1,U=w[R];if(!U||U[0]!=="IDENTIFIER")return 1;let $=U[1],z=h==="EXPORT",M=z?i-1:i,F=R+1;if(w[F]?.[0]==="COMPARE"&&w[F]?.[1]==="<"&&!w[F].spaced){let Y=l3(w,F);if(Y){if(!U.data)U.data={};U.data.typeParams=Y1(Y),w.splice(F,Y.length)}}if(w[F]?.[0]!=="=")return 1;let H=(Y)=>{let q=u("TYPE_DECL",$,U);if(q.data={name:$,typeText:Y,exported:z},U.data?.typeParams)q.data.typeParams=U.data.typeParams;return q},Q=F+1,O=w[Q],W=(Y,q)=>{for(let y=Y;y<=q&&y<w.length;y++)if(w[y][0]==="IDENTIFIER")n.add(w[y][1])};if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let Y=c5(w,Q);if(Y)return W(Q,Y.endIdx),w.splice(M,Y.endIdx-M+1,H(Y.typeText)),0}if(O&&O[0]==="INDENT"){let Y=y2(w,Q);return W(Q,Y),w.splice(M,Y-M+1,H(Y2(w,Q))),0}let K=f3(w,Q);return W(Q,Q+K.consumed-1),w.splice(M,Q+K.consumed-M,H(Y1(K))),0}if(D==="INTERFACE"){let h=i>=1&&w[i-1]?.[0]==="EXPORT",A=i+1,R=w[A];if(!R)return 1;let U=R[1],$=null,z=A+1;if(w[z]?.[0]==="EXTENDS")$=w[z+1]?.[1],z=z+2;if(w[z]?.[0]==="INDENT"){let M=Y2(w,z),F=y2(w,z);for(let W=z;W<=F&&W<w.length;W++)if(w[W][0]==="IDENTIFIER")n.add(w[W][1]);if($)n.add($);let H=u("TYPE_DECL",U,R);H.data={name:U,kind:"interface",extends:$,typeText:M,exported:h};let Q=h?i-1:i,O=F-Q+1;return w.splice(Q,O,H),0}return 1}return 1});for(let l=c.length-1;l>=0;l--){if(c[l][0]!=="DEF")continue;let i=c[l+1];if(!i||i[0]!=="IDENTIFIER")continue;let w=l+2;if(c[w]?.[0]!=="CALL_START")continue;let D=1;w++;while(w<c.length&&D>0){if(c[w][0]==="CALL_START")D++;if(c[w][0]==="CALL_END")D--;w++}let h=w-1,A=c[w];if(A&&A[0]!=="TERMINATOR")continue;let R=i.data?.returnType;if(!R){for(let H=l+2;H<=h;H++)if(c[H].data?.type){R=!0;break}}if(!R)continue;let U=c.slice(l,w+1),$=l>=1&&c[l-1]?.[0]==="EXPORT",z=$?l-1:l,M=w+1-z,F=u("TYPE_DECL",i[1],i);if(F.data={name:i[1],kind:"overload",overloadTokens:U,exported:$},i.data?.typeParams)F.data.typeParams=i.data.typeParams;c.splice(z,M,F)}}}function f3(f,_){let c=[],n=0,u=_;while(_<f.length){let l=f[_],i=l[0],w=i==="("||i==="["||i==="{"||i==="CALL_START"||i==="PARAM_START"||i==="INDEX_START"||i==="COMPARE"&&l[1]==="<",D=i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="PARAM_END"||i==="INDEX_END"||i==="COMPARE"&&l[1]===">";if(i==="SHIFT"&&l[1]===">>"&&n>=2){n-=2,c.push(l),_++;continue}if(w){n++,c.push(l),_++;continue}if(D){if(n>0){n--,c.push(l),_++;continue}break}if(n===0){if(i==="INDENT"&&c.length>0&&c[c.length-1][0]==="=>"){_++;let h=1;while(_<f.length&&h>0)if(f[_][0]==="INDENT")h++,_++;else if(f[_][0]==="OUTDENT")h--,_++;else c.push(f[_]),_++;continue}if(i==="="||i==="REACTIVE_ASSIGN"||i==="COMPUTED_ASSIGN"||i==="READONLY_ASSIGN"||i==="EFFECT"||i==="TERMINATOR"||i==="INDENT"||i==="OUTDENT"||i==="->"||i===",")break}c.push(l),_++}return c.consumed=_-u,c}function Y1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let _=f.map((c)=>c[1]).join(" ").replace(/\s+/g," ").trim();return _=_.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": ").replace(/ : /g,": "),_}function l3(f,_){if(_>=f.length)return null;let c=f[_];if(c[0]!=="COMPARE"||c[1]!=="<")return null;let n=[c],u=1,l=_+1;while(l<f.length&&u>0){let i=f[l];if(n.push(i),i[0]==="COMPARE"&&i[1]==="<")u++;else if(i[0]==="COMPARE"&&i[1]===">")u--;l++}return u===0?n:null}function Y2(f,_){let c=[],n=_+1,u=1;while(n<f.length&&u>0){let l=f[n];if(l[0]==="INDENT"){u++,n++;continue}if(l[0]==="OUTDENT"){if(u--,u===0)break;n++;continue}if(l[0]==="TERMINATOR"){n++;continue}if(u===1&&l[0]==="["){let w=[];n++;while(n<f.length&&f[n][0]!=="]")w.push(f[n]),n++;if(n++,f[n]?.[1]===":"||f[n]?.[0]==="TYPE_ANNOTATION")n++;let D=[];while(n<f.length){let R=f[n];if(R[0]==="TERMINATOR"||R[0]==="OUTDENT")break;D.push(R),n++}let h=Y1(w),A=Y1(D);c.push(`[${h}]: ${A}`);continue}let i=l[0]==="PROPERTY"||l[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test(l[1])&&f[n+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&i){let w=l[1],D=!1,h=!1;if(n++,w==="readonly"&&f[n]&&(f[n][0]==="PROPERTY"||f[n][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[n][1])&&f[n+1]?.[0]==="TYPE_ANNOTATION")){if(h=!0,w=f[n][1],f[n].data?.predicate)D=!0;n++}if(l.data?.predicate)D=!0;if(f[n]?.[1]==="?"&&!f[n]?.spaced)D=!0,n++;if(f[n]?.[1]===":"||f[n]?.[0]==="TYPE_ANNOTATION")n++;let A=[],R=0;while(n<f.length){let F=f[n];if(F[0]==="IDENTIFIER"&&F[1]==="type"&&f[n+1]?.[0]==="INDENT"){n++;let H=Y2(f,n);A.push(["",H]);let Q=1;n++;while(n<f.length&&Q>0){if(f[n][0]==="INDENT")Q++;if(f[n][0]==="OUTDENT")Q--;n++}continue}if(F[0]==="INDENT"){R++,n++;continue}if(F[0]==="OUTDENT"){if(R>0){R--,n++;continue}break}if(F[0]==="TERMINATOR"&&R===0)break;A.push(F),n++}let U=Y1(A),$=h?"readonly ":"",z=D?"?":"",M=!1;if(!D&&U.startsWith("(")){let F=0;for(let H=0;H<U.length;H++){let Q=U[H];if(Q==="(")F++;else if(Q===")"){if(F--,F===0){let O=U.slice(H+1).trimStart();if(O===""||O.startsWith(":")&&!O.startsWith("::"))M=!0;break}}}}if(M)c.push(`${$}${w}${U}`);else c.push(`${$}${w}${z}: ${U}`)}else n++}return"{ "+c.join("; ")+" }"}function y2(f,_){let c=0;for(let n=_;n<f.length;n++){if(f[n][0]==="INDENT")c++;if(f[n][0]==="OUTDENT"){if(c--,c===0)return n}}return f.length-1}function c5(f,_){let c=_;if(f[c]?.[0]==="TERMINATOR")c++;if(f[c]?.[0]!=="INDENT")return null;let n=c;c++;while(c<f.length&&f[c][0]==="TERMINATOR")c++;if(!f[c]||f[c][1]!=="|")return null;let u=[],l=1;c=n+1;while(c<f.length&&l>0){let w=f[c];if(w[0]==="INDENT"){l++,c++;continue}if(w[0]==="OUTDENT"){if(l--,l===0)break;c++;continue}if(w[0]==="TERMINATOR"){c++;continue}if(w[1]==="|"&&l===1){c++;let D=[];while(c<f.length){let h=f[c];if(h[0]==="TERMINATOR"||h[0]==="OUTDENT"||h[1]==="|"&&l===1)break;D.push(h),c++}if(D.length>0)u.push(Y1(D));continue}c++}if(u.length===0)return null;let i=y2(f,n);return{typeText:u.join(" | "),endIdx:i}}var c3=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"]),n3=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),q2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},i3=new Set(Object.keys(q2)),n5=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),i5=new Set(["break","continue","debugger"]),h5=new Set(["NEW","TYPEOF","DELETE"]),w5=new Set(["IN","OF","INSTANCEOF"]),h2=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),w2=new Set([...h2,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),n2=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"]),D5=new Set(["+","-"]),A5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),U5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),y1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),H1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),R5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},h3=new Set(["CATCH","THEN","ELSE","FINALLY",...H1]),Z2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),$5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),F5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),M5=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),w3=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),z5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),B1=new Set(["INDENT","OUTDENT","TERMINATOR"]),J1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",i2=(f,_)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&_?.spaced===!1&&!_?.newLine;return!1},D3=new Set([".","?."]),A3=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),O5=new Set([...w2,"++","--"]),U3=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),W5=new Set(["*","/","%","//","%%"]),H5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),K5=new Set(["<<",">>",">>>"]),Q5=new Set(["!","~"]),Y5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,y5=/^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,Z5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,q5=/^[^\n\S]+/,J5=/^(?:\n[^\n\S]*)+/,G5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,X5=/^[-=]>/,P5=/^(?:~[=>]|=!)/,S5=/^(?:'''\\|"""\\|'''|"""|'|")/,b5=/^(?:[^\\']|\\[\s\S])*/,E5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,N5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,I5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,R3=/\n+([^\n\S]*)(?=\S)/g,B5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,$3=/^\w*/,T5=/^(?!.*(.).*\1)[gimsuy]*$/,a5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,L5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,C5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,r5=/\s+$/,F3=/^\s*(?:,|\??\.(?![.\d]))/,j5=65279;function D2(f,_,{pre:c=0,row:n=0,col:u=0,len:l=0,data:i=null}={}){let w=[f,_];return w.pre=c,w.data=i,w.loc={r:n,c:u,n:l},w.spaced=c>0,w.newLine=!1,w}function z1(f,_,c){let n=D2(f,_);if(n.generated=!0,c)n.origin=c;return n}function O1(f,{row:_=0,col:c=0,len:n=1}={}){let u=SyntaxError(f);throw u.location={first_line:_,first_column:c,last_column:c+n-1},u}function m5(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,_={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=_.row||0,this.col=_.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let c=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(c===0)O1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(c),_.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let c=this.ends[this.ends.length-1];O1(`missing ${c.tag}`,{row:this.row,col:this.col})}if(_.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===j5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
1033
|
-
`),f=f.replace(
|
|
1034
|
-
`+f;return f}advance(f){let _=this.code.slice(this.pos,this.pos+f);for(let
|
|
1035
|
-
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,_,{len:
|
|
1036
|
-
`)return 0;let _=this.prev();if(_)if(f)_.spaced=!0,_.pre=f[0].length;else _.newLine=!0;return f?f[0].length:0}lineToken(){let f=
|
|
1037
|
-
`);if(this.isUnfinished()){if(
|
|
1038
|
-
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&
|
|
1039
|
-
`)u--;u++;let l=this.chunk.slice(u,n),
|
|
1040
|
-
`)}if(l===0&&_?.length===3)D=D.replace(/^\n/,"");if(l===f.length-1&&_?.length===3)D=D.replace(/\n[^\S\n]*$/,"");if(u)D=D.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${D}"`,{len:w.length,data:{quote:_}})}}if(f.length>1)this.emit("STRING_END",")",{len:_?.length||0});return n}numberToken(){let f=y5.exec(this.chunk);if(!f)return 0;let _=f[0],c=_.length,n={row:this.row,col:this.col};if(/^0[BOX]/.test(_))O1(`radix prefix in '${_}' must be lowercase`,{...n,col:n.col+1});if(/^0\d*[89]/.test(_))O1(`decimal literal '${_}' must not be prefixed with '0'`,{...n,len:c});if(/^0\d+/.test(_))O1(`octal literal '${_}' must be prefixed with '0o'`,{...n,len:c});let u=m5(_),l=u===1/0?"INFINITY":"NUMBER",i={parsedValue:u};if(l==="INFINITY")i.original=_;return this.emit(l,_,{len:c,data:i}),c}regexToken(){let f=this.matchWithInterpolations(a5,"///");if(f){let{tokens:h,index:A}=f,[R]=$3.exec(this.chunk.slice(A)),U=A+R.length;if(h.length===1||!h.some(($)=>$[0]==="TOKENS")){let $=(h[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${$}/${R}`,{len:U,data:{delimiter:"///",heregex:{flags:R}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(h,{quote:"///",endOffset:U-R.length}),R)this.emit(",",",",{len:0}),this.emit("STRING",`"${R}"`,{len:R.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return U}let _=B5.exec(this.chunk);if(!_)return 0;let[c,n,u]=_,l=this.prev();if(l){if(l.spaced&&h2.has(l[0])&&(!u||/^\/=?\s/.test(c)))return 0;if(O5.has(l[0])&&!(l.spaced&&h2.has(l[0])))return 0}if(!u)O1("missing / (unclosed regex)",{row:this.row,col:this.col});let i=c.length,[w]=$3.exec(this.chunk.slice(i)),D=i+w.length;if(!T5.test(w))O1(`invalid regular expression flags ${w}`,{row:this.row,col:this.col+i,len:w.length});return this.emit("REGEX",`/${n}/${w}`,{len:D,data:{delimiter:"/"}}),D}jsToken(){if(this.chunk[0]!=="`")return 0;let f=C5.exec(this.chunk)||L5.exec(this.chunk);if(!f)return 0;let _=f[1],c=f[0].length;return this.emit("JS",_,{len:c,data:{here:f[0].startsWith("```")}}),c}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let c={"[":"]","(":")","{":"}","<":">"}[f]||f,n=c!==f,u=1,l=3;while(l<this.chunk.length&&u>0){let h=this.chunk[l];if(h==="\\"){l+=2;continue}if(n&&h===f)u++;if(h===c)u--;if(u>0)l++}if(u!==0)return 0;let i=this.chunk.slice(3,l),w=l+1,D=[];if(i.trim()){let h=i.trim().split(/(?<!\\)\s+/);for(let A of h)D.push(A.replace(/\\ /g," "))}this.emit("[","[",{len:w});for(let h=0;h<D.length;h++){if(h>0)this.emit(",",",");this.emit("STRING",`"${D[h]}"`)}return this.emit("]","]"),w}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 _=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!_)return 0;let c=_[1],n=c.length+1;return this.emit("SYMBOL",c,{len:n}),n}literalToken(){let f=this.wordLiteral();if(f)return f;let _=this.symbolToken();if(_)return _;let c=Z5.exec(this.chunk),n=c?c[0]:this.chunk.charAt(0),u=n,l=this.prev();if(X5.test(n))this.tagParameters();if(n==="="&&l&&l[1]==="."&&!l.spaced){let i=this.tokens,w=i.length-2;while(w>=1&&i[w][0]==="PROPERTY"&&i[w-1]?.[1]===".")w-=2;if(w>=0&&(i[w][0]==="IDENTIFIER"||i[w][0]===")"||i[w][0]==="]")){let D=i.slice(w,i.length-1);l[0]="=",l[1]="=";for(let h of D)this.tokens.push(D2(h[0],h[1],{pre:0,row:h[2],col:h[3],len:h[4]}));return this.tokens.push(D2(".",".",{pre:0,row:this.row,col:this.col,len:1})),n.length}}if(l&&(n==="="||U3.has(n))){if(n==="="&&(l[1]==="||"||l[1]==="&&"||l[1]==="??")&&!l.spaced)return l[0]="COMPOUND_ASSIGN",l[1]+="=",n.length}if(n==="("&&l?.[0]==="IMPORT")l[0]="DYNAMIC_IMPORT";if(n==="{"&&this.seenImport)this.importSpecifierList=!0;if(n==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(n==="{"&&l?.[0]==="EXPORT")this.exportSpecifierList=!0;if(n==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(n===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(n==="|>")u="PIPE";else if(n==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(n==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(n==="~=")u="COMPUTED_ASSIGN";else if(n===":=")u="REACTIVE_ASSIGN";else if(n==="<=>")u="BIND";else if(n==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(n==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(n==="*>"&&(!l||l[0]==="TERMINATOR"||l[0]==="INDENT"||l[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let i=this.chunk.slice(2),w=/^@(\s*)=(?!=)/.exec(i);if(w){let h=w[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let A=this.emit("PROPERTY","assign");return A.spaced=!0,this.emit("@","@"),this.emit(",",","),3+h.length+1}let D=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(i);if(D){let h=D[1],A=D[2],R=h[0]==="@",U=R?h.slice(1):h,$=U?U.split("."):[],z=()=>{if(R){if(this.emit("@","@"),$.length>0)this.emit("PROPERTY",$[0])}else this.emit("IDENTIFIER",$[0]);for(let F=1;F<$.length;F++)this.emit(".","."),this.emit("PROPERTY",$[F])};z(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),z(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let M=this.prev();return M.mergeClose=!0,2+h.length+A.length+1}}else if(n==="*"&&l?.[0]==="EXPORT")u="EXPORT_ALL";else if(W5.has(n))u="MATH";else if(H5.has(n))u="COMPARE";else if(U3.has(n))u="COMPOUND_ASSIGN";else if(Q5.has(n))u="UNARY_MATH";else if(K5.has(n))u="SHIFT";else if(n==="?"&&l?.spaced)u="TERNARY";else if(n==="?!"&&l&&!l.spaced)u="PRESENCE";else if(n==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if(l){if(n==="("&&!l.spaced&&h2.has(l[0])){if(l[0]==="?.")l[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(n==="["&&!l.spaced&&w2.has(l[0])){if(u="INDEX_START",l[0]==="?.")l[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(n==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(n==="="){let i=this.tokens.length;if(i>=2&&this.tokens[i-1][0]==="IDENTIFIER"&&this.tokens[i-2][0]==="IDENTIFIER"&&this.tokens[i-2][1]==="type"&&(i===2||this.tokens[i-3][0]==="TERMINATOR"||this.tokens[i-3][0]==="INDENT"||this.tokens[i-3][0]==="OUTDENT"||this.tokens[i-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(n==="("||n==="{"||n==="[")this.ends.push({tag:R5[n],origin:[u,n]});else if(n===")"||n==="}"||n==="]")this.pair(n);return this.emit(u,n,{len:n.length}),n.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,_=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let c=this.tokens[f];if(c[0]===")")_.push(c);else if(c[0]==="("||c[0]==="CALL_START")if(_.length)_.pop();else if(c[0]==="(")return c[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let _=this.tokens[f??this.tokens.length-1];if(_?.[0]==="DO")_[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.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 _=0;_<f.length;_++){if(f[_][0]!=="MATH"||f[_][1]!=="*")continue;let c=f[_+1];if(!c||c[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let n=f[_-1];if(n&&w2.has(n[0]))continue;f.splice(_,1),f[_][0]="MAP_START";let u=1;for(let l=_+1;l<f.length&&u>0;l++){let i=f[l][0];if(i==="{"||i==="MAP_START")u++;if(i==="}"){if(u--,u===0)f[l][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let _=0;_<f.length;_++){let c=f[_][0];if(c!=="."&&c!=="?.")continue;let n=f[_+1];if(!n||n[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let u=f[_-1];if(!u||!w2.has(u[0]))continue;let l=c==="?.";f.splice(_,1),f[_][0]=l?"OPTPICK_START":"PICK_START";let i=1;for(let w=_+1;w<f.length&&i>0;w++){let D=f[w][0];if(D==="{"||D==="PICK_START"||D==="OPTPICK_START")i++;else if(D==="}"){if(i--,i===0){f[w][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,_)=>{if(f[0]==="CALL_START")this.detectEnd(_+1,(c)=>c[0]===")"||c[0]==="CALL_END",(c)=>c[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,_)=>{if(f[0]==="INDEX_START")this.detectEnd(_+1,(c)=>c[0]==="]"||c[0]==="INDEX_END",(c,n)=>{if(this.tokens[n+1]?.[0]===":")f[0]="[",c[0]="]";else c[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,_=null,c=null,n=(l,i)=>{return l[1]!==";"&&z5.has(l[0])&&!(l[0]==="TERMINATOR"&&h3.has(this.tokens[i+1]?.[0]))&&!(l[0]==="ELSE"&&f!=="THEN")||l[0]==="INDENT"&&!l.generated&&(f==="->"||f==="=>")||l[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(i)&&!this.commaInImplicitObject(i)||D3.has(l[0])&&(this.tokens[i-1]?.newLine||this.tokens[i-1]?.[0]==="OUTDENT")},u=(l,i)=>{let w=this.tokens[i-1]?.[0]===","?i-1:i;this.tokens.splice(w,0,c)};this.scanTokens((l,i,w)=>{let[D]=l;if(D==="TERMINATOR"){if(this.tokens[i+1]?.[0]==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")return w.splice(i,1,...this.makeIndentation()),1;if(h3.has(this.tokens[i+1]?.[0]))return w.splice(i,1),0}if(D==="CATCH")for(let h=1;h<=2;h++){let A=this.tokens[i+h]?.[0];if(A==="OUTDENT"||A==="TERMINATOR"||A==="FINALLY")return w.splice(i+h,0,...this.makeIndentation()),2+h}if((D==="->"||D==="=>")&&(this.tokens[i+1]?.[0]===","||this.tokens[i+1]?.[0]==="]"))return[_,c]=this.makeIndentation(),w.splice(i+1,0,_,c),1;if(w3.has(D)&&this.tokens[i+1]?.[0]!=="INDENT"&&!(D==="ELSE"&&this.tokens[i+1]?.[0]==="IF")&&!(D==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")){if(f=D,[_,c]=this.makeIndentation(),D==="THEN")_.fromThen=!0;if(w.splice(i+1,0,_),D==="THEN"&&this.singleLineOwner(i)==="LEADING_WHEN")this.detectWhenThenEnd(i+2,n,u);else this.detectEnd(i+2,n,u);if(D==="THEN")w.splice(i,1);return 1}return 1})}singleLineOwner(f){let _=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let c=f-1;c>=0;c--){let n=this.tokens[c],u=n?.[0];if(_.has(u))return u;if(B1.has(u)||n?.newLine)return null}return null}detectWhenThenEnd(f,_,c){let n=0,u=0;while(f<this.tokens.length){let l=this.tokens[f],i=l[0];if(n===0){if(i==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(i==="ELSE"&&u>0)u--;else if(_.call(this,l,f))return c.call(this,l,f)}if(y1.has(i))n++;if(H1.has(i))n--;if(n<0)return c.call(this,l,f);f++}}tagPostfixConditionals(){let f=null,_=(n,u)=>{return n[0]==="TERMINATOR"||n[0]==="INDENT"&&!w3.has(this.tokens[u-1]?.[0])},c=(n)=>{if(n[0]!=="INDENT"||n.generated&&!n.fromThen)f[0]="POST_"+f[0]};this.scanTokens((n,u)=>{if(n[0]!=="IF"&&n[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=n,this.detectEnd(u+1,_,c),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let _=f.length-2;_>=0;_--)if(f[_][0]==="IDENTIFIER"&&f[_][1]==="$"&&(f[_+1]?.[0]==="STRING"||f[_+1]?.[0]==="STRING_START")){let c=f[_-1];if(c&&$5.has(c[0])){if(f.splice(_,1),c.spaced=!1,f[_].spaced=!1,f[_].pre=0,f[_].newLine)f[_].newLine=!1}}}addImplicitBracesAndParens(){let f=[],_=!1;this.scanTokens((c,n,u)=>{let[l]=c,i=u[n-1]||[],w=u[n+1]||[],[D]=i,[h]=w,A=n,R=(Z)=>n-A+Z,U=()=>f[f.length-1],$=(Z)=>Z?.[2]?.ours,z=()=>$(U())&&U()?.[0]==="(",M=()=>$(U())&&U()?.[0]==="{",F=(Z)=>{f.push(["(",Z,{ours:!0}]),u.splice(Z,0,z1("CALL_START","("))},H=()=>{f.pop(),u.splice(n,0,z1("CALL_END",")")),n+=1},Q=(Z,J={})=>{f.push(["{",Z,{sameLine:!0,startsLine:J.startsLine??!0,ours:!0}]);let X=z1("{","{");if(!X.data)X.data={};X.data.generated=!0,u.splice(Z,0,X)},O=(Z)=>{Z=Z??n,f.pop(),u.splice(Z,0,z1("}","}")),n+=1},W=l==="FOR"&&!c.newLine&&M5.has(D);if((z()||M())&&F5.has(l)&&!W)return f.push(["CONTROL",n,{ours:!0}]),R(1);if(l==="INDENT"&&$(U())){if(D!=="=>"&&D!=="->"&&D!=="["&&D!=="("&&D!==","&&D!=="{"&&D!=="ELSE"&&D!=="=")while(z()||M()&&D!==":")if(z())H();else O();if(U()?.[2]?.ours&&U()[0]==="CONTROL")f.pop();return f.push([l,n]),R(1)}if(y1.has(l))return f.push([l,n]),R(1);if(H1.has(l)){while($(U()))if(z())H();else if(M())O();else f.pop();f.pop()}let K=!1;if(h==="-"&&!w.spaced&&!w.newLine&&J1(c))for(let Z=n;Z<u.length-2;Z+=2){if(!i2(u[Z+1],u[Z+2]))break;if(!J1(u[Z+2]))break;if(u[Z+3]?.[0]===":"){K=!0;break}}if(!K&&Z2.has(l)&&c.spaced&&(n2.has(h)||h==="..."&&n2.has(u[n+2]?.[0])||D5.has(h)&&!w.spaced&&!w.newLine)&&!((l==="]"||l==="}")&&(h==="->"||h==="=>")))return F(n+1),R(2);if(Z2.has(l)&&this.tokens[n+1]?.[0]==="INDENT"&&this.looksObjectish(n+2)&&!this.findTagsBackwards(n,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return F(n+1),f.push(["INDENT",n+2]),R(3);if(l==="TERNARY")_=!0;if(l===":"){if(_)return _=!1,R(1);if(J1(u[n-1])&&i2(u[n-2],u[n-1])){let X=n-2;while(X>=2&&i2(u[X],u[X+1])&&J1(u[X-1]))X-=2;if(X+=1,J1(u[X])){let N="";for(let I=X;I<n;I++)N+=u[I][1];let S=z1("STRING",`"${N}"`,u[X]);S.pre=u[X].pre,S.spaced=u[X].spaced,S.newLine=u[X].newLine,S.loc=u[X].loc,u.splice(X,n-X,S),n=X+1}}let Z=H1.has(this.tokens[n-1]?.[0])?f[f.length-1]?.[1]??n-1:n-1;if(this.tokens[n-2]?.[0]==="@")Z=n-2;let J=Z<=0||B1.has(this.tokens[Z-1]?.[0])||this.tokens[Z-1]?.newLine;if(U()){let[X,N]=U(),S=f[f.length-2],I=(o)=>o==="{"||o==="MAP_START"||o==="PICK_START"||o==="OPTPICK_START";if((I(X)||X==="INDENT"&&I(S?.[0])&&!$(S))&&(J||this.tokens[Z-1]?.[0]===","||I(this.tokens[Z-1]?.[0])||I(this.tokens[Z]?.[0])))return R(1)}return Q(Z,{startsLine:!!J}),R(2)}if(B1.has(l))for(let Z=f.length-1;Z>=0;Z--){if(!$(f[Z]))break;if(f[Z][0]==="{")f[Z][2].sameLine=!1}let Y=D==="OUTDENT"||i.newLine,q=l==="||"||l==="&&",y=!1;if(q){let Z=n+1,J=u[Z]?.[0];if(J==="("||J==="["||J==="{"){for(let X=1;++Z<u.length&&X>0;)if(J=u[Z][0],J==="("||J==="["||J==="{")X++;else if(J===")"||J==="]"||J==="}")X--}else if(J&&J!=="TERMINATOR"&&J!=="OUTDENT"&&J!==",")Z++;y=u[Z]?.[0]===","}if(A5.has(l)&&!y||D3.has(l)&&Y)while($(U())){let[Z,,{sameLine:J,startsLine:X}]=U();if(z()&&D!==",")H();else if(M()&&!q&&J&&l!=="TERMINATOR"&&D!==":")O();else if(M()&&l==="TERMINATOR"&&D!==","&&!(X&&this.looksObjectish(n+1)))O();else if(U()?.[2]?.ours&&U()[0]==="CONTROL"&&u[U()[1]]?.[0]==="CLASS"&&l==="TERMINATOR")f.pop();else break}if(l===","&&!this.looksObjectish(n+1)&&M()&&(h!=="TERMINATOR"||!this.looksObjectish(n+2))){let Z=h==="OUTDENT"?1:0;while(M())O(n+Z)}return R(1)})}addImplicitCallCommas(){let f=0,_=0,c=this.tokens;while(_<c.length){let n=c[_][0],u=_>0?c[_-1][0]:null;if(n==="CALL_START"||n==="(")f++;if(n==="CALL_END"||n===")")f--;if(f>0&&(n==="->"||n==="=>")&&U5.has(u))c.splice(_,0,z1(",",",")),_++;_++}}scanTokens(f){let _=0;while(_<this.tokens.length)_+=f.call(this,this.tokens[_],_,this.tokens)}detectEnd(f,_,c,n={}){let u=0;while(f<this.tokens.length){let l=this.tokens[f];if(u===0&&_.call(this,l,f))return c.call(this,l,f);if(y1.has(l[0]))u++;if(H1.has(l[0]))u--;if(u<0){if(n.returnOnNegativeLevel)return;return c.call(this,l,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let _=0;_<f.length;_++){if(!f[_].mergeClose)continue;let c=0;for(let n=_+1;n<f.length;n++){let u=f[n][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")c++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")c--;if(c<0||c===0&&u==="TERMINATOR"){f.splice(n,0,z1("CALL_END",")",f[n-1]));break}if(n===f.length-1){f.splice(n+1,0,z1("CALL_END",")",f[n]));break}}}}commaInImplicitCall(f){let _=0;for(let c=f-1;c>=0;c--){let n=this.tokens[c][0];if(H1.has(n)){_++;continue}if(y1.has(n)){if(n==="INDENT")return!1;if(_--,_<0)return!1;continue}if(_>0)continue;if(Z2.has(n)&&this.tokens[c].spaced){let u=this.tokens[c+1]?.[0];return n2.has(u)||u==="..."&&n2.has(this.tokens[c+2]?.[0])}}return!1}commaInImplicitObject(f){let _=0;for(let c=f-1;c>=0;c--){let n=this.tokens[c][0];if(H1.has(n)){_++;continue}if(y1.has(n)){if(_--,_<0)return!1;continue}if(_>0)continue;if(n===":"&&c>0&&this.tokens[c-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(B1.has(n))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(J1(this.tokens[f]))for(let _=f+1;_<this.tokens.length;_+=2){if(!i2(this.tokens[_],this.tokens[_+1]))break;if(!J1(this.tokens[_+1]))break;if(this.tokens[_+2]?.[0]===":")return!0}if(y1.has(this.tokens[f]?.[0])){let _=null;if(this.detectEnd(f+1,(c)=>H1.has(c[0]),(c,n)=>_=n),_&&this.tokens[_+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,_){let c=new Set(_),n=[];while(f>=0){let u=this.tokens[f]?.[0];if(!n.length&&c.has(u))return!0;if(H1.has(u))n.push(u);if(y1.has(u)&&n.length)n.pop();if(!n.length&&(y1.has(u)&&!this.tokens[f]?.generated||B1.has(u)))break;f--}return!1}makeIndentation(f){let _=z1("INDENT",2),c=z1("OUTDENT",2);if(f)_.generated=c.generated=!0,_.origin=c.origin=f;else _.explicit=c.explicit=!0;return[_,c]}}_3(K1);c2(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"],M3=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 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"],s5=["math","param","portal"],z3=new Set([...g5,...s5]),G1=new Set(v5),X1=new Set([...z3,...G1]);var O3="__bind_",W3="__",J2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),t5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),G2="http://www.w3.org/2000/svg";function o5(f){for(let _ of f){if(!Array.isArray(_))continue;let c=_[1]instanceof String?_[1].valueOf():_[1],n=_[2]instanceof String?_[2].valueOf():_[2];if(c==="type"&&typeof n==="string")return n.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 X2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function P2(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 H3(f,_){let c=(h,A)=>h instanceof String?h[A]:void 0,n=_.prototype.classifyKeyword;_.prototype.classifyKeyword=function(h,A,R){if(h==="offer"||h==="accept"){let U=0;for(let $=this.tokens.length-1;$>=0;$--){let z=this.tokens[$][0];if(z==="OUTDENT")U++;else if(z==="INDENT")U--;if(U<0&&this.tokens[$-1]?.[0]==="COMPONENT")return h.toUpperCase()}return A}return n.call(this,h,A,R)},_.prototype.rewriteRender=function(){let h=(O,W,K)=>{let Y=[O,W];if(Y.pre=0,Y.data=null,Y.loc=K?.loc??{r:0,c:0,n:0},Y.spaced=!1,Y.newLine=!1,Y.generated=!0,K)Y.origin=K;return Y},A=!1,R=0,U=0,$=[],z=(O)=>{let W=O.split("#")[0];return X1.has(W)},M=(O)=>{if(!O||typeof O!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(O)},F=(O)=>{return z(O)||M(O)},H=(O,W,K,Y)=>{let q=1,y=W;while(y>=0&&q>0){let Z=O[y][0];if(Z===K)q++;else if(Z===Y)q--;if(q>0)y--}return y},Q=(O,W)=>{let K=W;while(K>0){let Y=O[K-1][0];if(Y==="TERMINATOR"||Y==="RENDER")break;if(Y==="INDENT"||Y==="OUTDENT"){let q=O[K][0];if(q==="CALL_END"||q===")"){K=H(O,K-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(Y==="CALL_END"||Y===")"){K=H(O,K-2,Y,Y==="CALL_END"?"CALL_START":"(");continue}if(Y==="INTERPOLATION_END"){K=H(O,K-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Y==="STRING_END"){K=H(O,K-2,"STRING_END","STRING_START");continue}K--}return O[K]&&O[K][0]==="IDENTIFIER"&&(F(O[K][1])||(K===0||O[K-1][0]==="INDENT"||O[K-1][0]==="TERMINATOR"||O[K-1][0]==="RENDER"))};this.scanTokens(function(O,W,K){let Y=O[0],q=W<K.length-1?K[W+1]:null;if(Y==="RENDER")return A=!0,R=U+1,1;if(Y==="INDENT")return U++,1;if(Y==="OUTDENT"){U--;let y=0;while($.length>0&&$[$.length-1]>U){let Z=h("CALL_END",")",O);K.splice(W+1+y,0,Z),$.pop(),y++}if(A&&U<R)A=!1;return 1+y}if(!A)return 1;if(Y==="="&&W>0){let y=K[W-1][0];if(y==="TERMINATOR"||y==="INDENT"||y==="RENDER"){let Z=h("IDENTIFIER","__text__",O),J=h("CALL_START","(",O);return K.splice(W,1,Z,J),this.detectEnd(W+2,(X)=>X[0]==="TERMINATOR"||X[0]==="OUTDENT",(X,N)=>K.splice(N,0,h("CALL_END",")",X)),{returnOnNegativeLevel:!0}),2}}if(Y==="UNARY_MATH"&&O[1]==="~"&&q&&q[0]==="IDENTIFIER"){O[0]="PROPERTY",O[1]="__transition__";let y=h(":",":",O),Z=h("STRING",`"${q[1]}"`,q);return K.splice(W+1,1,y,Z),1}if(Y==="PROPERTY"&&O[1][0]==="$"&&O[1].length>1)return O[0]="STRING",O[1]=`"data-${O[1].slice(1)}"`,1;if(Y==="IDENTIFIER"&&!O.spaced){let y=[O[1]],Z=W+1;while(Z+1<K.length){let J=K[Z],X=K[Z+1];if(J[0]==="-"&&!J.spaced&&(X[0]==="IDENTIFIER"||X[0]==="PROPERTY")){if(y.push(X[1]),Z+=2,X[0]==="PROPERTY")break}else break}if(y.length>1&&Z>W+1&&K[Z-1][0]==="PROPERTY"){let J=y.join("-");if(J[0]==="$")J="data-"+J.slice(1);return O[0]="STRING",O[1]=`"${J}"`,K.splice(W+1,Z-W-1),1}}if(Y==="."){let y=W>0?K[W-1]:null,Z=y?y[0]:null;if(Z==="INDENT"||Z==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let J=W+2<K.length?K[W+2]:null;if(!J||J[0]!==":"){let X=h("IDENTIFIER","div",O);return K.splice(W,0,X),2}}if(!q||q[0]!=="(")return O[0]="IDENTIFIER",O[1]="div",0}}if(Y==="IDENTIFIER"||Y==="PROPERTY"){let y=K[W+1],Z=K[W+2];if(y&&y[0]==="#"&&Z&&(Z[0]==="PROPERTY"||Z[0]==="IDENTIFIER")){if(O[1]=O[1]+"#"+Z[1],Z.spaced)O.spaced=!0;return K.splice(W+1,2),0}}if(Y==="BIND"){let y=W>0?K[W-1]:null,Z=K[W+1];if(y&&(y[0]==="IDENTIFIER"||y[0]==="PROPERTY")&&Z&&Z[0]==="IDENTIFIER")return y[1]=`__bind_${y[1]}__`,O[0]=":",O[1]=":",1}if(Y==="@"){let y=W+1;if(y<K.length&&K[y][0]==="PROPERTY"){y++;while(y+1<K.length&&K[y][0]==="."&&K[y+1][0]==="PROPERTY")y+=2;if(y>W+2&&y<K.length&&K[y][0]===":"){let Z=h("[","[",O);K.splice(W,0,Z);let J=h("]","]",K[y+1]);return K.splice(y+1,0,J),2}}}if(Y==="."&&q&&q[0]==="("){let y=W>0?K[W-1]:null,Z=y?y[0]:null,J=Z==="INDENT"||Z==="TERMINATOR",X=h("PROPERTY","__clsx",O);q[0]="CALL_START";let N=1;for(let S=W+2;S<K.length&&N>0;S++)if(K[S][0]==="("||K[S][0]==="CALL_START")N++;else if(K[S][0]===")"){if(N--,N===0)K[S][0]="CALL_END"}else if(K[S][0]==="CALL_END")N--;if(J){let S=h("IDENTIFIER","div",O);return K.splice(W,0,S),K.splice(W+2,0,X),3}else if(Z===":")return K[W]=h("IDENTIFIER","__clsx",O),1;else return K.splice(W+1,0,X),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(Y==="->"||Y==="=>"||Y==="CALL_START"||Y==="(")return 1;let y=!1,Z=W>0?K[W-1][0]:null,J=Z==="IF"||Z==="UNLESS"||Z==="WHILE"||Z==="UNTIL"||Z==="WHEN"||Z==="FORIN"||Z==="FOROF"||Z==="FORAS"||Z==="FORASAWAIT"||Z==="BY",X=!1;if(Y==="CALL_END"){let S=1;for(let I=W-1;I>=0&&S>0;I--)if(K[I][0]==="CALL_END")S++;else if(K[I][0]==="CALL_START"){if(S--,S===0&&I>0&&K[I-1][0]==="PROPERTY"&&K[I-1][1]==="__clsx")X=!0}}let N=Y==="IDENTIFIER"&&(Z==="INDENT"||Z==="TERMINATOR"||Z==="RENDER");if(X)y=!0;else if(Y==="IDENTIFIER"&&F(O[1])&&!J)y=!0;else if(Y==="IDENTIFIER"&&!J)y=N||Q(K,W);else if(Y==="PROPERTY"||Y==="STRING"||Y==="STRING_END"||Y==="NUMBER"||Y==="BOOL"||Y==="CALL_END"||Y===")"||Y==="PRESENCE")y=Q(K,W);if(y){let S=!1;if(Y==="PROPERTY"&&W>0&&K[W-1][0]==="."){let o=W;while(o>=2&&K[o-1][0]==="."&&K[o-2][0]==="PROPERTY")o-=2;if(o>=2&&K[o-1][0]==="."&&K[o-2][0]==="IDENTIFIER"&&F(K[o-2][1])){let T=o>=3?K[o-3][0]:null;if(!T||T==="INDENT"||T==="OUTDENT"||T==="TERMINATOR"||T==="RENDER")S=!0}}if(X||Y==="IDENTIFIER"&&(F(O[1])||N)||S){let o=h("CALL_START","(",O),T=h("->","->",O);return T.newLine=!0,K.splice(W+1,0,o,T),$.push(U+1),3}else{let o=h(",",",",O),T=h("->","->",O);return T.newLine=!0,K.splice(W+1,0,o,T),3}}}if(Y==="IDENTIFIER"&&M(O[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return K.splice(W+1,0,h("CALL_START","(",O),h("CALL_END",")",O)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(h){let A=h.split("#")[0];return X1.has(A.toLowerCase())},u.isComponent=function(h){if(!h||typeof h!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(h)},u.collectTemplateClasses=function(h){let A=[],R=h;while(this.is(R,".")){let M=R[2];if(typeof M==="string"||M instanceof String)A.unshift(M.valueOf());R=R[1]}let U=typeof R==="string"?R:R instanceof String?R.valueOf():null;if(U===null)return{tag:null,classes:A,id:void 0,base:R};let[$,z]=U.split("#");if(!$)$="div";return{tag:$,classes:A,id:z,base:R}};let l=(h)=>typeof h==="string"?h:h instanceof String?h.valueOf():null,i=(h,A)=>{if(!(h instanceof String))return A;let R=new String(A);if(h.predicate)R.predicate=!0;if(h.await)R.await=!0;return R.predicate||R.await?R:A};u.transformComponentMembers=function(h,A=new Set){let R=this._self;if(!Array.isArray(h)){let U=l(h);if(U&&A.has(U))return h;if(U&&this.reactiveMembers&&this.reactiveMembers.has(U))return[".",[".",R,U],i(h,"value")];if(U&&this.componentMembers&&this.componentMembers.has(U))return[".",R,i(h,U)];return h}if(h[0]==="."&&h[1]==="this"&&l(h[2])!=null){let U=h[2],$=l(U);if(this.reactiveMembers&&this.reactiveMembers.has($))return[".",[".",R,$],i(U,"value")];return this._factoryMode?[".",R,U]:h}if(h[0]==="."||h[0]==="?.")return[h[0],this.transformComponentMembers(h[1]),h[2]];if(h[0]==="->"){let U=h[1],$=new Set(A);if(Array.isArray(U))for(let z of U){let M=l(Array.isArray(z)&&z[0]==="default"?z[1]:z);if(M)$.add(M)}return["=>",h[1],this.transformComponentMembers(h[2],$)]}if(h[0]==="object"||h[0]==="map-literal")return[h[0],...h.slice(1).map((U)=>{if(Array.isArray(U)&&U[0]==="...")return["...",this.transformComponentMembers(U[1],A)];if(Array.isArray(U)&&U.length>=2){let $=U[1],z=Array.isArray($)?this.transformComponentMembers($,A):$,M=this.transformComponentMembers(U[2],A);return[U[0],z,M]}return this.transformComponentMembers(U,A)})];if(h[0]==="block"||h[0]==="program"){let U=new Set(A),$=[h[0]];for(let z=1;z<h.length;z++){let M=h[z];if(Array.isArray(M)&&M[0]==="="){let F=l(M[1]);if(F&&!(this.reactiveMembers&&this.reactiveMembers.has(F))){$.push(["=",M[1],this.transformComponentMembers(M[2],U)]),U.add(F);continue}}$.push(this.transformComponentMembers(M,U))}return $}return h.map((U)=>this.transformComponentMembers(U,A))},u.emitComponent=function(h,A,R,U){let[,$]=A,z=this.is($,"block")?$.slice(1):[],M=[],F=[],H=[],Q=[],O=[],W=[],K=[],Y=[],q=null,y=new Set,Z=new Set;for(let P of z){if(!Array.isArray(P))continue;let[E]=P;if(E==="offer"){if(P=P[1],!Array.isArray(P))continue;E=P[0];let a=P1(P[1]);if(a)K.push(a)}if(E==="accept"){let a=typeof P[1]==="string"?P[1]:P1(P[1]);if(a)Y.push(a),y.add(a),Z.add(a)}else if(E==="."&&P[1]==="this"&&P1(P)){let a=typeof P[2]==="string"||P[2]instanceof String?P[2].valueOf():null;if(a)M.push({name:a,value:void 0,isPublic:!0,type:P[2]?.type||null,required:!0}),y.add(a),Z.add(a)}else if(E==="state"){let a=P1(P[1]);if(a)M.push({name:a,value:P[2],isPublic:X2(P[1]),type:P2(P[1])}),y.add(a),Z.add(a)}else if(E==="computed"){let a=P1(P[1]);if(a)F.push({name:a,expr:P[2],type:P2(P[1])}),y.add(a),Z.add(a)}else if(E==="readonly"){let a=P1(P[1]);if(a)H.push({name:a,value:P[2],isPublic:X2(P[1]),type:P2(P[1])}),y.add(a)}else if(E==="="){let a=P1(P[1]);if(a)if(J2.has(a))O.push({name:a,value:P[2]});else{let d=P[2];if(Array.isArray(d)&&(d[0]==="->"||d[0]==="=>"))Q.push({name:a,func:d}),y.add(a);else M.push({name:a,value:d,isPublic:X2(P[1])}),y.add(a),Z.add(a)}}else if(E==="effect")W.push(P);else if(E==="render")q=P;else if(E==="object")for(let a=1;a<P.length;a++){let d=P[a];if(!Array.isArray(d))continue;let[,k,n1]=d;if(typeof k==="string"&&J2.has(k))O.push({name:k,value:n1});else if(typeof k==="string")Q.push({name:k,func:n1}),y.add(k)}}let J=new Map;for(let{name:P}of Q)if(/^on[A-Z]/.test(P)&&!J2.has(P)){let E=P[2].toLowerCase()+P.slice(3);if(M3.has(E))J.set(E,P)}let X=A[0]?.valueOf?.()??null,N=new Set;for(let{name:P,isPublic:E}of M)if(E)N.add(P);for(let{name:P,isPublic:E}of H)if(E)N.add(P);if(X)y.add("rest"),Z.add("rest");let S=this.componentMembers,I=this.reactiveMembers,o=this._autoEventHandlers,T=this._inheritsTag;if(this.componentMembers=y,this.reactiveMembers=Z,this._autoEventHandlers=J.size>0?J:null,this._inheritsTag=X||null,this.options.stubComponents){let P=(B)=>B?B.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,E=[],a=this._componentTypeParams||"";E.push(`class ${a}{`),E.push(" declare _root: Element | null; declare app: any;"),E.push(" emit(_name: string, _detail?: any): void {}");let d=[];for(let{name:B,type:g,isPublic:j,required:s}of M){if(!j)continue;let f1=P(g),c1=s?"":"?";d.push(`${B}${c1}: ${f1||"any"}`),d.push(`__bind_${B}__?: Signal<${f1||"any"}>`)}for(let{name:B,type:g,isPublic:j}of H){if(!j)continue;let s=P(g);d.push(`${B}?: ${s||"any"}`)}{let g=d.length>0&&M.some((s)=>s.isPublic&&s.required)?"":"?",j=d.length>0?`{${d.join("; ")}}`:"{}";if(X)j+=` & __RipProps<'${X}'>`;E.push(` constructor(_props${g}: ${j}) {}`)}let k=(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:j}of M){let s=P(g)||k(j);E.push(s?` declare ${B}: Signal<${s}>;`:` declare ${B}: Signal<any>;`)}if(X)E.push(` declare rest: Signal<__RipProps<'${X}'>>;`);for(let{name:B,type:g,value:j}of H){let s=P(g)||k(j);E.push(s?` declare ${B}: ${s};`:` declare ${B}: any;`)}for(let{name:B,expr:g,type:j}of F){let s=P(j),f1=s?`: Computed<${s}>`:"";if(this.is(g,"block")){let c1=this.transformComponentMembers(g),m=this.emitFunctionBody(c1);E.push(` ${B}${f1} = __computed(() => ${m});`)}else{let c1=this.emitInComponent(g,"value");E.push(` ${B}${f1} = __computed(() => ${c1});`)}}E.push(" _init(props) {");for(let{name:B,value:g,isPublic:j}of H){let s=this.emitInComponent(g,"value");E.push(j?` this.${B} = props.${B} ?? ${s};`:` this.${B} = ${s};`)}for(let{name:B,value:g,isPublic:j,required:s,type:f1}of M)if(j&&s)E.push(` this.${B} = __state(props.__bind_${B}__ ?? props.${B});`);else if(j){let c1=this.emitInComponent(g,"value");E.push(` this.${B} = __state(props.__bind_${B}__ ?? props.${B} ?? ${c1});`)}else{let c1=this.emitInComponent(g,"value");E.push(` this.${B} = __state(${c1});`)}for(let B of W){let g=B[2],j=this.containsAwait(g)?"async ":"";if(this.is(g,"block")){let s=this.transformComponentMembers(g),f1=this.emitFunctionBody(s);E.push(` __effect(${j}() => ${f1});`)}else{let s=this.emitInComponent(g,"value");E.push(` __effect(${j}() => { return ${s}; });`)}}E.push(" }");let n1=new Map;for(let[B,g]of J)n1.set(g,B);if(q){let B=(g)=>{if(!Array.isArray(g))return;let j=g[0]?.valueOf?.()??g[0];if(typeof j==="string"&&j!=="object"&&j!=="switch"&&X1.has(j.split(/[.#]/)[0]))for(let s=1;s<g.length;s++){let f1=g[s],c1=this.is(f1,"object")?f1:null;if(!c1&&Array.isArray(f1)&&(f1[0]==="->"||f1[0]==="=>")&&this.is(f1[2],"block")){for(let m=1;m<f1[2].length;m++)if(this.is(f1[2][m],"object")){c1=f1[2][m];break}}if(!c1)continue;for(let m=1;m<c1.length;m++){let x=c1[m];if(!Array.isArray(x)||x.length<2)continue;let[,_1,p]=x;if(Array.isArray(_1)&&_1[0]==="."&&_1[1]==="this"&&Array.isArray(p)&&p[0]==="."&&p[1]==="this"){let b=typeof _1[2]==="string"?_1[2]:_1[2]?.valueOf?.(),V=typeof p[2]==="string"?p[2]:p[2]?.valueOf?.();if(b&&V&&!n1.has(V))n1.set(V,b)}}}for(let s=1;s<g.length;s++)B(g[s])};B(q)}for(let{name:B,func:g}of Q)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,j,s]=g;if((!j||Array.isArray(j)&&j.length===0)&&this.containsIt(s))j=["it"];let f1=Array.isArray(j)?j.map((p)=>{let b=this.formatParam(p);if(p?.type)b+=`: ${p.type}`;return b}).join(", "):"",c1=n1.get(B);if(c1&&Array.isArray(j)&&j.length>0){let p=j[0];if(!(p?.type||p instanceof String&&p.type)&&typeof(p?.valueOf?.()??p)==="string"){let V=p?.valueOf?.()??p;f1=f1.replace(V,`${V}: HTMLElementEventMap['${c1}']`)}}let m=this.reactiveMembers?this.transformComponentMembers(s):s,x=this.containsAwait(s),_1=this.emitFunctionBody(m,j||[]);E.push(` ${x?"async ":""}${B}(${f1}) ${_1}`)}for(let{name:B,value:g}of O)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,j,s]=g,f1=Array.isArray(j)?j.map((_1)=>this.formatParam(_1)).join(", "):"",c1=this.reactiveMembers?this.transformComponentMembers(s):s,m=this.containsAwait(s),x=this.emitFunctionBody(c1,j||[]);E.push(` ${m?"async ":""}${B}(${f1}) ${x}`)}if(q){let B=[],g=0,j=this.options.source?.split(`
|
|
1041
|
-
`),
|
|
1042
|
-
`)}
|
|
1028
|
+
`;var Q4={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,Atom: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,Subjectable:85,ThisProperty:86,".":87,"?.":88,INDEX_START:89,INDEX_END:90,Slice:91,PICK_START:92,PickList:93,OptComma:94,PICK_END:95,OPTPICK_START:96,ES6_OPTIONAL_INDEX:97,"{":98,ObjAssignable:99,":":100,FOR:101,ForVariables:102,FOROF:103,"}":104,WHEN:105,OWN:106,AssignList:107,AssignObj:108,ObjRestValue:109,SimpleObjAssignable:110,"[":111,"]":112,"@":113,"...":114,ObjSpreadExpr:115,SUPER:116,Arguments:117,DYNAMIC_IMPORT:118,MAP_START:119,MapAssignList:120,MAP_END:121,MapAssignObj:122,MapAssignable:123,PickItem:124,PickKey:125,Elisions:126,ArgElisionList:127,OptElisions:128,ArgElision:129,Arg:130,Elision:131,RangeDots:132,"..":133,DEF:134,CALL_START:135,ParamList:136,CALL_END:137,PARAM_START:138,PARAM_END:139,ArrowKind:140,"->":141,"=>":142,Param:143,ParamVar:144,Splat:145,ES6_OPTIONAL_CALL:146,ArgList:147,SimpleArgs:148,THIS:149,NEW_TARGET:150,IMPORT_META:151,"(":152,")":153,RETURN:154,THROW:155,YIELD:156,FROM:157,IfBlock:158,IF:159,IfElseTail:160,ELSE:161,UnlessBlock:162,UNLESS:163,POST_IF:164,POST_UNLESS:165,TRY:166,Catch:167,FINALLY:168,CATCH:169,SWITCH:170,Cases:171,When:172,LEADING_WHEN:173,WhileSource:174,WHILE:175,UNTIL:176,Loop:177,LOOP:178,FORIN:179,BY:180,FORAS:181,AWAIT:182,FORASAWAIT:183,ForValue:184,ClassName:185,CLASS:186,EXTENDS:187,ENUM:188,SCHEMA:189,SCHEMA_BODY:190,COMPONENT:191,ComponentBody:192,ComponentLine:193,OFFER:194,ACCEPT:195,RENDER:196,IMPORT:197,ImportDefaultSpecifier:198,ImportNamespaceSpecifier:199,ImportSpecifierList:200,ImportSpecifier:201,AS:202,DEFAULT:203,IMPORT_ALL:204,EXPORT:205,ExportSpecifierList:206,EXPORT_ALL:207,ExportSpecifier:208,UNARY:209,DO:210,DO_IIFE:211,UNARY_MATH:212,"-":213,"+":214,"?":215,PRESENCE:216,"--":217,"++":218,MATH:219,"**":220,SHIFT:221,COMPARE:222,"&":223,"^":224,"|":225,"||":226,"??":227,"&&":228,PIPE:229,RELATION:230,TERNARY:231,COMPOUND_ASSIGN:232},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",87:".",88:"?.",89:"INDEX_START",90:"INDEX_END",92:"PICK_START",95:"PICK_END",96:"OPTPICK_START",97:"ES6_OPTIONAL_INDEX",98:"{",100:":",101:"FOR",103:"FOROF",104:"}",105:"WHEN",106:"OWN",111:"[",112:"]",113:"@",114:"...",116:"SUPER",118:"DYNAMIC_IMPORT",119:"MAP_START",121:"MAP_END",133:"..",134:"DEF",135:"CALL_START",137:"CALL_END",138:"PARAM_START",139:"PARAM_END",141:"->",142:"=>",146:"ES6_OPTIONAL_CALL",149:"THIS",150:"NEW_TARGET",151:"IMPORT_META",152:"(",153:")",154:"RETURN",155:"THROW",156:"YIELD",157:"FROM",159:"IF",161:"ELSE",163:"UNLESS",164:"POST_IF",165:"POST_UNLESS",166:"TRY",168:"FINALLY",169:"CATCH",170:"SWITCH",173:"LEADING_WHEN",175:"WHILE",176:"UNTIL",178:"LOOP",179:"FORIN",180:"BY",181:"FORAS",182:"AWAIT",183:"FORASAWAIT",186:"CLASS",187:"EXTENDS",188:"ENUM",189:"SCHEMA",190:"SCHEMA_BODY",191:"COMPONENT",194:"OFFER",195:"ACCEPT",196:"RENDER",197:"IMPORT",202:"AS",203:"DEFAULT",204:"IMPORT_ALL",205:"EXPORT",207:"EXPORT_ALL",209:"UNARY",210:"DO",211:"DO_IIFE",212:"UNARY_MATH",213:"-",214:"+",215:"?",216:"PRESENCE",217:"--",218:"++",219:"MATH",220:"**",221:"SHIFT",222:"COMPARE",223:"&",224:"^",225:"|",226:"||",227:"??",228:"&&",229:"PIPE",230:"RELATION",231:"TERNARY",232:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[113,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,113,5,1,5,62,2,83,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,132,-6,-6,-6,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,9,1,5,62,1,1,5,37,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,37,25,16,11,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,133,134,135,102,103,58,1,5,51,5,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,4,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,111,112,-13,-13,-13,-13,-92,-92,-92,-13,-92,-13,-92,-92,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,141,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,50,1,5,62,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-93,-93,-93,-14,-93,-14,-93,-93,-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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,37,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,37,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,37,25,16,11,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,142,143,144,145,146,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,147,-215,-215,148,149,112,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,158,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,106,107,97,110,111,112,159,108,109,157,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,160,161,162,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,163,164,162,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,165,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,172,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,174,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,49,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,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,176,177,178,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,175,75,76,99,98,105,87,91,88,89,94,166,167,95,96,90,92,93,86,170,49,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,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,176,177,178,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,179,75,76,99,98,105,87,91,88,89,94,166,167,95,96,90,92,93,86,170,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,180,181,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,182,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,184,183,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,185,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,159,186,2,69,10,159,187,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,14,40,18,1,24,1,2,12,4,4,5,2,31,38,2,191,151,110,153,154,152,105,188,189,87,155,193,190,192,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,194,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,195,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,51,1,5,52,1,9,1,1,5,4,7,4,5,5,1,2,1,1,7,1,1,7,12,4,2,14,8,3,1,10,1,3,1,1,2,2,2,26,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,199,110,-352,159,-352,-352,196,200,-352,-352,-352,-352,-352,-352,-352,-352,155,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,198,197,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,2,69,118,201,202,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,204,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,203,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,205,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,206,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,146,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,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,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,-266,-266,207,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-266,208,-266,108,109,-266,55,54,75,76,99,98,-266,-266,105,-266,-266,-266,-266,-266,87,-266,91,-266,88,89,94,-266,-266,68,-266,166,-266,167,95,96,90,92,93,86,-266,72,66,67,209,56,100,-266,57,101,-266,-266,58,62,59,-266,-266,60,104,-266,-266,-266,51,-266,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,2,58,1,210,110,2,58,1,211,110,1,190,212,6,15,20,103,2,1,1,214,213,44,45,95,96,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,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,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,-263,-263,215,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-263,216,-263,108,109,-263,55,54,75,76,99,98,-263,-263,105,-263,-263,-263,-263,-263,87,-263,91,-263,88,89,94,-263,-263,68,-263,166,-263,167,95,96,90,92,93,86,-263,72,66,67,56,100,-263,57,101,-263,-263,58,62,59,-263,-263,60,104,-263,-263,-263,51,-263,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,9,57,1,1,3,1,35,100,1,5,217,221,110,111,112,220,218,219,222,64,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,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,34,2,3,12,4,4,176,177,229,230,231,232,224,225,226,227,235,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,228,110,111,112,108,109,55,236,75,76,99,98,223,87,91,88,89,94,68,166,167,95,96,90,92,93,86,63,69,64,233,234,170,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,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,6,2,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,237,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,106,107,97,110,111,112,238,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,119,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,239,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,240,91,250,88,89,94,241,242,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,87,2,28,18,252,253,251,141,2,117,18,254,141,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,58,1,5,54,1,1,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,255,256,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,1,87,257,1,87,258,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,2,12,13,2,1,6,1,1,1,29,-152,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,-152,-152,108,109,-152,273,274,265,105,156,155,262,259,-152,260,261,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,87,1,1,3,4,1,277,278,279,280,281,282,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,283,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,284,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,288,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,287,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,11,13,5,3,1,1,1,1,2,1,-114,294,106,107,296,110,297,256,111,112,-114,-114,-114,298,289,-114,290,295,299,291,292,293,300,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,49,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,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,176,177,178,35,36,37,301,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,236,75,76,99,98,105,87,91,88,89,94,166,167,95,96,90,92,93,86,170,67,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,4,4,3,1,10,1,3,1,1,2,4,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,305,111,112,302,303,304,115,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,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,106,107,97,110,111,112,-5,-5,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,307,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,308,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,318,162,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,321,162,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,324,162,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,325,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,12,4,4,5,2,31,38,2,333,151,110,153,154,152,105,330,331,87,155,193,332,192,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,334,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,335,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-429,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,2,117,18,336,141,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,6,2,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,340,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,339,68,337,44,45,95,96,249,338,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,343,342,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,344,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,346,345,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,347,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,349,348,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,350,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,352,351,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,353,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,355,354,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,159,108,109,356,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,11,6,63,1,5,19,1,9,8,9,16,2,-259,-259,-259,358,359,-259,-259,-259,-259,-259,357,6,6,63,1,5,62,2,-216,-216,-216,-216,-216,-216,7,6,63,1,5,1,61,2,-220,-220,-220,-220,360,-220,-220,15,6,52,1,10,1,5,8,1,2,12,13,2,24,2,5,-223,151,110,-223,-223,-223,153,154,152,105,156,155,-223,-223,361,11,6,63,1,5,1,27,34,2,40,2,2,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,11,6,63,1,5,1,27,34,2,40,2,2,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,11,6,63,1,5,1,27,34,2,40,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,27,34,2,40,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,2,60,1,255,256,119,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,240,91,250,88,89,94,241,242,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,9,1,5,62,1,1,5,37,25,16,-212,-212,-212,-212,-212,-212,-212,-212,-212,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,7,1,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,363,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,106,107,97,110,111,112,362,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,124,-423,-423,-423,-423,9,1,5,62,1,1,5,37,25,16,-420,-420,-420,-420,-420,-420,-420,-420,-420,5,164,1,9,1,1,133,134,135,102,103,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,124,-424,-424,-424,-424,9,1,5,62,1,1,5,37,25,16,-421,-421,-421,-421,-421,-421,-421,-421,-421,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-425,-425,-425,-425,-425,-425,-425,-425,-425,117,-425,-425,-425,-425,-425,-425,124,-425,-425,-425,-425,18,6,52,1,10,1,5,8,1,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,364,-215,-215,148,149,2,69,10,159,157,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,160,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,163,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,5,15,123,2,1,1,214,166,167,95,96,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-426,-426,-426,-426,-426,-426,-426,-426,-426,117,-426,-426,-426,-426,-426,-426,124,-426,-426,-426,-426,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-427,-427,-427,-427,-427,-427,-427,-427,-427,117,-427,-427,-427,-427,-427,-427,124,-427,-427,-427,-427,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,124,-430,-430,-430,-430,2,84,14,365,105,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-89,-89,-432,-432,-432,-432,-89,-89,-89,-89,-89,-89,-89,-89,-432,-89,-432,-89,-89,-432,-432,-432,-432,-432,-432,-432,-432,-432,-89,-432,-432,-89,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-89,-89,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,12,57,5,1,24,1,1,3,4,1,20,18,11,138,111,112,-92,-92,-92,-92,-92,-92,139,141,140,6,87,1,1,3,4,1,-93,-93,-93,-93,-93,-93,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-89,-89,-433,-433,-433,-433,-89,-89,-89,-89,-89,-89,-89,-89,-433,-89,-433,-89,-89,-433,-433,-433,-433,-433,-433,-433,-433,-433,-89,-433,-433,-89,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-89,-89,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,366,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,367,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,132,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,129,130,131,102,103,-86,-86,-86,-86,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,369,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,47,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,2,1,1,6,1,3,1,1,2,30,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,370,371,372,-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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,4,103,76,2,2,374,373,375,376,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,377,156,155,193,192,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,378,156,155,193,192,3,69,10,101,159,379,380,5,75,28,76,2,2,381,-348,-348,-348,-348,6,75,1,27,76,2,2,-346,382,-346,-346,-346,-346,22,69,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,383,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,3,171,1,1,384,385,386,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,387,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,159,-356,-356,388,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,389,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,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,-350,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,392,393,394,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,390,391,395,396,65,73,74,46,47,71,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,397,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,132,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,131,102,103,-373,-373,-373,-373,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-264,-264,-264,-264,-264,-264,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,398,105,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-267,-267,-267,-267,-267,-267,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,399,105,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,400,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,69,10,56,159,402,401,2,69,10,159,403,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,9,1,5,62,1,1,5,37,25,16,-422,-422,-422,-422,-422,-422,-422,-422,-422,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-261,-261,-261,-261,-261,-261,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,404,105,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,2,75,82,406,405,1,157,407,7,58,1,10,35,96,1,2,412,110,411,408,409,410,413,2,75,82,-390,-390,1,202,414,26,6,41,9,1,1,1,1,1,1,1,6,1,5,11,13,5,3,1,1,1,1,2,1,89,3,2,-114,294,106,107,419,110,297,256,111,112,418,-114,-114,298,289,415,290,295,299,291,292,293,300,420,416,417,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,421,-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,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,422,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,423,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,157,424,60,1,5,56,1,5,1,1,5,2,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,143,144,145,146,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,147,113,425,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,426,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,26,11,2,18,1,4,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,132,-241,429,427,428,-241,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,246,55,54,75,76,99,98,105,61,87,430,91,250,88,89,94,432,431,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,19,1,9,8,9,7,9,-259,-259,-259,434,435,-259,-259,-259,-259,433,-259,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,436,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,5,6,63,1,5,37,-187,-187,-187,-187,-187,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,438,437,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,-198,-198,-198,-198,-198,5,6,63,1,5,37,-192,-192,-192,-192,-192,6,6,63,1,5,37,25,-242,-242,-242,-242,-242,-242,6,6,63,1,5,37,25,-243,-243,-243,-243,-243,-243,112,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,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-244,439,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-244,-244,108,109,-244,55,54,75,76,99,98,105,61,87,-244,91,88,89,94,68,-244,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,60,1,440,256,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,441,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,442,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,65,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,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,443,256,2,60,1,444,256,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,446,445,-259,-259,-259,-259,-259,5,6,63,1,5,46,-153,-153,-153,-153,-153,1,100,447,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,448,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,100,-170,1,100,-171,1,100,-172,1,100,-173,1,100,-174,1,100,-175,1,100,-176,1,100,-177,1,100,-178,1,100,-179,1,100,-180,1,100,-181,1,100,-182,1,100,-183,2,60,1,449,256,2,60,1,450,256,112,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,451,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,456,80,81,82,83,84,85,106,107,97,110,111,112,452,108,109,454,55,54,75,76,99,98,453,105,61,87,91,429,88,89,94,455,428,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,8,58,1,1,1,8,24,31,1,461,110,462,256,458,457,459,460,8,58,1,1,1,8,24,31,1,461,110,462,256,464,463,459,460,1,89,465,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,466,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,467,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,132,-301,-301,468,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,131,102,103,-301,-301,-301,-301,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,132,-303,-303,469,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,131,102,103,-303,-303,-303,-303,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-309,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,159,-310,-310,470,-310,-310,-310,132,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,131,102,103,-310,-310,-310,-310,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,6,6,63,1,5,25,4,-119,-119,-119,-119,471,-119,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,473,472,-259,-259,-259,-259,-259,7,6,63,1,5,1,24,4,-128,-128,-128,-128,474,-128,-128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,475,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,60,1,50,255,256,476,6,6,63,1,5,25,4,-131,-131,-131,-131,-131,-131,5,6,63,1,5,29,-115,-115,-115,-115,-115,13,6,63,1,5,1,11,1,1,3,4,4,4,31,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,13,6,63,1,5,1,11,1,1,3,4,4,4,31,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,13,6,63,1,5,1,11,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,5,6,63,1,5,29,-120,-120,-120,-120,-120,17,39,4,1,14,1,1,1,23,2,12,12,3,2,1,2,31,3,480,482,481,296,110,297,256,479,298,105,477,91,478,483,484,90,86,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,485,-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,305,111,112,486,487,304,4,62,1,2,2,-61,-61,-61,-61,113,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,488,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,106,107,97,110,111,112,490,489,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,83,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-436,-436,-436,-436,-436,-436,-436,-436,116,117,-436,-436,-436,-436,-436,-436,124,-436,-436,-436,-436,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-437,-437,-437,-437,-437,-437,-437,-437,116,117,-437,-437,-437,-437,-437,-437,124,-437,-437,-437,-437,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-438,-438,-438,-438,-438,-438,-438,-438,-438,117,-438,-438,-438,-438,-438,-438,124,-438,-438,-438,-438,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-439,-439,-439,-439,-439,-439,-439,-439,-439,117,-439,-439,-439,-439,-439,-439,124,-439,-439,-439,-439,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-440,-440,-440,-440,-440,-440,115,114,116,117,-440,-440,-440,-440,-440,-440,124,-440,-440,-440,-440,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-441,-441,-441,-441,-441,-441,115,114,116,117,118,-441,-441,-441,-441,-441,124,-441,-441,127,-441,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-442,-442,-442,-442,-442,-442,115,114,116,117,118,119,-442,-442,-442,-442,124,-442,-442,127,-442,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-443,-443,-443,-443,-443,-443,115,114,116,117,118,119,120,-443,-443,-443,124,-443,-443,127,-443,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-444,-444,-444,-444,-444,-444,115,114,116,117,118,119,120,121,-444,-444,124,-444,-444,127,-444,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-452,-452,-452,-452,-452,-452,115,114,116,117,118,119,120,121,122,-452,124,125,-452,127,-452,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,132,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,129,130,131,102,103,-453,-453,-453,-453,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-451,-451,-451,-451,-451,-451,115,114,116,117,118,119,120,121,122,-451,124,-451,-451,127,-451,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-454,-454,-454,-454,-454,-454,115,114,116,117,118,119,120,121,122,123,124,125,-454,127,-454,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-455,-455,-455,-455,-455,-455,115,114,116,117,118,-455,-455,-455,-455,-455,124,-455,-455,-455,-455,22,100,1,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,491,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,132,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,492,-280,-280,131,102,103,-280,-280,-280,-280,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,132,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,102,103,-284,-284,-284,-284,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,103,76,2,2,494,493,495,496,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,497,156,155,193,192,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,498,156,155,193,192,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-344,-344,-344,499,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,132,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,102,103,-279,-279,-279,-279,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,132,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,102,103,-283,-283,-283,-283,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,501,500,-259,-259,-259,-259,-259,5,6,63,1,5,62,-236,-236,-236,-236,-236,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,340,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,339,68,44,45,95,96,249,502,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,26,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,132,-241,-241,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-71,-71,-71,-71,-71,-71,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,503,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,504,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,132,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,129,130,131,102,103,-74,-74,-74,-74,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,505,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,506,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,132,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,129,130,131,102,103,-77,-77,-77,-77,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,507,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,132,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,129,130,131,102,103,-80,-80,-80,-80,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,508,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,509,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,132,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,129,130,131,102,103,-83,-83,-83,-83,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,140,1,1,511,95,96,19,6,52,1,10,1,13,1,2,9,3,6,7,1,1,1,7,16,6,1,-260,151,110,-260,-260,153,154,152,-260,105,-260,156,-260,155,150,-260,-260,512,149,2,6,63,513,514,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,515,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,6,6,63,1,5,62,2,-222,-222,-222,-222,-222,-222,59,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,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,-255,-255,-255,2,6,64,113,516,11,6,63,1,5,19,1,9,8,9,16,2,-259,-259,-259,358,359,-259,-259,-259,-259,-259,517,1,70,518,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-457,-457,-457,-457,-457,-457,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,519,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,520,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,132,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,129,130,131,102,103,-87,-87,-87,-87,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,521,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,159,522,8,58,1,10,10,4,1,14,13,523,110,159,526,525,524,105,156,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,527,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,528,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,103,531,1,181,532,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,10,58,1,24,1,2,12,13,2,31,40,151,110,153,154,152,105,156,155,193,534,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,171,1,1,536,385,386,4,70,91,11,1,537,538,539,386,3,70,91,12,-297,-297,-297,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,541,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,540,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,159,-354,-354,542,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,131,-354,-354,-354,-354,-354,-354,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,543,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,2,6,64,545,544,2,6,64,-364,-364,23,6,64,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,6,64,-368,-368,7,6,64,94,1,9,1,1,-369,-369,133,134,135,102,103,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,59,547,22,69,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,548,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,70,549,1,70,550,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-269,-269,-269,-269,-269,-269,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,18,6,52,1,10,1,5,8,1,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,551,-215,-215,148,149,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,1,70,552,3,57,5,1,553,111,112,3,98,101,5,555,554,222,3,57,5,1,556,111,112,1,157,557,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,558,-259,-259,-259,-259,-259,5,6,63,1,5,29,-381,-381,-381,-381,-381,6,58,1,10,131,1,2,412,110,411,560,410,413,6,6,63,1,5,29,98,-386,-386,-386,-386,-386,561,6,6,63,1,5,29,98,-388,-388,-388,-388,-388,562,2,58,1,563,110,14,1,5,62,1,1,5,37,25,16,4,7,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,564,-392,-392,-392,-392,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,566,565,-259,-259,-259,-259,-259,5,6,63,1,5,29,-410,-410,-410,-410,-410,6,58,1,10,134,3,2,568,110,418,420,567,417,14,6,63,1,5,1,11,1,1,3,4,4,4,31,67,-415,-415,-415,-415,-125,-125,-125,-125,-125,-125,-125,-415,-125,569,6,6,63,1,5,29,98,-418,-418,-418,-418,-418,570,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,572,571,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,573,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,132,-405,-405,-405,-405,-405,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,84,14,574,105,3,57,5,1,575,111,112,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,2,6,64,113,576,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,577,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,436,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,5,6,63,1,5,37,-193,-193,-193,-193,-193,2,69,43,579,578,124,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,1,9,3,3,3,7,1,1,1,2,2,1,2,5,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-260,341,248,162,30,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,106,107,97,110,111,112,-260,-260,108,109,246,55,54,75,76,99,98,-260,105,61,-260,87,-260,91,250,88,89,94,-260,581,580,247,243,68,-260,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,42,582,-194,-194,-194,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,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,-199,-199,-199,-199,-199,11,6,63,1,5,19,1,9,8,9,7,9,-259,-259,-259,434,435,-259,-259,-259,-259,583,-259,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,432,431,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,26,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,132,-228,-228,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,584,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,585,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,52,587,588,586,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,2,9,3,6,7,1,1,1,7,1,1,14,15,-260,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,-260,-260,108,109,273,274,265,-260,105,-260,156,-260,155,262,-260,589,261,-260,86,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,590,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,591,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,26,6,63,1,5,26,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,132,-159,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,25,90,11,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,592,132,429,593,428,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,110,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,594,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,595,105,61,87,91,429,88,89,94,455,428,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,90,596,1,90,597,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,598,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-206,108,109,55,54,75,76,99,98,-206,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,599,-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,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,600,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,602,459,460,5,6,63,1,5,20,-160,-160,-160,-160,-160,7,6,63,1,5,1,19,5,-164,-164,-164,-164,604,-164,603,7,6,63,1,5,1,19,5,-168,-168,-168,-168,-168,-168,-168,7,6,63,1,5,1,19,5,-169,-169,-169,-169,-169,-169,-169,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,605,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,606,459,460,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,607,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,608,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,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,609,610,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,611,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,612,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,613,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,614,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,615,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,35,617,618,616,25,6,41,9,1,1,1,1,1,1,1,6,1,16,9,4,5,4,1,1,1,1,1,1,7,16,-260,294,106,107,296,110,297,256,111,112,-260,-260,298,-260,620,-260,619,299,291,292,-260,293,300,-260,-260,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,622,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,22,101,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,132,623,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,624,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,12,6,63,1,5,12,1,1,3,4,8,13,18,-132,-132,-132,-132,-134,-134,-134,-134,-134,-132,625,141,12,6,63,1,5,12,1,1,3,4,8,13,18,-133,-133,-133,-133,627,628,629,630,631,-133,626,141,11,6,63,1,5,12,1,1,3,4,8,31,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,11,6,63,1,5,12,1,1,3,4,8,31,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,11,6,63,1,5,12,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,12,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,87,2,28,18,252,253,632,141,2,117,18,633,141,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,113,634,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,635,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,636,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,638,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,637,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,639,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,640,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,641,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,642,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,103,643,1,181,644,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,645,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,68,647,648,646,120,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,9,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-260,341,248,162,30,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,106,107,97,110,111,112,-260,-260,108,109,55,54,75,76,99,98,-260,105,61,-260,87,-260,91,250,88,89,94,-260,649,68,-260,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,501,650,-259,-259,-259,-259,-259,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-72,-72,-72,-72,-72,-72,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,651,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,132,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,129,130,131,102,103,-75,-75,-75,-75,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,652,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,132,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,129,130,131,102,103,-78,-78,-78,-78,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,132,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,129,130,131,102,103,-81,-81,-81,-81,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,653,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,132,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,129,130,131,102,103,-84,-84,-84,-84,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,112,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,655,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,106,107,97,110,111,112,159,108,109,654,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,62,2,-217,-217,-217,-217,-217,-217,11,58,1,24,1,2,12,13,2,1,29,1,151,110,153,154,152,105,156,155,150,656,149,18,6,52,1,10,1,5,8,1,2,12,13,2,1,22,1,2,4,1,-215,151,110,-215,-215,-215,153,154,152,105,156,155,150,657,-215,-215,148,149,27,6,63,1,5,26,36,2,25,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,132,-221,-221,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,59,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,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,-256,-256,-256,3,140,1,1,658,95,96,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,659,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,131,-459,-459,-459,-459,-459,-459,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,69,10,159,660,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,159,661,2,69,10,159,662,2,69,10,159,663,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,-292,25,69,10,22,4,59,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,664,132,665,129,130,131,102,103,666,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,667,132,668,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,669,132,670,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,671,132,672,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,673,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,674,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,675,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,103,76,2,2,-349,-349,-349,-349,26,75,26,2,61,1,9,1,1,3,2,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-347,132,-347,129,130,131,102,103,-347,-347,-347,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,70,91,11,1,676,677,539,386,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,69,10,159,678,3,70,91,12,-298,-298,-298,3,69,6,4,159,680,679,23,69,6,26,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,46,1,5,62,1,1,5,4,11,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,159,-358,-358,681,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,131,-358,-358,-358,-358,-358,-358,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,114,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-366,392,393,394,30,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,106,107,97,110,111,112,-366,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,682,395,396,65,73,74,46,47,71,48,49,50,52,53,23,6,64,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,2,6,64,-371,-371,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,392,393,394,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,683,391,395,396,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,358,359,-259,-259,-259,-259,684,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,1,157,685,6,58,1,10,131,1,2,412,110,411,686,410,413,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,57,5,1,687,111,112,3,6,63,35,689,690,688,12,6,52,1,10,1,25,9,8,9,16,64,2,-260,412,110,-260,-260,-260,-260,-260,-260,-260,691,413,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,692,-259,-259,-259,-259,-259,2,58,1,693,110,2,58,1,694,110,1,157,-391,3,57,5,1,695,111,112,3,6,63,35,697,698,696,12,6,52,1,10,1,25,9,8,9,16,66,5,-260,568,110,-260,-260,-260,-260,-260,-260,-260,420,699,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,566,700,-259,-259,-259,-259,-259,6,6,63,1,5,29,98,-415,-415,-415,-415,-415,569,3,58,1,144,701,110,702,2,58,1,703,110,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,132,-398,-398,-398,-398,-398,131,-398,-398,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,704,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,705,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,70,706,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,1,153,707,22,101,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,132,708,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,245,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,438,709,244,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,37,-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,1,1,1,3,6,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,-195,-195,108,109,246,55,54,75,76,99,98,105,61,87,-195,91,250,88,89,94,432,431,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,246,55,54,75,76,99,98,105,61,87,91,250,88,89,94,438,710,247,243,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,579,711,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,712,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,2,12,13,2,1,8,1,29,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,108,109,273,274,265,105,156,155,262,713,261,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,2,12,13,2,1,6,1,1,1,29,-152,275,266,267,270,269,268,271,272,276,106,107,263,110,264,256,111,112,-152,-152,108,109,-152,273,274,265,105,156,155,262,714,-152,260,261,86,5,6,63,1,5,46,-154,-154,-154,-154,-154,26,6,63,1,5,26,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,132,-157,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,715,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,716,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,-204,108,109,55,54,75,76,99,98,-204,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,25,70,31,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,717,132,429,593,428,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,70,718,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,23,70,20,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,719,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,26,721,722,720,14,6,52,1,1,1,8,1,25,9,8,9,3,1,12,-260,461,110,462,256,-260,-260,-260,-260,-260,-260,723,460,-260,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,724,-259,-259,-259,-259,-259,5,58,1,1,1,64,461,110,462,256,725,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,726,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,26,721,722,727,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,728,-259,-259,-259,-259,-259,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,729,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,730,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,3,69,10,80,159,732,731,2,69,10,159,733,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-302,-302,-302,-302,-302,-302,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-304,-304,-304,-304,-304,-304,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,26,6,63,1,5,26,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,734,-121,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,735,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,17,47,9,1,1,1,1,1,1,1,23,13,9,1,1,1,2,1,294,106,107,296,110,297,256,111,112,298,620,736,299,291,292,293,300,23,6,41,9,1,1,1,1,1,1,1,6,1,5,11,13,5,3,1,1,1,1,2,1,-114,294,106,107,296,110,297,256,111,112,-114,-114,-114,298,620,-114,737,295,299,291,292,293,300,5,6,63,1,5,29,-116,-116,-116,-116,-116,6,6,63,1,5,25,4,-119,-119,-119,-119,738,-119,26,6,63,1,5,26,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,132,-123,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,739,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,6,6,63,1,5,25,4,-129,-129,-129,-129,-129,-129,22,101,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,132,740,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,11,6,63,1,5,12,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,12,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,2,60,1,741,256,2,60,1,742,256,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,743,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,744,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,8,58,1,1,1,8,24,31,1,461,110,462,256,746,745,459,460,8,58,1,1,1,8,24,31,1,461,110,462,256,748,747,459,460,11,6,63,1,5,12,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,12,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,62,1,2,2,-63,-63,-63,-63,2,6,64,113,749,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-456,-456,-456,-456,-456,-456,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,750,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,132,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,102,103,-282,-282,-282,-282,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,751,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,131,-329,-329,-329,752,-329,-329,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,753,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,754,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,755,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,131,-342,-342,-342,-342,-342,-342,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,757,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,131,-345,-345,-345,-345,-345,-345,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,57,1,5,56,1,5,1,1,3,2,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,758,68,44,45,95,96,249,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,248,162,30,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,106,107,97,110,111,112,340,108,109,55,54,75,76,99,98,105,61,87,91,250,88,89,94,339,68,44,45,95,96,249,759,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,62,-237,-237,-237,-237,-237,3,6,63,1,647,648,760,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,9,1,5,62,1,1,5,37,25,16,-211,-211,-211,-211,-211,-211,-211,-211,-211,6,6,63,1,5,62,2,-218,-218,-218,-218,-218,-218,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,358,761,-259,-259,-259,-259,-259,2,69,10,159,654,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,764,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,765,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,766,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,767,132,768,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,769,132,770,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,69,10,159,771,1,70,772,4,6,64,91,12,773,-299,-299,-299,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,774,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,2,6,64,-365,-365,2,6,64,545,775,2,69,10,159,776,3,57,5,1,777,111,112,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,778,-259,-259,-259,-259,-259,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,157,779,4,58,1,142,2,412,110,780,413,6,58,1,10,131,1,2,412,110,411,781,410,413,5,6,63,1,5,29,-382,-382,-382,-382,-382,3,6,63,1,689,690,782,5,6,63,1,5,29,-387,-387,-387,-387,-387,5,6,63,1,5,29,-389,-389,-389,-389,-389,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,14,1,5,62,1,1,5,37,25,16,4,7,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,783,-393,-393,-393,-393,4,58,1,144,5,568,110,420,784,6,58,1,10,134,3,2,568,110,418,420,785,417,5,6,63,1,5,29,-411,-411,-411,-411,-411,3,6,63,1,697,698,786,5,6,63,1,5,29,-416,-416,-416,-416,-416,5,6,63,1,5,29,-417,-417,-417,-417,-417,5,6,63,1,5,29,-419,-419,-419,-419,-419,30,1,5,62,1,1,5,26,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,132,-399,-399,-399,-399,-399,131,-399,-399,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,787,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,11,6,63,1,5,19,1,9,8,9,7,9,-259,-259,-259,434,435,-259,-259,-259,-259,788,-259,5,6,63,1,5,37,-189,-189,-189,-189,-189,5,6,63,1,5,37,-190,-190,-190,-190,-190,1,90,789,5,6,63,1,5,46,-155,-155,-155,-155,-155,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,446,790,-259,-259,-259,-259,-259,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,791,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,70,20,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,90,792,1,90,793,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,6,58,1,1,1,63,1,461,110,462,256,794,460,7,58,1,1,1,32,31,1,461,110,462,256,795,459,460,5,6,63,1,5,20,-161,-161,-161,-161,-161,3,6,63,1,721,722,796,6,6,63,1,5,1,19,-165,-165,-165,-165,797,-165,26,6,63,1,5,20,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,3,6,63,1,721,722,798,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,799,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,800,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-276,14,40,18,1,24,1,2,12,4,4,5,2,31,38,2,333,151,110,153,154,152,105,801,802,87,155,193,332,192,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,803,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,29,-117,-117,-117,-117,-117,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,473,804,-259,-259,-259,-259,-259,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,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,805,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,615,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,806,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,6,6,63,1,5,25,4,-130,-130,-130,-130,-130,-130,11,6,63,1,5,12,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,12,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,22,90,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,807,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,808,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,809,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,810,459,460,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,811,-259,-259,-259,-259,-259,7,58,1,1,1,32,31,1,461,110,462,256,812,459,460,1,68,813,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,814,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,815,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,816,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,817,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,818,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,819,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,820,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,821,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,131,-340,-340,-340,-340,-340,-340,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,62,-238,-238,-238,-238,-238,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,501,822,-259,-259,-259,-259,-259,5,6,63,1,5,62,-239,-239,-239,-239,-239,3,6,63,1,513,514,823,24,69,10,22,63,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,824,132,129,130,131,102,103,825,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,24,69,10,22,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,826,132,827,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,828,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,829,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,830,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,831,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,832,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,70,833,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,-296,3,70,91,12,-300,-300,-300,23,69,6,26,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,3,6,63,35,689,690,834,3,57,5,1,835,111,112,5,6,63,1,5,29,-383,-383,-383,-383,-383,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,559,836,-259,-259,-259,-259,-259,5,6,63,1,5,29,-384,-384,-384,-384,-384,3,57,5,1,837,111,112,5,6,63,1,5,29,-412,-412,-412,-412,-412,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,566,838,-259,-259,-259,-259,-259,5,6,63,1,5,29,-413,-413,-413,-413,-413,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,2,69,1,579,839,56,1,5,56,1,5,1,1,5,12,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,3,6,63,1,587,588,840,5,6,63,1,5,46,-158,-158,-158,-158,-158,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,5,6,63,1,5,20,-162,-162,-162,-162,-162,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,841,-259,-259,-259,-259,-259,1,95,842,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,843,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,95,844,1,90,845,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,846,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,4,103,76,2,2,847,493,495,496,11,58,1,24,1,2,12,4,9,2,31,40,151,110,153,154,152,105,848,156,155,193,192,5,6,63,1,5,29,-122,-122,-122,-122,-122,3,6,63,1,617,618,849,26,6,63,1,5,26,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,132,-121,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,29,-124,-124,-124,-124,-124,11,6,63,1,5,12,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,22,70,31,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,850,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,3,6,63,26,721,722,851,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,852,-259,-259,-259,-259,-259,3,6,63,26,721,722,853,10,6,63,1,5,19,1,9,8,9,16,-259,-259,-259,601,854,-259,-259,-259,-259,-259,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,131,-330,-330,-330,855,-330,-330,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,856,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,131,-331,-331,-331,-331,-331,-331,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-335,-335,-335,-335,-335,-335,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-339,-339,-339,-339,-339,-339,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-343,-343,-343,-343,-343,-343,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,857,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,858,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,3,6,63,1,647,648,859,6,6,63,1,5,62,2,-219,-219,-219,-219,-219,-219,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,862,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,863,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,1,157,864,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,3,6,63,1,689,690,865,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,3,6,63,1,697,698,866,5,6,63,1,5,37,-191,-191,-191,-191,-191,5,6,63,1,5,46,-156,-156,-156,-156,-156,3,6,63,1,721,722,867,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,26,6,63,1,5,20,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,64,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,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,868,610,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,869,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,103,870,5,6,63,1,5,29,-118,-118,-118,-118,-118,1,90,871,11,6,63,1,5,12,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,3,6,63,1,721,722,872,11,6,63,1,5,12,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,3,6,63,1,721,722,873,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,874,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,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,8,1,9,1,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,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-337,-337,-337,-337,-337,-337,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-341,-341,-341,-341,-341,-341,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,5,6,63,1,5,62,-240,-240,-240,-240,-240,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,876,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,23,69,10,22,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,1,159,877,132,129,130,131,102,103,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,3,57,5,1,878,111,112,5,6,63,1,5,29,-385,-385,-385,-385,-385,5,6,63,1,5,29,-414,-414,-414,-414,-414,5,6,63,1,5,20,-163,-163,-163,-163,-163,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,46,1,5,62,1,1,5,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,881,-334,879,-334,-334,-334,-334,-334,880,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,882,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,11,6,63,1,5,12,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,1,95,883,1,95,884,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-332,-332,-332,-332,-332,-332,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,45,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,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,131,-333,-333,-333,-333,-333,-333,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,44,1,5,62,1,1,5,15,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,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,13,1,5,62,1,1,5,37,25,16,11,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,1,104,885,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,886,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,8,6,63,1,25,9,8,9,16,-260,-260,-260,-260,-260,-260,-260,-260,46,1,5,62,1,1,5,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,881,-336,887,-336,-336,-336,-336,-336,888,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,11,6,63,1,5,12,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,11,6,63,1,5,12,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,-109,-109,-109,46,1,5,62,1,1,5,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,881,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,131,-335,-335,-335,-335,-335,-335,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,1,104,890,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,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,891,162,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,106,107,97,110,111,112,108,109,55,54,75,76,99,98,105,61,87,91,88,89,94,68,166,167,95,96,90,92,93,86,72,66,67,56,100,57,101,58,62,59,102,103,60,104,51,63,69,70,64,65,73,74,168,169,170,48,49,50,52,53,1,104,892,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,15,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,881,-337,893,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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,-110,-110,-110,1,104,894,61,1,5,56,1,5,1,1,5,1,1,1,2,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,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],_=[],i=0,n,u,l,c;while(i<f.length){n=f[i++],u={},l=0,c=[];while(n--)l+=f[i++],c.push(l);for(l of c)u[l]=f[i++];_.push(u)}return _})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,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,85,1,85,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,84,10,84,12,84,11,84,13,84,4,107,0,107,1,107,3,107,4,107,6,108,1,108,1,108,3,108,5,108,3,108,5,110,1,110,1,110,1,99,1,99,3,99,4,99,1,109,2,109,2,115,1,115,1,115,1,115,1,115,1,115,2,115,2,115,2,115,2,115,3,115,3,115,4,115,6,115,5,115,5,115,7,115,7,46,4,120,0,120,1,120,3,120,4,120,6,122,3,122,5,122,2,93,1,93,3,93,4,93,6,124,1,124,3,124,3,124,5,125,1,125,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,83,2,83,3,83,4,127,1,127,3,127,4,127,4,127,6,129,1,129,2,128,1,128,2,126,1,126,2,131,1,131,2,132,1,132,1,40,5,91,3,91,2,91,2,91,1,32,6,32,3,15,5,15,2,35,5,35,2,140,1,140,1,136,0,136,1,136,3,136,4,136,6,143,1,143,3,143,2,143,1,144,1,144,1,144,1,144,1,145,2,41,2,41,2,41,3,41,2,41,2,117,2,117,4,147,1,147,3,147,4,147,4,147,6,130,1,130,1,130,1,130,1,148,1,148,3,43,1,43,1,86,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,94,0,94,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,158,3,158,4,160,4,160,5,160,2,162,3,162,5,22,1,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,167,3,167,3,167,3,167,2,26,5,26,7,26,4,26,6,171,1,171,2,172,3,172,4,174,2,174,4,174,2,174,4,24,2,24,2,24,2,24,1,177,2,177,2,177,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,184,1,184,3,102,1,102,3,185,1,185,1,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,192,1,192,3,192,2,193,1,193,1,193,1,193,2,193,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,200,1,200,3,200,4,200,4,200,6,201,1,201,3,201,1,201,3,198,1,199,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,206,1,206,3,206,4,206,4,206,6,208,1,208,3,208,3,208,1,208,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,_,i,n)=>{let u=_,l=_.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[l]];case 3:case 61:case 115:case 153:case 160:case 192:case 196:case 216:case 236:case 245:case 297:case 348:case 364:case 381:case 410:return[u[l]];case 4:case 116:case 154:case 161:case 217:case 237:case 246:case 365:case 382:case 411:return[...u[l-2],u[l]];case 5:case 63:case 199:case 366:return u[l-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 94:case 95:case 120:case 125:case 126:case 127:case 128:case 131:case 134:case 135:case 136:case 137:case 138:case 168:case 169:case 170:case 171:case 172:case 173:case 174:case 175:case 178:case 179:case 180:case 181:case 182:case 187:case 213:case 214:case 220:case 224:case 225:case 226:case 227:case 241:case 242:case 243:case 259:case 260:case 274:case 277:case 278:case 308:case 346:case 350:case 351:case 367:case 368:case 369:case 386:case 388:case 390:case 415:case 418:return u[l];case 49:case 177:return"undefined";case 50:case 176:return"null";case 54:case 183:return["symbol",u[l]];case 60:return["str",...u[l-1]];case 62:case 193:case 197:case 298:return[...u[l-1],u[l]];case 64:case 235:case 239:case 384:case 413:return u[l-2];case 65:return"";case 68:return["regex",u[l-1]];case 69:return["regex-index",u[l-2],u[l]];case 70:return["regex-index",u[l],null];case 71:case 123:return["=",u[l-2],u[l]];case 72:return["=",u[l-3],u[l]];case 73:case 124:return["=",u[l-4],u[l-1]];case 74:return["state",u[l-2],u[l]];case 75:return["state",u[l-3],u[l]];case 76:return["state",u[l-4],u[l-1]];case 77:case 79:return["computed",u[l-2],u[l]];case 78:return["computed",u[l-3],u[l]];case 80:return["readonly",u[l-2],u[l]];case 81:return["readonly",u[l-3],u[l]];case 82:return["readonly",u[l-4],u[l-1]];case 83:case 85:return["effect",u[l-2],u[l]];case 84:return["effect",u[l-3],u[l]];case 86:case 87:case 88:return["effect",null,u[l]];case 96:case 143:return[".",u[l-2],u[l]];case 97:case 144:return["?.",u[l-2],u[l]];case 98:case 100:case 145:return["[]",u[l-3],u[l-1]];case 99:case 101:case 146:return["[]",u[l-5],u[l-2]];case 102:case 147:return[".{}",u[l-4],...u[l-2]];case 103:case 148:return["?.{}",u[l-4],...u[l-2]];case 104:case 149:return[".{}",u[l-6],...u[l-3]];case 105:case 150:return["?.{}",u[l-6],...u[l-3]];case 106:return[u[l-1][0],u[l-3],...u[l-1].slice(1)];case 107:return["optindex",u[l-4],u[l-1]];case 108:return["optindex",u[l-6],u[l-2]];case 109:return["object-comprehension",u[l-8],u[l-6],[["for-of",u[l-4],u[l-2],!1]],[]];case 110:return["object-comprehension",u[l-10],u[l-8],[["for-of",u[l-6],u[l-4],!1]],[u[l-2]]];case 111:return["object-comprehension",u[l-9],u[l-7],[["for-of",u[l-4],u[l-2],!0]],[]];case 112:return["object-comprehension",u[l-11],u[l-9],[["for-of",u[l-6],u[l-4],!0]],[u[l-2]]];case 113:return["object",...u[l-2]];case 114:case 152:case 194:case 215:case 234:return[];case 117:case 155:case 162:case 218:case 238:case 383:case 412:return[...u[l-3],u[l]];case 118:case 156:case 163:case 219:case 240:case 385:case 414:return[...u[l-5],...u[l-2]];case 119:return[null,u[l],u[l]];case 121:case 157:return[":",u[l-2],u[l]];case 122:case 158:return[":",u[l-4],u[l-1]];case 129:return["dynamicKey",u[l-1]];case 130:return["[]","this",u[l-1]];case 132:case 133:case 159:case 228:return["...",u[l]];case 139:case 232:return["super",...u[l]];case 140:case 141:case 142:case 230:case 233:return[u[l-1],...u[l]];case 151:return["map-literal",...u[l-2]];case 164:return[u[l],u[l],null];case 165:return[u[l-2],u[l],null];case 166:return[u[l-2],u[l-2],u[l]];case 167:return[u[l-4],u[l-2],u[l]];case 184:return["array"];case 185:return["array",...u[l-1]];case 186:return["array",...u[l-2],...u[l-1]];case 188:return[...u[l-2],...u[l]];case 189:return[...u[l-3],...u[l]];case 190:return[...u[l-2],...u[l-1]];case 191:return[...u[l-5],...u[l-4],...u[l-2],...u[l-1]];case 195:return[...u[l]];case 198:return null;case 200:return"..";case 201:case 244:return"...";case 202:return[u[l-2],u[l-3],u[l-1]];case 203:case 438:case 440:case 441:case 455:case 457:return[u[l-1],u[l-2],u[l]];case 204:return[u[l],u[l-1],null];case 205:return[u[l-1],null,u[l]];case 206:return[u[l],null,null];case 207:return["def",u[l-4],u[l-2],u[l]];case 208:return["def",u[l-1],[],u[l]];case 209:case 211:return[u[l-1],u[l-3],u[l]];case 210:case 212:return[u[l-1],[],u[l]];case 221:case 347:return["default",u[l-2],u[l]];case 222:return["rest",u[l]];case 223:return["expansion"];case 229:return["tagged-template",u[l-1],u[l]];case 231:return["optcall",u[l-2],...u[l]];case 247:case 248:return"this";case 249:return[".","this",u[l]];case 250:return[".","super",u[l]];case 251:return["[]","super",u[l-1]];case 252:return["[]","super",u[l-2]];case 253:return[".","new",u[l]];case 254:return[".","import",u[l]];case 255:return["block"];case 256:return["block",...u[l-1]];case 257:return u[l-1].length===1?(Array.isArray(u[l-1][0])&&u[l-1][0][0]==="="&&(u[l-1][0].parenthesized=!0),u[l-1][0]):["block",...u[l-1]];case 258:return u[l-2].length===1?(Array.isArray(u[l-2][0])&&u[l-2][0][0]==="="&&(u[l-2][0].parenthesized=!0),u[l-2][0]):["block",...u[l-2]];case 261:return["return",u[l]];case 262:return["return",u[l-1]];case 263:return["return"];case 264:return["throw",u[l]];case 265:return["throw",u[l-1]];case 266:return["yield"];case 267:return["yield",u[l]];case 268:return["yield",u[l-1]];case 269:return["yield-from",u[l]];case 270:case 272:return["if",u[l-1],u[l]];case 271:case 273:return["if",u[l-2],u[l-1],u[l]];case 275:return["if",["!",u[l-1]],u[l]];case 276:return["if",["!",u[l-3]],u[l-2],u[l]];case 279:case 280:return["if",u[l],[u[l-2]]];case 281:return["?:",u[l-4],u[l-6],u[l-1]];case 282:return["?:",u[l-2],u[l-4],u[l]];case 283:case 284:return["if",["!",u[l]],[u[l-2]]];case 285:return["try",u[l]];case 286:return["try",u[l-1],u[l]];case 287:return["try",u[l-2],u[l]];case 288:return["try",u[l-3],u[l-2],u[l]];case 289:case 290:case 291:case 420:case 423:case 425:return[u[l-1],u[l]];case 292:return[null,u[l]];case 293:return["switch",u[l-3],u[l-1],null];case 294:return["switch",u[l-5],u[l-3],u[l-1]];case 295:return["switch",null,u[l-1],null];case 296:return["switch",null,u[l-3],u[l-1]];case 299:return["when",u[l-1],u[l]];case 300:return["when",u[l-2],u[l-1]];case 301:return["while",u[l]];case 302:return["while",u[l-2],u[l]];case 303:return["while",["!",u[l]]];case 304:return["while",["!",u[l-2]],u[l]];case 305:return u[l-1].length===2?[u[l-1][0],u[l-1][1],u[l]]:[u[l-1][0],u[l-1][1],u[l-1][2],u[l]];case 306:case 307:return u[l].length===2?[u[l][0],u[l][1],[u[l-1]]]:[u[l][0],u[l][1],u[l][2],[u[l-1]]];case 309:return["loop",u[l]];case 310:return["loop",[u[l]]];case 311:return["loop-n",u[l-1],u[l]];case 312:return["for-in",u[l-3],u[l-1],null,null,u[l]];case 313:return["for-in",u[l-5],u[l-3],null,u[l-1],u[l]];case 314:return["for-in",u[l-5],u[l-3],u[l-1],null,u[l]];case 315:return["for-in",u[l-7],u[l-5],u[l-1],u[l-3],u[l]];case 316:return["for-in",u[l-7],u[l-5],u[l-3],u[l-1],u[l]];case 317:return["for-of",u[l-3],u[l-1],!1,null,u[l]];case 318:return["for-of",u[l-5],u[l-3],!1,u[l-1],u[l]];case 319:return["for-of",u[l-3],u[l-1],!0,null,u[l]];case 320:return["for-of",u[l-5],u[l-3],!0,u[l-1],u[l]];case 321:return["for-as",u[l-3],u[l-1],!1,null,u[l]];case 322:return["for-as",u[l-5],u[l-3],!1,u[l-1],u[l]];case 323:case 325:return["for-as",u[l-3],u[l-1],!0,null,u[l]];case 324:case 326:return["for-as",u[l-5],u[l-3],!0,u[l-1],u[l]];case 327:return["for-in",[],u[l-1],null,null,u[l]];case 328:return["for-in",[],u[l-3],u[l-1],null,u[l]];case 329:return["comprehension",u[l-4],[["for-in",u[l-2],u[l],null]],[]];case 330:return["comprehension",u[l-6],[["for-in",u[l-4],u[l-2],null]],[u[l]]];case 331:return["comprehension",u[l-6],[["for-in",u[l-4],u[l-2],u[l]]],[]];case 332:return["comprehension",u[l-8],[["for-in",u[l-6],u[l-4],u[l]]],[u[l-2]]];case 333:return["comprehension",u[l-8],[["for-in",u[l-6],u[l-4],u[l-2]]],[u[l]]];case 334:return["comprehension",u[l-4],[["for-of",u[l-2],u[l],!1]],[]];case 335:return["comprehension",u[l-6],[["for-of",u[l-4],u[l-2],!1]],[u[l]]];case 336:return["comprehension",u[l-5],[["for-of",u[l-2],u[l],!0]],[]];case 337:return["comprehension",u[l-7],[["for-of",u[l-4],u[l-2],!0]],[u[l]]];case 338:return["comprehension",u[l-4],[["for-as",u[l-2],u[l],!1,null]],[]];case 339:return["comprehension",u[l-6],[["for-as",u[l-4],u[l-2],!1,null]],[u[l]]];case 340:return["comprehension",u[l-5],[["for-as",u[l-2],u[l],!0,null]],[]];case 341:return["comprehension",u[l-7],[["for-as",u[l-4],u[l-2],!0,null]],[u[l]]];case 342:return["comprehension",u[l-4],[["for-as",u[l-2],u[l],!0,null]],[]];case 343:return["comprehension",u[l-6],[["for-as",u[l-4],u[l-2],!0,null]],[u[l]]];case 344:return["comprehension",u[l-2],[["for-in",[],u[l],null]],[]];case 345:return["comprehension",u[l-4],[["for-in",[],u[l-2],u[l]]],[]];case 349:case 387:case 389:case 416:case 417:case 419:return[u[l-2],u[l]];case 352:return["class",null,null];case 353:return["class",null,null,u[l]];case 354:return["class",null,u[l]];case 355:return["class",null,u[l-1],u[l]];case 356:return["class",u[l],null];case 357:return["class",u[l-1],null,u[l]];case 358:return["class",u[l-2],u[l]];case 359:return["class",u[l-3],u[l-1],u[l]];case 360:return["enum",u[l-1],u[l]];case 361:return["schema",u[l]];case 362:return["component",null,["block",...u[l-1]]];case 363:return["component",u[l-3],["block",...u[l-1]]];case 370:return["offer",u[l]];case 371:return["accept",u[l]];case 372:case 373:return["render",u[l]];case 374:case 377:return["import","{}",u[l]];case 375:case 376:return["import",u[l-2],u[l]];case 378:return["import",u[l-4],u[l]];case 379:return["import",u[l-4],u[l-2],u[l]];case 380:return["import",u[l-7],u[l-4],u[l]];case 391:return["*",u[l]];case 392:return["export","{}"];case 393:return["export",u[l-2]];case 394:case 395:case 396:case 397:case 401:case 402:case 403:case 404:return["export",u[l]];case 398:return["export",["=",u[l-2],u[l]]];case 399:return["export",["=",u[l-3],u[l]]];case 400:return["export",["=",u[l-4],u[l-1]]];case 405:return["export-default",u[l]];case 406:return["export-default",u[l-1]];case 407:return["export-all",u[l]];case 408:return["export-from","{}",u[l]];case 409:return["export-from",u[l-4],u[l]];case 421:case 422:case 424:case 460:return["do-iife",u[l]];case 426:return["-",u[l]];case 427:return["+",u[l]];case 428:return["?",u[l-1]];case 429:return["presence",u[l-1]];case 430:return["await",u[l]];case 431:return["await",u[l-1]];case 432:return["--",u[l],!1];case 433:return["++",u[l],!1];case 434:return["--",u[l-1],!0];case 435:return["++",u[l-1],!0];case 436:return["+",u[l-2],u[l]];case 437:return["-",u[l-2],u[l]];case 439:return["**",u[l-2],u[l]];case 442:return["&",u[l-2],u[l]];case 443:return["^",u[l-2],u[l]];case 444:return["|",u[l-2],u[l]];case 445:case 446:case 447:case 448:case 449:case 450:return["control",u[l-1],u[l-2],u[l]];case 451:return["&&",u[l-2],u[l]];case 452:return["||",u[l-2],u[l]];case 453:return["??",u[l-2],u[l]];case 454:return["|>",u[l-2],u[l]];case 456:return["?:",u[l-4],u[l-2],u[l]];case 458:return[u[l-3],u[l-4],u[l-1]];case 459:return[u[l-2],u[l-3],u[l]]}},parseError(f,_){let i,n,u,l,c,h,A;if(_.recoverable)return this.trace(f);else throw u=(_.line||0)+1,i=_.loc?.c||0,A=_.token?` (token: ${_.token})`:"",h=_.text?` near '${_.text}'`:"",l=`line ${u}, column ${i}`,c=`Parse error at ${l}${A}${h}: ${f}`,n=Error(c),n.hash=_,n},parse(f){let _,i,n,u,l,c,h,A,w,D,$,U,R,z,M,F,H,K,W,O,Q,Y,J,Z,q,G,P,L;[Q,L,$]=[[0],[null],[]],[z,G,Z,J,H]=[this.parseTable,"",0,0,0],[i,_]=[2,1],w=Object.create(this.lexer),W={ctx:{}};for(let I in this.ctx){if(!Object.hasOwn(this.ctx,I))continue;let e=this.ctx[I];W.ctx[I]=e}if(w.setInput(f,W.ctx),[W.ctx.lexer,W.ctx.parser]=[w,this],w.loc==null)w.loc={};q=w.loc,$.push(q),this.parseError=typeof W.ctx.parseError==="function"?W.ctx.parseError:Object.getPrototypeOf(this).parseError,A=()=>{let I;if(I=w.lex()||_,typeof I!=="number")I=this.symbolIds[I]||I;return I},Y=M=O=n=F=R=h=U=l=null,K={};while(!0){if(O=Q[Q.length-1],Y==null)Y=A();if(n=z[O]?.[Y],n==null){if(u="",!H)l=(()=>{let I=[];for(let e in z[O]){if(!Object.hasOwn(z[O],e))continue;if(this.tokenNames[e]&&e>i)I.push(`'${this.tokenNames[e]}'`)}return I})();throw u=(()=>{if(w.showPosition)return`Parse error on line ${Z+1}:
|
|
1029
|
+
${w.showPosition()}
|
|
1030
|
+
Expecting ${l.join(", ")}, got '${this.tokenNames[Y]||Y}'`;else return`Parse error on line ${Z+1}: Unexpected ${Y===_?"end of input":`'${this.tokenNames[Y]||Y}'`}`,this.parseError(u,{text:w.match,token:this.tokenNames[Y]||Y,line:w.line,loc:q,expected:l})})(),Error(u)}if(n>0)if(Q.push(Y,n),L.push(w.text),$.push(w.loc),Y=null,!M){if([J,G,Z,q]=[w.len,w.text,w.line,w.loc],H>0)H--}else[Y,M]=[M,null];else if(n<0){if(h=this.ruleTable[-n*2+1],K.$=L[L.length-h],D=$[$.length-(h||1)],K._$={r:D.r,c:D.c},F=this.ruleActions.call(K,-n,L,$,W.ctx),F!=null)K.$=F;if(Array.isArray(K.$))K.$.loc=K._$;if(h)Q.length-=h*2,L.length-=h,$.length-=h;Q.push(this.ruleTable[-n*2]),L.push(K.$),$.push(K._$),U=z[Q[Q.length-2]][Q[Q.length-1]],Q.push(U)}else if(n===0)return L[L.length-1]}},trace(){},ctx:{}},Y4=(f={})=>{let _=Object.create(Q4);return Object.defineProperty(_,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),_},z1=Y4();var J0=z1.parse.bind(z1);var Z2=null;function l3(f){Z2=f}var Z4=new Set(["input","shape","model","mixin","enum"]),_3="input",q4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),J4=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 i2(f,_){if(f)f.prototype.rewriteSchema=function(){G4(this)},s1._LexerCtor=f;if(_)_.prototype.emitSchema=function(i,n,u){return m4(this,i,n,u)},_.prototype.getSchemaRuntime=function(){let i=this.options?.schemaMode||"migration";return i5({mode:i})}}var u3=new Set(["defaultMaxString"]);function G4(f){let _=f.tokens,i={defaultMaxString:null},n=0,u=0;while(u<_.length){let l=_[u];if(l[0]==="INDENT")n++;else if(l[0]==="OUTDENT")n--;let c=X4(_,u,i,n);if(c>0){_.splice(u,c);continue}if(P4(_,u))y4(f,_,u,i);u++}}function X4(f,_,i,n){let u=f[_];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[_+1]?.[0]!==".")return 0;let l=f[_+2];if(!l||l[0]!=="PROPERTY")return 0;if(f[_+3]?.[0]!=="=")return 0;let c=f[_-1];if(c){let $=c[0];if($!=="TERMINATOR"&&$!=="INDENT"&&$!=="OUTDENT")return 0}let h=l[1];if(!u3.has(h))throw r(l,`Unknown schema pragma 'schema.${h}'. Known pragmas: ${[...u3].join(", ")}.`);if(n>0)throw r(l,`Schema pragma 'schema.${h}' 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 A=f[_+4];if(!A||A[0]!=="NUMBER")throw r(A||l,`Pragma 'schema.${h}' requires a number literal. Example: schema.${h} = 100.`);let w=Number(A[1]);if(!Number.isFinite(w)||w<0||!Number.isInteger(w))throw r(A,`Pragma 'schema.${h}' expects a non-negative integer (got ${A[1]}). Use 0 to disable.`);i[h]=w===0?null:w;let D=_+5;if(f[D]?.[0]==="TERMINATOR")D++;return D-_}function P4(f,_){let i=f[_];if(!i||i[0]!=="IDENTIFIER"||i[1]!=="schema")return!1;let n=f[_-1];if(n){let l=n[0];if(l==="."||l==="?.")return!1;if(n[0]==="IDENTIFIER"||n[0]==="PROPERTY"||n[0]===")"||n[0]==="]"||n[0]==="}"||n[0]==="STRING"||n[0]==="NUMBER"){if(!J4.has(l))return!1}}let 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 y4(f,_,i,n){let u=_[i],l=null,c=_3,h=i+1;if(_[h]?.[0]==="SYMBOL"){l=_[h];let R=l[1];if(!Z4.has(R))throw r(l,`Unknown schema kind :${R}. Expected one of :input, :shape, :model, :mixin, :enum.`);c=R,h++}let A,w;if(_[h]?.[0]==="TERMINATOR"&&_[h][1]===";"){let R=h+1,z=R,M=0,F=_[R]?.loc?.r??null;while(z<_.length){let H=_[z],K=H[0];if(M===0&&F!=null&&H.loc&&H.loc.r>F)break;if(K==="("||K==="["||K==="{"||K==="CALL_START"||K==="INDEX_START"||K==="PARAM_START")M++;else if(K===")"||K==="]"||K==="}"||K==="CALL_END"||K==="INDEX_END"||K==="PARAM_END")M--;else if(M===0&&K==="TERMINATOR"&&H[1]!==";")break;else if(M===0&&(K==="INDENT"||K==="OUTDENT"))break;else if(M===0&&K==="->")throw r(H,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(M===0&&K==="EFFECT")throw r(H,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(M===0&&K==="UNARY_MATH"&&H[1]==="!"&&_[z+1]?.[0]==="COMPARE"&&_[z+1][1]===">")throw r(H,"Inline schema body does not support '!>' (eager derived). Use the indented form.");z++}while(z>R&&_[z-1][0]==="TERMINATOR")z--;if(A=_.slice(R,z),w=z,!A.length)throw r(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${l?" :"+c:""};' or switch to the indented form.`)}else{if(_[h]?.[0]==="TERMINATOR")h++;if(_[h]?.[0]!=="INDENT")throw r(u,`Expected indented schema body after 'schema${l?" :"+c:""}'.`);let R=h,z=l5(_,R);if(z<0)throw r(_[R],"Unterminated schema body.");A=_.slice(R+1,z),w=z+1}let D=S4(c,A,{schemaLoc:u.loc,kindLoc:l?.loc??null,kind:c,defaultMaxString:n?.defaultMaxString??null}),$=q2("SCHEMA","schema",u),U=q2("SCHEMA_BODY",c,u);U.data={descriptor:D},_.splice(i,w-i,$,U)}function S4(f,_,i){let n=[],u=E4(_);if(f===_3&&!i.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",i.kind="enum";if(f==="enum")for(let l of u)r4(l,n);else{for(let l of u)b4(f,l,n,i);if(f==="mixin")for(let l of n){if(l.tag==="method"||l.tag==="computed"||l.tag==="hook")throw r({loc:l.headerLoc||l.loc},`:mixin schemas are fields-only. '${l.name}' is a ${l.tag}; move it to a :shape or :model.`);if(l.tag==="ensure")throw r({loc:l.headerLoc||l.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(l.tag==="directive"&&l.name!=="mixin")throw r({loc:l.loc},`:mixin schemas only accept '@mixin Name' directives. '@${l.name}' is not allowed.`)}else if(f==="input")for(let l of n){if(l.tag==="method"||l.tag==="computed"||l.tag==="hook")throw r({loc:l.headerLoc||l.loc},`:input schemas are fields-only. '${l.name}' is a ${l.tag}; use :shape or :model if you need behavior.`);if(l.tag==="directive"&&l.name!=="mixin")throw r({loc:l.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${l.name}' is not allowed.`)}else if(f==="shape")for(let l of n){if(l.tag==="hook")throw r({loc:l.headerLoc||l.loc},`:shape schemas don't have lifecycle hooks. '${l.name}' runs only on :model; move it or remove it.`);if(l.tag==="directive"&&l.name!=="mixin")throw r({loc:l.loc},`:shape schemas only accept '@mixin Name'. '@${l.name}' is :model-only.`)}}return{kind:f,loc:i.schemaLoc,kindLoc:i.kindLoc,entries:n}}function E4(f){let _=[],i=[],n=0;for(let u of f){let l=u[0];if(l==="INDENT")n++;if(l==="OUTDENT")n--;if(l==="TERMINATOR"&&n===0){if(i.length)_.push(i),i=[];continue}i.push(u)}if(i.length)_.push(i);return _}var N4=new Set(["string","email","url","phone","zip"]);function b4(f,_,i,n){let u=_[0];if(!u)return;if(u[0]==="@"){let Y=_[1];if(!Y||Y[0]!=="IDENTIFIER"&&Y[0]!=="PROPERTY")throw r(u,"Expected directive name after '@'.");let J=_.slice(2),Z=Y[1];if(Z==="ensure"){let G=L4(J,u);for(let P of G)i.push({tag:"ensure",name:"ensure",message:P.message,paramTokens:P.paramTokens,bodyTokens:P.bodyTokens,loc:P.loc,headerLoc:u.loc});return}let q=null;if(Z==="belongs_to"||Z==="has_many"||Z==="has_one"||Z==="one"||Z==="many"||Z==="mixin"){let G=J[0];if(G&&(G[0]==="IDENTIFIER"||G[0]==="PROPERTY")){let P=G.data?.optional===!0;if(!P&&J[1]?.[0]==="?")P=!0;q=[{target:G[1],optional:P}]}}i.push({tag:"directive",name:Z,args:q,argTokens:J,loc:u.loc});return}if(u[0]==="PROPERTY"){T4(f,u,_,i);return}if(u[0]!=="IDENTIFIER")throw r(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let l=u[1];if(_[1]?.[0]===":")throw r(_[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let c=f5(u),h=1;while(h<_.length){let Y=_[h];if(!(_[h-1]&&!_[h-1].spaced))break;if(Y[0]==="#"||Y[0]==="?"||Y[0]==="!"){c.push(Y[0]),h++;continue}break}let A=_[h];if(A?.[0]===":")throw r(A,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let w="string",D=null;if(A?.[0]==="IDENTIFIER")w=A[1],h++;else if(A?.[0]==="STRING"){D=[JSON.parse(A[1])],h++;while(_[h]?.[0]==="|"&&_[h+1]?.[0]==="STRING")h++,D.push(JSON.parse(_[h][1])),h++;if(_[h]?.[0]==="|"){let Y=_[h+1],J=Y?.[0]??"<end>";throw r(Y||_[h],`Literal unions contain string literals only. '${J}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(D.length<2)throw r(A,`Literal union needs at least two string literals. Use '${JSON.stringify(D[0])}' as a default with '[${JSON.stringify(D[0])}]' instead.`);w="literal-union"}let $=!1,U=_[h]?.[0],R=_[h+1]?.[0];if((U==="["||U==="INDEX_START")&&(R==="]"||R==="INDEX_END"))$=!0,h+=2;let z=_.slice(h);if((A?.[0]==="IDENTIFIER"||A?.[0]==="STRING")&&z[0]?.[0]==="->")throw r(z[0],`Field '${l}' has a transform after the type; a comma is required before '->'. Write '${l} ${w}, -> …'.`);let F=null,H=null,K=null,W=null,O=null;if(z.length>0){if(z[0]?.[0]===",")z=z.slice(1);let Y=o1(z);for(let J=0;J<Y.length;J++){let Z=Y[J];while(Z.length&&(Z[0][0]==="INDENT"||Z[0][0]==="TERMINATOR"))Z=Z.slice(1);if(!Z.length)continue;if(Z[0][0]!=="->"){let G=I4(Z);if(G>0)throw r(Z[G],`Field '${l}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let q=Z[0];if(q[0]!=="->"){while(Z.length&&(Z[Z.length-1][0]==="OUTDENT"||Z[Z.length-1][0]==="TERMINATOR"))Z=Z.slice(0,-1);if(!Z.length)continue;q=Z[0]}if(q[0]==="["||q[0]==="INDEX_START"){if(F)throw r(q,`Field '${l}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);F=Z}else if(q[0]==="{"){if(H)throw r(q,`Field '${l}' has more than one '{…}' attrs bracket.`);H=Z}else if(B4(Z)){if(K)throw r(q,`Field '${l}' has more than one range constraint. Only one 'min..max' per field.`);K=Z}else if(q[0]==="REGEX"&&Z.length===1){if(W)throw r(q,`Field '${l}' has more than one regex constraint.`);W=q}else if(q[0]==="->"){if(J!==Y.length-1)throw r(q,`Transform '-> …' must be the last element on the field line for '${l}'.`);O=Z.slice(1)}else throw r(q,`Unexpected trailer for field '${l}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if($&&D)throw r(A,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let Q=null;if(n?.defaultMaxString!=null&&!W&&!D&&N4.has(w))Q=n.defaultMaxString;i.push({tag:"field",name:l,modifiers:c,typeName:w,array:$,literals:D,constraintTokens:F,attrsTokens:H,rangeTokens:K,regexToken:W,transformTokens:O,defaultMax:Q,loc:u.loc})}function I4(f){let _=0;for(let i=0;i<f.length;i++){let n=f[i][0];if(n==="("||n==="["||n==="{"||n==="CALL_START"||n==="INDEX_START"||n==="PARAM_START")_++;else if(n===")"||n==="]"||n==="}"||n==="CALL_END"||n==="INDEX_END"||n==="PARAM_END")_--;else if(_===0&&n==="->")return i}return-1}function B4(f){let _=0,i=!1;if(f[_]?.[0]==="-"&&f[_+1]?.[0]==="NUMBER")_+=2,i=!0;else if(f[_]?.[0]==="NUMBER")_++,i=!0;if(f[_]?.[0]!=="..")return!1;_++;let n=!1;if(f[_]?.[0]==="-"&&f[_+1]?.[0]==="NUMBER")_+=2,n=!0;else if(f[_]?.[0]==="NUMBER")_++,n=!0;return(i||n)&&_===f.length}function T4(f,_,i,n){let u=_[1],l=i[1];if(!l||l[0]!==":")throw r(_,`Expected ':' after '${u}' before arrow.`);let c=i[2],h=i[3],A,w,D;if(c&&c[0]==="->")A="->",w=c.loc,D=3;else if(c&&c[0]==="EFFECT")A="~>",w=c.loc,D=3;else if(c&&c[0]==="UNARY_MATH"&&c[1]==="!"&&h&&h[0]==="COMPARE"&&h[1]===">"&&!c.spaced)A="!>",w=c.loc,D=4;else throw r(l,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let $=i.slice(D),U=q4.has(u),R;if(A==="~>")R="computed";else if(A==="!>")R="derived";else if(f==="model"&&U)R="hook";else R="method";n.push({tag:R,name:u,arrow:A,paramTokens:[],bodyTokens:$,headerLoc:_.loc,arrowLoc:w})}function L4(f,_){let i=f;if(!i.length)throw r(_,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(i[0]?.[0]==="CALL_START"&&i[i.length-1]?.[0]==="CALL_END")i=i.slice(1,-1);if(!i.length)throw r(_,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let n=i[0];if(n[0]==="["||n[0]==="INDEX_START"){let l=C4(i,n),c=j4(l);if(c.length===0)throw r(n,"@ensure [...] must contain at least one 'message, fn' pair.");if(c.length%2!==0)throw r(n,`@ensure [...] must have pairs of 'message, fn' (got ${c.length} elements; odd count).`);let h=[];for(let A=0;A<c.length;A+=2)h.push(f3(c[A],c[A+1],n));return h}let u=o1(i);if(u.length<2)throw r(n,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw r(n,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[f3(u[0],u[1],n)]}function C4(f,_){let i=0,n=[];for(let u=0;u<f.length;u++){let l=f[u],c=l[0];if(c==="["||c==="INDEX_START"){if(i++,i===1)continue}if(c==="]"||c==="INDEX_END"){if(i--,i===0){if(u<f.length-1)throw r(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(n.length>=2&&n[0][0]==="INDENT"&&n[n.length-1][0]==="OUTDENT"){let h=0,A=!1;for(let w=0;w<n.length;w++)if(n[w][0]==="INDENT")h++;else if(n[w][0]==="OUTDENT"){if(h--,h===0&&w===n.length-1){A=!0;break}if(h===0)break}if(A)n=n.slice(1,-1)}return n}}if(i>=1)n.push(l)}throw r(_,"@ensure: unclosed '['.")}function j4(f){let _=[],i=[],n=0;for(let u of f){let l=u[0];if(l==="("||l==="["||l==="{"||l==="CALL_START"||l==="INDEX_START"||l==="PARAM_START"||l==="INDENT")n++;if(l===")"||l==="]"||l==="}"||l==="CALL_END"||l==="INDEX_END"||l==="PARAM_END"||l==="OUTDENT")n--;if(n===0&&(l===","||l==="TERMINATOR")){if(i.length)_.push(i),i=[];continue}i.push(u)}if(i.length)_.push(i);return _}function f3(f,_,i){if(!f||!f.length)throw r(i,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw r(f[0]||i,"@ensure: each refinement's first element must be a string literal message.");let n=f[0],u=JSON.parse(n[1]);if(!_||!_.length)throw r(n,"@ensure: missing function after message.");let l=_[0];if(l[0]!=="("&&l[0]!=="PARAM_START")throw r(l,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let c=1,h=1,A=[];while(h<_.length&&c>0){let $=_[h],U=$[0];if(U==="("||U==="PARAM_START")c++;if(U===")"||U==="PARAM_END"){if(c--,c===0){h++;break}}A.push($),h++}if(c!==0)throw r(l,"@ensure: unclosed '(' in predicate parameters.");let w=_[h];if(!w||w[0]!=="->")throw r(w||_[h-1]||n,"@ensure: expected '->' after predicate parameters.");let D=_.slice(h+1);if(!D.length)throw r(w,"@ensure: predicate function body is empty.");return{message:u,paramTokens:A,bodyTokens:D,loc:n.loc}}function V4(f,_){if(!f.length)return[];return o1(f).map((n)=>{let u=n.filter((l)=>l[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw r(u[0]||_,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function r4(f,_){let i=f[0];if(!i)return;if(i[0]==="@"){let l=f[1],c=l&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY")?l[1]:"directive";throw r(i,`:enum schemas don't accept '@${c}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(i[0]!=="SYMBOL")throw r(i,`Enum member must be a :symbol. Use ':${i[1]??"name"}' for a bare member or ':${i[1]??"name"} value' for a valued one.`);let n=i[1],u=f[1];if(!u){_.push({tag:"enum-member",name:n,value:void 0,loc:i.loc});return}if(u[0]===":")throw r(u,`Enum member ':${n}' — drop the ':' before the value. Use ':${n} value'.`);if(f.length>2)throw r(f[2],`Extra tokens after enum member ':${n}' value.`);_.push({tag:"enum-member",name:n,value:_5(u),loc:i.loc})}function m4(f,_,i,n){let u=i[0],l=a4(u);if(!l)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let c=f._schemaName||null,h=[`kind: ${JSON.stringify(l.kind)}`];if(c)h.push(`name: ${JSON.stringify(c)}`);return h.push(`entries: [${l.entries.map((A)=>v4(f,A)).join(", ")}]`),`__schema({${h.join(", ")}})`}function a4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function v4(f,_){switch(_.tag){case"field":{let i=['tag: "field"',`name: ${JSON.stringify(_.name)}`,`modifiers: ${JSON.stringify(_.modifiers)}`,`typeName: ${JSON.stringify(_.typeName)}`,`array: ${_.array?"true":"false"}`];if(_.literals)i.push(`literals: ${JSON.stringify(_.literals)}`);let n=_.rangeTokens?d4(_.rangeTokens,_):null,u=_.constraintTokens?o4(_.constraintTokens,_):null,l=_.regexToken?x4(_.regexToken):null,c=k4(n,u,l,_);if(c)i.push(`constraints: ${c}`);if(_.transformTokens)i.push(`transform: ${t4(f,_.transformTokens)}`);return`{${i.join(", ")}}`}case"directive":{let i=['tag: "directive"',`name: ${JSON.stringify(_.name)}`],n=e4(_.name,_.argTokens||[]);if(n)i.push(`args: ${n}`);return`{${i.join(", ")}}`}case"ensure":{let i=s4(f,_);return`{${['tag: "ensure"',`message: ${JSON.stringify(_.message)}`,`fn: ${i}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let i=g4(f,_);return`{${[`tag: ${JSON.stringify(_.tag)}`,`name: ${JSON.stringify(_.name)}`,`fn: ${i}`].join(", ")}}`}case"enum-member":{let i=['tag: "enum-member"',`name: ${JSON.stringify(_.name)}`];if(_.value!==void 0)i.push(`value: ${JSON.stringify(_.value)}`);return`{${i.join(", ")}}`}default:return'{tag: "unknown"}'}}function g4(f,_){let i=s1(_.bodyTokens);if(!i)return"(function() {})";let n=["->",[],i];return f.emit(n,"value")}function t4(f,_){let i=s1(_);if(!i)return"(function() { return undefined; })";let n=["->",[],i];return f.emit(n,"value")}function s4(f,_){let i=s1(_.bodyTokens);if(!i)return"(function() { return undefined; })";let u=["->",V4(_.paramTokens,_),i];return f.emit(u,"value")}function o4(f,_){let i=f.slice(1,-1),n=o1(i);if(!n.length)return{c:null};let u=n.map((l)=>i3(l,_));if(u.length===1){let l=u[0];if(l instanceof RegExp)throw r(f[0],`Regex constraints are written bare, not in brackets. Replace '[${l}]' with '${l}'.`);return{c:{default:l}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw r(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((l)=>typeof l==="number"))throw r(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 r(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function x4(f){let _=f[1],i=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(_);if(!i)throw r(f,`Invalid regex literal ${JSON.stringify(_)}.`);try{return new RegExp(i[1],i[2])}catch(n){throw r(f,`Invalid regex '${_}': ${n.message}`)}}function d4(f,_){let i=0,n=()=>{let h=1;if(f[i]?.[0]==="-")h=-1,i++;let A=f[i++],w=i3([A],_);if(typeof w!=="number")throw r(A,"Range endpoints must be numeric literals.");return h*w},u;if(f[i]?.[0]!=="..")u=n();i++;let l;if(i<f.length)l=n();if(u!==void 0&&l!==void 0&&u>l)throw r(f[0],`Range '${u}..${l}' is reversed. Write the smaller endpoint first.`);let c={};if(u!==void 0)c.min=u;if(l!==void 0)c.max=l;return c}function k4(f,_,i,n){let u=_&&_.c||{},l=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(l&&u.min===void 0&&n?.modifiers?.includes("!"))u.min=1}if(i)u.regex=i;if(n?.defaultMax!=null&&u.max===void 0)u.max=n.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let c=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",h=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${n?.defaultMax}`;throw r({loc:n?.loc},`Field '${n?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${c} vs ${h}). 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 p4(u)}function p4(f){let _=[];if(f.min!==void 0)_.push(`min: ${Y2(f.min)}`);if(f.max!==void 0)_.push(`max: ${Y2(f.max)}`);if(f.default!==void 0)_.push(`default: ${Y2(f.default)}`);if(f.regex!==void 0)_.push(`regex: ${f.regex.toString()}`);return _.length?`{${_.join(", ")}}`:null}function Y2(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 e4(f,_){if(f==="idStart"&&!_.length)throw r(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!_.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let i=_[0];if(!i||i[0]!=="IDENTIFIER"&&i[0]!=="PROPERTY")throw r(i||_[_.length-1],`@${f} requires a target name.`);let n=i[1],u=i.data?.optional===!0,l=1;if(!u&&_[l]?.[0]==="?")u=!0,l++;let c=[`target: ${JSON.stringify(n)}`];if(u)c.push("optional: true");return`[{${c.join(", ")}}]`}if(f==="index"){let i=[],n=!1,u=0;if(_[u]?.[0]==="IDENTIFIER"||_[u]?.[0]==="PROPERTY")i.push(_[u][1]),u++;else if(_[u]?.[0]==="["||_[u]?.[0]==="INDEX_START"){let c=[],h=1;u++;while(u<_.length&&h>0){let A=_[u];if(A[0]==="["||A[0]==="INDEX_START")h++;if(A[0]==="]"||A[0]==="INDEX_END"){if(h--,h===0){u++;break}}c.push(A),u++}for(let A of o1(c))if(A[0]&&(A[0][0]==="IDENTIFIER"||A[0][0]==="PROPERTY"))i.push(A[0][1])}if(_[u]?.[0]==="#")n=!0;let l=[`fields: ${JSON.stringify(i)}`];if(n)l.push("unique: true");return`[{${l.join(", ")}}]`}if(f==="idStart"){let i=_[0],n=1,u=i;if(i&&i[0]==="-"&&_[1]&&_[1][0]==="NUMBER")n=-1,u=_[1];if(!u||u[0]!=="NUMBER")throw r(i||_[_.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let l=n*Number(u[1]);if(!Number.isInteger(l))throw r(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+l+"}]"}return null}function i3(f,_){if(!f.length)throw r(null,"Empty constraint value.");let i=f[0],n=i[0];if(f.length===1){if(n==="NUMBER")return Number(i[1]);if(n==="STRING")return JSON.parse(i[1]);if(n==="BOOL")return i[1]==="true";if(n==="NULL")return null;if(n==="UNDEFINED")return;if(n==="REGEX")return u5(i[1]);if(n==="SYMBOL")return i[1]}if(f.length===2&&n==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw r(i,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${n}.`)}function u5(f){let _=typeof f==="string"?f:String(f),i=_.match(/^\/(.*)\/([gimsuy]*)$/s);return i?new RegExp(i[1],i[2]):new RegExp(_)}function s1(f){if(!f||!f.length)return null;let _=s1._LexerCtor;if(!_)throw Error("schema: parseBodyTokens called before Lexer was wired");let i=Object.create(_.prototype),n=f.slice();if(n.length>=2&&n[0]?.[0]==="INDENT"){let w=0,D=-1;for(let $=0;$<n.length;$++)if(n[$][0]==="INDENT")w++;else if(n[$][0]==="OUTDENT"){if(w--,w===0){D=$;break}}if(D===n.length-1)n=n.slice(1,-1)}if(i.tokens=n,i.seenFor=i.seenImport=i.seenExport=!1,i.ends=[],i.indent=0,i.outdebt=0,i.indents=[],i.tokens[i.tokens.length-1]?.[0]!=="TERMINATOR")i.tokens.push(q2("TERMINATOR",`
|
|
1031
|
+
`,f[f.length-1]));try{i.rewriteTypes?.(),i.tagPostfixConditionals?.(),i.rewriteTaggedTemplates?.(),i.addImplicitBracesAndParens?.(),i.addImplicitCallCommas?.()}catch(w){throw r(f[0],`schema: failed to compile body: ${w.message}`)}let l=i.tokens.filter((w)=>w[0]!=="TYPE_DECL"),c=z1.lexer;z1.lexer={tokens:l,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let w=this.tokens[this.pos++],D=w[1];if(w.data)D=new String(D),Object.assign(D,w.data);return this.text=D,this.loc=w.loc,this.line=w.loc?.r,w[0]}};let h;try{h=z1.parse("")}finally{z1.lexer=c}if(!Array.isArray(h)||h[0]!=="program")return null;let A=h.slice(1);if(A.length===0)return null;if(A.length===1)return A[0];return["block",...A]}function f5(f){let _=[],i=f.data;if(i?.bang===!0)_.push("!");if(i?.optional===!0)_.push("?");return _}function l5(f,_){let i=0;for(let n=_;n<f.length;n++)if(f[n][0]==="INDENT")i++;else if(f[n][0]==="OUTDENT"){if(i--,i===0)return n}return-1}function o1(f){let _=[],i=[],n=0;for(let u of f){let l=u[0];if(l==="("||l==="["||l==="{"||l==="CALL_START"||l==="INDEX_START"||l==="PARAM_START"||l==="INDENT")n++;if(l===")"||l==="]"||l==="}"||l==="CALL_END"||l==="INDEX_END"||l==="PARAM_END"||l==="OUTDENT")n--;if(l===","&&n===0){if(i.length)_.push(i);i=[];continue}i.push(u)}if(i.length)_.push(i);return _}function _5(f){let _=f[0],i=f[1];if(_==="NUMBER")return Number(i);if(_==="STRING")return JSON.parse(i);if(_==="BOOL")return i==="true";if(_==="NULL")return null;if(_==="UNDEFINED")return;return i}function q2(f,_,i){let n=[f,_];if(n.pre=0,n.data=null,n.loc=i?.loc??{r:0,c:0,n:0},n.spaced=!1,n.newLine=!1,n.generated=!0,i)n.origin=i;return n}function r(f,_){let i=f?.loc||{r:0,c:0},n=Error(_);return n.name="SchemaSyntaxError",n.loc=i,n.line=i.r,n.column=i.c,n.phase="schema",n.code="E_SCHEMA",n}function i5(f={}){if(!Z2)throw Error("schema runtime provider not registered. Side-effect-import either './schema/loader-server.js' (CLI / server / tests) or './schema/loader-browser.js' (browser bundle) before calling any compileToJS that emits schemas.");return Z2(f)}function n3({mode:f="browser"}={}){let _;switch(f){case"validate":_=Q2;break;case"browser":_=Q2+`
|
|
1032
|
+
`+e2;break;case"server":case"migration":throw Error("schema runtime mode '"+f+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${f}`)}return(k2+_+p2).trimStart()}l3(n3);var n5=n3({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(n5)}catch{}function w3(f){let _=f.prototype;_.rewriteTypes=function(){let i=this.tokens,n=this.typeRefNames=new Set,u=(l,c,h)=>{let A=[l,c];if(A.pre=0,A.data=null,A.loc=h?.loc??{r:0,c:0,n:0},A.spaced=!1,A.newLine=!1,A.generated=!0,h)A.origin=h;return A};this.scanTokens((l,c,h)=>{let A=l[0];if(A==="IDENTIFIER"){let w=h[c+1];if(w&&w[0]==="COMPARE"&&w[1]==="<"&&!w.spaced){let D=h[c-1]?.[0]==="DEF",$=h3(h,c+1);if($){let U=c+1+$.length,R=!D&&h[U]?.[0]==="="&&h[U+1]?.[0]==="COMPONENT";if(D||R){if(!l.data)l.data={};if(l.data.typeParams=q1($),h.splice(c+1,$.length),D&&h[c+1]?.[0]==="("){h[c+1][0]="CALL_START";let z=1,M=c+2;while(M<h.length&&z>0){if(h[M][0]==="("||h[M][0]==="CALL_START")z++;if(h[M][0]===")"||h[M][0]==="CALL_END")z--;if(z===0)h[M][0]="CALL_END";M++}}}}}}if(A==="TYPE_ANNOTATION"){let w=h[c-1];if(!w)return 1;let D=c3(h,c+1),$=q1(D),U=w,R="type";if(w[0]==="CALL_END"||w[0]===")"){let M=1,F=c-2;while(F>=0&&M>0){let H=h[F][0];if(H==="CALL_END"||H===")")M++;if(H==="CALL_START"||H==="(")M--;F--}if(F>=0)U=h[F];R="returnType"}else if(w[0]==="PARAM_END"){let M=c+1+D.consumed,F=h[M];if(F&&(F[0]==="->"||F[0]==="=>"))U=F;R="returnType"}else if(w[0]==="IDENTIFIER"&&c>=2&&h[c-2]?.[0]==="DEF")R="returnType";if(!U.data)U.data={};U.data[R]=$;for(let M of D)if(M[0]==="IDENTIFIER")n.add(M[1]);let z=1+D.consumed;return h.splice(c,z),0}if(A==="IDENTIFIER"&&l[1]==="type"){let w=h[c-1]?.[0];if(!(!w||w==="TERMINATOR"||w==="INDENT"||w==="EXPORT"))return 1;let $=c+1,U=h[$];if(!U||U[0]!=="IDENTIFIER")return 1;let R=U[1],z=w==="EXPORT",M=z?c-1:c,F=$+1;if(h[F]?.[0]==="COMPARE"&&h[F]?.[1]==="<"&&!h[F].spaced){let Y=h3(h,F);if(Y){if(!U.data)U.data={};U.data.typeParams=q1(Y),h.splice(F,Y.length)}}if(h[F]?.[0]!=="=")return 1;let H=(Y)=>{let J=u("TYPE_DECL",R,U);if(J.data={name:R,typeText:Y,exported:z},U.data?.typeParams)J.data.typeParams=U.data.typeParams;return J},K=F+1,W=h[K],O=(Y,J)=>{for(let Z=Y;Z<=J&&Z<h.length;Z++)if(h[Z][0]==="IDENTIFIER")n.add(h[Z][1])};if(W&&(W[0]==="TERMINATOR"||W[0]==="INDENT")){let Y=c5(h,K);if(Y)return O(K,Y.endIdx),h.splice(M,Y.endIdx-M+1,H(Y.typeText)),0}if(W&&W[0]==="INDENT"){let Y=G2(h,K);return O(K,Y),h.splice(M,Y-M+1,H(J2(h,K))),0}let Q=c3(h,K);return O(K,K+Q.consumed-1),h.splice(M,K+Q.consumed-M,H(q1(Q))),0}if(A==="INTERFACE"){let w=c>=1&&h[c-1]?.[0]==="EXPORT",D=c+1,$=h[D];if(!$)return 1;let U=$[1],R=null,z=D+1;if(h[z]?.[0]==="EXTENDS")R=h[z+1]?.[1],z=z+2;if(h[z]?.[0]==="INDENT"){let M=J2(h,z),F=G2(h,z);for(let O=z;O<=F&&O<h.length;O++)if(h[O][0]==="IDENTIFIER")n.add(h[O][1]);if(R)n.add(R);let H=u("TYPE_DECL",U,$);H.data={name:U,kind:"interface",extends:R,typeText:M,exported:w};let K=w?c-1:c,W=F-K+1;return h.splice(K,W,H),0}return 1}return 1});for(let l=i.length-1;l>=0;l--){if(i[l][0]!=="DEF")continue;let c=i[l+1];if(!c||c[0]!=="IDENTIFIER")continue;let h=l+2;if(i[h]?.[0]!=="CALL_START")continue;let A=1;h++;while(h<i.length&&A>0){if(i[h][0]==="CALL_START")A++;if(i[h][0]==="CALL_END")A--;h++}let w=h-1,D=i[h];if(D&&D[0]!=="TERMINATOR")continue;let $=c.data?.returnType;if(!$){for(let H=l+2;H<=w;H++)if(i[H].data?.type){$=!0;break}}if(!$)continue;let U=i.slice(l,h+1),R=l>=1&&i[l-1]?.[0]==="EXPORT",z=R?l-1:l,M=h+1-z,F=u("TYPE_DECL",c[1],c);if(F.data={name:c[1],kind:"overload",overloadTokens:U,exported:R},c.data?.typeParams)F.data.typeParams=c.data.typeParams;i.splice(z,M,F)}}}function c3(f,_){let i=[],n=0,u=[],l=_;while(_<f.length){let c=f[_],h=c[0],A=h==="("||h==="["||h==="{"||h==="CALL_START"||h==="PARAM_START"||h==="INDEX_START"||h==="COMPARE"&&c[1]==="<",w=h===")"||h==="]"||h==="}"||h==="CALL_END"||h==="PARAM_END"||h==="INDEX_END"||h==="COMPARE"&&c[1]===">";if(h==="SHIFT"&&c[1]===">>"&&n>=2){if(n-=2,u[u.length-1]==="<")u.pop();if(u[u.length-1]==="<")u.pop();i.push(c),_++;continue}if(A){n++;let D=h==="{"?"{":h==="["||h==="INDEX_START"?"[":h==="COMPARE"&&c[1]==="<"?"<":"(";u.push(D),i.push(c),_++;continue}if(w){if(n>0){n--,u.pop(),i.push(c),_++;continue}break}if(n===0){if(h==="INDENT"&&i.length>0&&i[i.length-1][0]==="=>"){_++;let D=1;while(_<f.length&&D>0)if(f[_][0]==="INDENT")D++,_++;else if(f[_][0]==="OUTDENT")D--,_++;else i.push(f[_]),_++;continue}if(h==="="||h==="REACTIVE_ASSIGN"||h==="COMPUTED_ASSIGN"||h==="READONLY_ASSIGN"||h==="EFFECT"||h==="TERMINATOR"||h==="INDENT"||h==="OUTDENT"||h==="->"||h===",")break}if(n>0&&(h==="INDENT"||h==="OUTDENT")){_++;continue}if(n>0&&h==="TERMINATOR"){i.push(["",";"]),_++;continue}if(h==="PROPERTY"&&u[u.length-1]==="{"){let D=i[i.length-1],$=D?.[0],U=D?.[1];if(D&&$!=="{"&&$!==","&&!($===""&&U===";"))i.push(["",";"])}i.push(c),_++}return i.consumed=_-l,i}function q1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);{let n=0;for(let u of f){let l=u[0];if(l==="{")n++;else if(l==="}")n--;else if(l==="TYPE_ANNOTATION"&&n>0){let c=u.loc,h=c?` (line ${c.r}, col ${c.c})`:"",A=Error(`Use \`:\` (not \`::\`) inside a structural type literal${h}. \`::\` binds a name to a type; inside \`{ ... }\` in type position, fields use \`:\` (TS-style).`);throw A.loc=c,A}}}let i=f.map((n,u)=>{let l=f[u+1];if(n.data?.optional&&l&&(l[0]==="TYPE_ANNOTATION"||l[0]===":"))return`${n[1]}?`;return n[1]}).join(" ").replace(/\s+/g," ").trim();return i=i.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,": "),i}function h3(f,_){if(_>=f.length)return null;let i=f[_];if(i[0]!=="COMPARE"||i[1]!=="<")return null;let n=[i],u=1,l=_+1;while(l<f.length&&u>0){let c=f[l];if(n.push(c),c[0]==="COMPARE"&&c[1]==="<")u++;else if(c[0]==="COMPARE"&&c[1]===">")u--;l++}return u===0?n:null}function J2(f,_){let i=[],n=_+1,u=1;while(n<f.length&&u>0){let l=f[n];if(l[0]==="INDENT"){u++,n++;continue}if(l[0]==="OUTDENT"){if(u--,u===0)break;n++;continue}if(l[0]==="TERMINATOR"){n++;continue}if(u===1&&l[0]==="["){let h=[];n++;while(n<f.length&&f[n][0]!=="]")h.push(f[n]),n++;if(n++,f[n]?.[1]===":"||f[n]?.[0]==="TYPE_ANNOTATION")n++;let A=[];while(n<f.length){let $=f[n];if($[0]==="TERMINATOR"||$[0]==="OUTDENT")break;A.push($),n++}let w=q1(h),D=q1(A);i.push(`[${w}]: ${D}`);continue}let c=l[0]==="PROPERTY"||l[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test(l[1])&&f[n+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&c){let h=l[1],A=!1,w=!1;if(n++,h==="readonly"&&f[n]&&(f[n][0]==="PROPERTY"||f[n][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[n][1])&&f[n+1]?.[0]==="TYPE_ANNOTATION")){if(w=!0,h=f[n][1],f[n].data?.optional)A=!0;n++}if(l.data?.optional)A=!0;if(f[n]?.[1]==="?"&&!f[n]?.spaced)A=!0,n++;if(f[n]?.[1]===":"||f[n]?.[0]==="TYPE_ANNOTATION")n++;let D=[],$=0;while(n<f.length){let F=f[n];if(F[0]==="IDENTIFIER"&&F[1]==="type"&&f[n+1]?.[0]==="INDENT"){n++;let H=J2(f,n);D.push(["",H]);let K=1;n++;while(n<f.length&&K>0){if(f[n][0]==="INDENT")K++;if(f[n][0]==="OUTDENT")K--;n++}continue}if(F[0]==="INDENT"){$++,n++;continue}if(F[0]==="OUTDENT"){if($>0){$--,n++;continue}break}if(F[0]==="TERMINATOR"&&$===0)break;D.push(F),n++}let U=q1(D),R=w?"readonly ":"",z=A?"?":"",M=!1;if(!A&&U.startsWith("(")){let F=0;for(let H=0;H<U.length;H++){let K=U[H];if(K==="(")F++;else if(K===")"){if(F--,F===0){let W=U.slice(H+1).trimStart();if(W===""||W.startsWith(":")&&!W.startsWith("::"))M=!0;break}}}}if(M)i.push(`${R}${h}${U}`);else i.push(`${R}${h}${z}: ${U}`)}else n++}return"{ "+i.join("; ")+" }"}function G2(f,_){let i=0;for(let n=_;n<f.length;n++){if(f[n][0]==="INDENT")i++;if(f[n][0]==="OUTDENT"){if(i--,i===0)return n}}return f.length-1}function c5(f,_){let i=_;if(f[i]?.[0]==="TERMINATOR")i++;if(f[i]?.[0]!=="INDENT")return null;let n=i;i++;while(i<f.length&&f[i][0]==="TERMINATOR")i++;if(!f[i]||f[i][1]!=="|")return null;let u=[],l=1;i=n+1;while(i<f.length&&l>0){let h=f[i];if(h[0]==="INDENT"){l++,i++;continue}if(h[0]==="OUTDENT"){if(l--,l===0)break;i++;continue}if(h[0]==="TERMINATOR"){i++;continue}if(h[1]==="|"&&l===1){i++;let A=[];while(i<f.length){let w=f[i];if(w[0]==="TERMINATOR"||w[0]==="OUTDENT"||w[1]==="|"&&l===1)break;A.push(w),i++}if(A.length>0)u.push(q1(A));continue}i++}if(u.length===0)return null;let c=G2(f,n);return{typeText:u.join(" | "),endIdx:c}}var A3=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"]),D3=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),P2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},U3=new Set(Object.keys(P2)),h5=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),w5=new Set(["break","continue","debugger"]),A5=new Set(["NEW","TYPEOF","DELETE"]),D5=new Set(["IN","OF","INSTANCEOF"]),h2=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),w2=new Set([...h2,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),n2=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"]),U5=new Set(["+","-"]),$5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),R5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),J1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),Q1=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"},$3=new Set(["CATCH","THEN","ELSE","FINALLY",...Q1]),X2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),M5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),z5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),W5=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),R3=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),O5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),T1=new Set(["INDENT","OUTDENT","TERMINATOR"]),P1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",c2=(f,_)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&_?.spaced===!1&&!_?.newLine;return!1},F3=new Set([".","?."]),M3=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),H5=new Set([...w2,"++","--"]),z3=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),K5=new Set(["*","/","%","//","%%"]),Q5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Y5=new Set(["<<",">>",">>>"]),Z5=new Set(["!","~"]),q5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,J5=/^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,G5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,X5=/^[^\n\S]+/,P5=/^(?:\n[^\n\S]*)+/,y5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,S5=/^[-=]>/,E5=/^(?:~[=>]|=!)/,N5=/^(?:'''\\|"""\\|'''|"""|'|")/,b5=/^(?:[^\\']|\\[\s\S])*/,I5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,B5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,T5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,W3=/\n+([^\n\S]*)(?=\S)/g,L5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,O3=/^\w*/,C5=/^(?!.*(.).*\1)[gimsuy]*$/,j5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,V5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,r5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,m5=/\s+$/,H3=/^\s*(?:,|\??\.(?![.\d]))/,a5=65279;function A2(f,_,{pre:i=0,row:n=0,col:u=0,len:l=0,data:c=null}={}){let h=[f,_];return h.pre=i,h.data=c,h.loc={r:n,c:u,n:l},h.spaced=i>0,h.newLine=!1,h}function O1(f,_,i){let n=A2(f,_);if(n.generated=!0,i)n.origin=i;return n}function H1(f,{row:_=0,col:i=0,len:n=1}={}){let u=SyntaxError(f);throw u.location={first_line:_,first_column:i,last_column:i+n-1},u}function v5(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 Y1{tokenize(f,_={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=_.row||0,this.col=_.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let i=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(i===0)H1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(i),_.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let i=this.ends[this.ends.length-1];H1(`missing ${i.tag}`,{row:this.row,col:this.col})}if(_.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===a5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
1033
|
+
`),f=f.replace(m5,""),/^[^\n\S]/.test(f))f=`
|
|
1034
|
+
`+f;return f}advance(f){let _=this.code.slice(this.pos,this.pos+f);for(let i=0;i<_.length;i++)if(_[i]===`
|
|
1035
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,_,{len:i,data:n,pre:u}={}){let l=A2(f,_,{pre:u??0,row:this.row,col:this.col,len:i??(typeof _==="string"?_.length:0),data:n});return this.tokens.push(l),l}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}isReturnTypeSlot(){let f=this.tokens.length;if(f<2)return!1;let _=this.tokens[f-1];if(!_||_[1]!==":")return!1;let i=this.tokens[f-2];if(!i)return!1;let n=i[0];return n===")"||n==="CALL_END"||n==="PARAM_END"}inPickKeyPos(){let f=this.prev();if(!f)return!1;let _=f[0];if(_!=="{"&&_!==","&&_!==":"&&_!=="TERMINATOR"&&_!=="INDENT"&&_!=="OUTDENT")return!1;let i=0,n=this.tokens;for(let u=n.length-1;u>=0;u--){let l=n[u],c=l[0];if(c==="}"||c==="PICK_END"){i++;continue}if(c==="{"||c==="PICK_START"||c==="OPTPICK_START"){if(i===0){let h=n[u-1];return!!(h&&(h[0]==="."||h[0]==="?.")&&!h.spaced&&!l.spaced)}i--;continue}if(i===0&&(c==="("||c==="CALL_START"||c==="["||c==="INDEX_START"))return!1}return!1}identifierToken(){if(E5.test(this.chunk))return 0;let f=q5.exec(this.chunk);if(!f)return 0;let[,_,i]=f,n=_.length,u={},l;if(_==="own"&&this.prevTag()==="FOR")return this.emit("OWN",_,{len:n}),n;if(_==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",_,{len:n}),n;if(_==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let D=this.prevTag();if(D==="DEFAULT"||D==="IMPORT_ALL"||D==="IDENTIFIER")return this.emit("AS",_,{len:n}),n}if((_==="as"||_==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(_==="as!"?"FORASAWAIT":"FORAS","as",{len:n}),n;if(_==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",_,{len:n}),n;let c;if(_==="do"&&(c=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),c[1].length+3;let h=this.prev();if(i&&h&&h[0]==="TERNARY")i=null;if(i&&i.length>1&&/[a-zA-Z_$]/.test(this.chunk[n+i.length]))i=null;if(i||h&&(h[0]==="."||h[0]==="?."||!h.spaced&&h[0]==="@")||this.inPickKeyPos()){if(l="PROPERTY",this.inRenderBlock&&h&&h[0]==="."&&!i){let D=this.chunk.slice(n);while(D[0]==="-"&&/^-[a-zA-Z]/.test(D)){let $=/^-([a-zA-Z][\w]*)/.exec(D);if(!$)break;_+="-"+$[1],n+=1+$[1].length,D=this.chunk.slice(n)}}}else l="IDENTIFIER";let A=_.endsWith("!")||_.endsWith("?")?_.slice(0,-1):_;if(l==="IDENTIFIER"&&!_.endsWith("!")&&!_.endsWith("?")&&(A3.has(_)||D3.has(_)||U3.has(_))&&!(this.exportSpecifierList&&U3.has(_))){if(P2[_]!==void 0)u.original=_,_=P2[_];l=this.classifyKeyword(_,l,u)}if(l==="IDENTIFIER"&&h5.has(A))if(A==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"||this.isReturnTypeSlot()));else H1(`reserved word '${A}'`,{row:this.row,col:this.col,len:n});if(l==="PROPERTY"&&h){if(h[0]==="."&&this.tokens.length>1){let D=this.tokens[this.tokens.length-2];if(D[0]==="UNARY"&&D[1]==="new")D[0]="NEW_TARGET";if(D[0]==="IMPORT"&&D[1]==="import")this.seenImport=!1,D[0]="IMPORT_META"}}if(_.length>1&&_.endsWith("!"))u.bang=!0,_=_.slice(0,-1);if(_.length>1&&_.endsWith("?"))u.optional=!0,_=_.slice(0,-1);let w=this.emit(l,_,{len:n,data:Object.keys(u).length?u:null});if(l==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(i)return this.emit(":",":",{len:1}),n+i.length;return n}classifyKeyword(f,_,i){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(w5.has(f))return"STATEMENT";let n=f.toUpperCase();if(n==="WHEN"&&T1.has(this.prevTag()))return"LEADING_WHEN";if(n==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(n==="UNLESS")return"UNLESS";if(n==="IMPORT")return this.seenImport=!0,"IMPORT";if(n==="EXPORT")return this.seenExport=!0,"EXPORT";if(A5.has(n))return"UNARY";if(D5.has(n)){if(n!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+n;if(this.prevVal()==="!"){let u=this.tokens.pop();i.invert=u.data?.original||u[1]}return"RELATION"}if(A3.has(f)||D3.has(f))return n;return _}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let _=this.prev();if(_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY"))return 0;let i=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(i)return this.emit("IDENTIFIER","div#"+i[1]),i[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}if(this.chunk[0]==="#"){let _=this.prev();if(_&&!_.spaced&&!_.newLine&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY"))return 0}let f=y5.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=X5.exec(this.chunk);if(!f&&this.chunk[0]!==`
|
|
1036
|
+
`)return 0;let _=this.prev();if(_)if(f)_.spaced=!0,_.pre=f[0].length;else _.newLine=!0;return f?f[0].length:0}lineToken(){let f=P5.exec(this.chunk);if(!f)return 0;let _=f[0],i=_.length-1-_.lastIndexOf(`
|
|
1037
|
+
`);if(this.isUnfinished()){if(i<this.indent&&/^\s*,/.test(this.chunk)&&!M3.has(this.prevTag())){if(this.outdentTo(i,_.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return _.length}return _.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,i===this.indent)return this.emitNewline(),_.length;if(i>this.indent){if(!this.tokens.length)return this.indent=i,_.length;let n=i-this.indent;return this.emit("INDENT",n,{len:i}),this.indents.push(n),this.ends.push({tag:"OUTDENT"}),this.indent=i,_.length}return this.outdentTo(i,_.length),_.length}outdentTo(f,_=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let i=this.indent-f;while(i>0){let n=this.indents[this.indents.length-1];if(!n)i=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",i,{len:_}),i-=n}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
1038
|
+
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&H3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let i=this.tokens.length;if(i>=2){let n=this.tokens[i-2][0];if(n==="INDENT"||n==="TERMINATOR"||n==="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 i=0;for(let n=this.tokens.length-1;n>=0;n--){let u=this.tokens[n];if(u[0]==="COMPARE"&&u[1]===">")i++;else if(u[0]==="SHIFT"&&u[1]===">>")i+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")i+=3;else if(u[0]==="COMPARE"&&u[1]==="<")i--;if(i===0&&u[0]==="TYPE_ANNOTATION")return!1;if(i===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="INTERFACE")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT"){let l=-1;if(u[0]==="INDENT")l=n;else{let c=u[0]==="OUTDENT"?1:0;for(let h=n-1;h>=0;h--){let A=this.tokens[h];if(A[0]==="OUTDENT")c++;else if(A[0]==="INDENT"){if(c===0){l=h;break}c--}}}if(l>0)for(let c=l-1;c>=0;c--){let h=this.tokens[c];if(h[0]==="TERMINATOR"||h[0]==="INDENT"||h[0]==="OUTDENT")break;if(h[0]==="INTERFACE")return!1;if(h[0]==="IDENTIFIER"&&h[1]==="type"){let A=this.tokens[c-1];if(!A||A[0]==="TERMINATOR"||A[0]==="EXPORT")return!1;break}}break}}}return H3.test(this.chunk)||M3.has(this.prevTag())}pair(f){let _=this.ends[this.ends.length-1];if(!_||f!==_.tag){if(_?.tag==="OUTDENT"){let i=this.indents[this.indents.length-1];if(i)this.outdentTo(this.indent-i);return this.pair(f)}H1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=N5.exec(this.chunk);if(!f)return 0;let _=f[0],i=_.length>1&&_.endsWith("\\"),n=i?_.slice(0,-1):_,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let l;switch(n){case"'":l=b5;break;case'"':l=I5;break;case"'''":l=B5;break;case'"""':l=T5;break}let{tokens:c,index:h}=this.matchWithInterpolations(l,_,n),A=n.length===3,w=null;if(A)w=this.processHeredocIndent(h,n,c);return this.mergeInterpolationTokens(c,{quote:n,indent:w,endOffset:h,raw:i}),h}processHeredocIndent(f,_,i){let n=f-_.length,u=n-1;while(u>=0&&this.chunk[u]!==`
|
|
1039
|
+
`)u--;u++;let l=this.chunk.slice(u,n),c=/^\s*$/.test(l)?l.length:null,h="";for(let D of i)if(D[0]==="NEOSTRING")h+=D[1];let A=null,w;W3.lastIndex=0;while(w=W3.exec(h))if(A===null||w[1].length>0&&w[1].length<A.length)A=w[1];if(c===null)return A;if(A===null)return" ".repeat(c);if(c<=A.length)return" ".repeat(c);return A}matchWithInterpolations(f,_,i,n){if(!i)i=_;if(!n)n=/^[#$]\{/;let u=[],l=_.length;if(this.chunk.slice(0,l)!==_)return null;let c=this.chunk.slice(l);while(!0){let[h]=f.exec(c);u.push(["NEOSTRING",h,{offset:l}]),c=c.slice(h.length),l+=h.length;let A=n.exec(c);if(!A)break;let D=A[0].length-1,$=c.slice(D),U=new Y1().tokenize($,{row:this.row,col:this.col+l+D,untilBalanced:!0,rewrite:!1}),R=U.index+D;if(c[R-1]==="}"){let M=U.tokens[0],F=U.tokens[U.tokens.length-1];M[0]="INTERPOLATION_START",M[1]="(",F[0]="INTERPOLATION_END",F[1]=")"}if(U.tokens[1]?.[0]==="TERMINATOR")U.tokens.splice(1,1);let z=U.tokens.length;if(z>2&&U.tokens[z-3]?.[0]==="INDENT"&&U.tokens[z-2]?.[0]==="OUTDENT")U.tokens.splice(z-3,2);u.push(["TOKENS",U.tokens]),c=c.slice(R),l+=R}if(c.slice(0,i.length)!==i)H1(`missing ${i}`,{row:this.row,col:this.col});return{tokens:u,index:l+i.length}}mergeInterpolationTokens(f,{quote:_,indent:i,endOffset:n,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:_?.length||0,data:{quote:_}});for(let l=0;l<f.length;l++){let[c,h]=f[l];if(c==="TOKENS")for(let A of h)this.tokens.push(A);else if(c==="NEOSTRING"){let A=h;if(i){let w=new RegExp("\\n"+i,"g");A=A.replace(w,`
|
|
1040
|
+
`)}if(l===0&&_?.length===3)A=A.replace(/^\n/,"");if(l===f.length-1&&_?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:h.length,data:{quote:_}})}}if(f.length>1)this.emit("STRING_END",")",{len:_?.length||0});return n}numberToken(){let f=J5.exec(this.chunk);if(!f)return 0;let _=f[0],i=_.length,n={row:this.row,col:this.col};if(/^0[BOX]/.test(_))H1(`radix prefix in '${_}' must be lowercase`,{...n,col:n.col+1});if(/^0\d*[89]/.test(_))H1(`decimal literal '${_}' must not be prefixed with '0'`,{...n,len:i});if(/^0\d+/.test(_))H1(`octal literal '${_}' must be prefixed with '0o'`,{...n,len:i});let u=v5(_),l=u===1/0?"INFINITY":"NUMBER",c={parsedValue:u};if(l==="INFINITY")c.original=_;return this.emit(l,_,{len:i,data:c}),i}regexToken(){let f=this.matchWithInterpolations(j5,"///");if(f){let{tokens:w,index:D}=f,[$]=O3.exec(this.chunk.slice(D)),U=D+$.length;if(w.length===1||!w.some((R)=>R[0]==="TOKENS")){let R=(w[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${R}/${$}`,{len:U,data:{delimiter:"///",heregex:{flags:$}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(w,{quote:"///",endOffset:U-$.length}),$)this.emit(",",",",{len:0}),this.emit("STRING",`"${$}"`,{len:$.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return U}let _=L5.exec(this.chunk);if(!_)return 0;let[i,n,u]=_,l=this.prev();if(l){if(l.spaced&&h2.has(l[0])&&(!u||/^\/=?\s/.test(i)))return 0;if(H5.has(l[0])&&!(l.spaced&&h2.has(l[0])))return 0}if(!u)H1("missing / (unclosed regex)",{row:this.row,col:this.col});let c=i.length,[h]=O3.exec(this.chunk.slice(c)),A=c+h.length;if(!C5.test(h))H1(`invalid regular expression flags ${h}`,{row:this.row,col:this.col+c,len:h.length});return this.emit("REGEX",`/${n}/${h}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let f=r5.exec(this.chunk)||V5.exec(this.chunk);if(!f)return 0;let _=f[1],i=f[0].length;return this.emit("JS",_,{len:i,data:{here:f[0].startsWith("```")}}),i}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let i={"[":"]","(":")","{":"}","<":">"}[f]||f,n=i!==f,u=1,l=3;while(l<this.chunk.length&&u>0){let w=this.chunk[l];if(w==="\\"){l+=2;continue}if(n&&w===f)u++;if(w===i)u--;if(u>0)l++}if(u!==0)return 0;let c=this.chunk.slice(3,l),h=l+1,A=[];if(c.trim()){let w=c.trim().split(/(?<!\\)\s+/);for(let D of w)A.push(D.replace(/\\ /g," "))}this.emit("[","[",{len:h});for(let w=0;w<A.length;w++){if(w>0)this.emit(",",",");this.emit("STRING",`"${A[w]}"`)}return this.emit("]","]"),h}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 _=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!_)return 0;let i=_[1],n=i.length+1;return this.emit("SYMBOL",i,{len:n}),n}literalToken(){let f=this.wordLiteral();if(f)return f;let _=this.symbolToken();if(_)return _;let i=G5.exec(this.chunk),n=i?i[0]:this.chunk.charAt(0),u=n,l=this.prev();if(S5.test(n))this.tagParameters();if(n==="="&&l&&l[1]==="."&&!l.spaced){let c=this.tokens,h=c.length-2;while(h>=1&&c[h][0]==="PROPERTY"&&c[h-1]?.[1]===".")h-=2;if(h>=0&&(c[h][0]==="IDENTIFIER"||c[h][0]===")"||c[h][0]==="]")){let A=c.slice(h,c.length-1);l[0]="=",l[1]="=";for(let w of A)this.tokens.push(A2(w[0],w[1],{pre:0,row:w[2],col:w[3],len:w[4]}));return this.tokens.push(A2(".",".",{pre:0,row:this.row,col:this.col,len:1})),n.length}}if(l&&(n==="="||z3.has(n))){if(n==="="&&(l[1]==="||"||l[1]==="&&"||l[1]==="??")&&!l.spaced)return l[0]="COMPOUND_ASSIGN",l[1]+="=",n.length}if(n==="("&&l?.[0]==="IMPORT")l[0]="DYNAMIC_IMPORT";if(n==="{"&&this.seenImport)this.importSpecifierList=!0;if(n==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(n==="{"&&l?.[0]==="EXPORT")this.exportSpecifierList=!0;if(n==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(n===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(n==="|>")u="PIPE";else if(n==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(n==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(n==="~=")u="COMPUTED_ASSIGN";else if(n===":=")u="REACTIVE_ASSIGN";else if(n==="<=>")u="BIND";else if(n==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(n==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(n==="*>"&&(!l||l[0]==="TERMINATOR"||l[0]==="INDENT"||l[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let c=this.chunk.slice(2),h=/^@(\s*)=(?!=)/.exec(c);if(h){let w=h[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let D=this.emit("PROPERTY","assign");return D.spaced=!0,this.emit("@","@"),this.emit(",",","),3+w.length+1}let A=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(c);if(A){let w=A[1],D=A[2],$=w[0]==="@",U=$?w.slice(1):w,R=U?U.split("."):[],z=()=>{if($){if(this.emit("@","@"),R.length>0)this.emit("PROPERTY",R[0])}else this.emit("IDENTIFIER",R[0]);for(let F=1;F<R.length;F++)this.emit(".","."),this.emit("PROPERTY",R[F])};z(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),z(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let M=this.prev();return M.mergeClose=!0,2+w.length+D.length+1}}else if(n==="*"&&l?.[0]==="EXPORT")u="EXPORT_ALL";else if(K5.has(n))u="MATH";else if(Q5.has(n))u="COMPARE";else if(z3.has(n))u="COMPOUND_ASSIGN";else if(Z5.has(n))u="UNARY_MATH";else if(Y5.has(n))u="SHIFT";else if(n==="?"&&l?.spaced)u="TERNARY";else if(n==="?!"&&l&&!l.spaced)u="PRESENCE";else if(n==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if(l){if(n==="("&&!l.spaced&&h2.has(l[0])){if(l[0]==="?.")l[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(n==="["&&!l.spaced&&w2.has(l[0])){if(u="INDEX_START",l[0]==="?.")l[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(n==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(n==="="){let c=this.tokens.length;if(c>=2&&this.tokens[c-1][0]==="IDENTIFIER"&&this.tokens[c-2][0]==="IDENTIFIER"&&this.tokens[c-2][1]==="type"&&(c===2||this.tokens[c-3][0]==="TERMINATOR"||this.tokens[c-3][0]==="INDENT"||this.tokens[c-3][0]==="OUTDENT"||this.tokens[c-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(n==="("||n==="{"||n==="[")this.ends.push({tag:F5[n],origin:[u,n]});else if(n===")"||n==="}"||n==="]")this.pair(n);return this.emit(u,n,{len:n.length}),n.length}tagParameters(){let f=this.tokens.length-1;if(this.tokens[f]?.[0]!==")"){let n=this.tokens.length,u=0,l=n-1,c=-1;while(l>=0){let h=this.tokens[l],A=h[0];if(A===")"||A==="]"||A==="}"||A==="CALL_END"||A==="PARAM_END"||A==="INDEX_END"||A==="COMPARE"&&h[1]===">")u++;else if(A==="("||A==="["||A==="{"||A==="CALL_START"||A==="PARAM_START"||A==="INDEX_START"||A==="COMPARE"&&h[1]==="<")u--;else if(u===0){if(A==="TYPE_ANNOTATION"){if(l>0&&this.tokens[l-1][0]===")")c=l-1;break}if(A==="TERMINATOR"||A==="INDENT"||A==="OUTDENT"||A==="="||A==="->"||A==="=>")break}l--}if(c<0)return this.tagDoIife();f=c}let _=f,i=[];this.tokens[_][0]="PARAM_END";while(_-- >0){let n=this.tokens[_];if(n[0]===")")i.push(n);else if(n[0]==="("||n[0]==="CALL_START")if(i.length)i.pop();else if(n[0]==="(")return n[0]="PARAM_START",this.tagDoIife(_-1);else{this.tokens[f][0]="CALL_END";return}}}tagDoIife(f){let _=this.tokens[f??this.tokens.length-1];if(_?.[0]==="DO")_[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.rewriteTypes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let _=0;_<f.length;_++){if(f[_][0]!=="MATH"||f[_][1]!=="*")continue;let i=f[_+1];if(!i||i[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let n=f[_-1];if(n&&w2.has(n[0]))continue;f.splice(_,1),f[_][0]="MAP_START";let u=1;for(let l=_+1;l<f.length&&u>0;l++){let c=f[l][0];if(c==="{"||c==="MAP_START")u++;if(c==="}"){if(u--,u===0)f[l][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let _=0;_<f.length;_++){let i=f[_][0];if(i!=="."&&i!=="?.")continue;let n=f[_+1];if(!n||n[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let u=f[_-1];if(!u||!w2.has(u[0]))continue;let l=i==="?.";f.splice(_,1),f[_][0]=l?"OPTPICK_START":"PICK_START";let c=1;for(let h=_+1;h<f.length&&c>0;h++){let A=f[h][0];if(A==="{"||A==="PICK_START"||A==="OPTPICK_START")c++;else if(A==="}"){if(c--,c===0){f[h][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,_)=>{if(f[0]==="CALL_START")this.detectEnd(_+1,(i)=>i[0]===")"||i[0]==="CALL_END",(i)=>i[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,_)=>{if(f[0]==="INDEX_START")this.detectEnd(_+1,(i)=>i[0]==="]"||i[0]==="INDEX_END",(i,n)=>{if(this.tokens[n+1]?.[0]===":")f[0]="[",i[0]="]";else i[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,_=null,i=null,n=(l,c)=>{return l[1]!==";"&&O5.has(l[0])&&!(l[0]==="TERMINATOR"&&$3.has(this.tokens[c+1]?.[0]))&&!(l[0]==="ELSE"&&f!=="THEN")||l[0]==="INDENT"&&!l.generated&&(f==="->"||f==="=>")||l[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(c)&&!this.commaInImplicitObject(c)||F3.has(l[0])&&(this.tokens[c-1]?.newLine||this.tokens[c-1]?.[0]==="OUTDENT")},u=(l,c)=>{let h=this.tokens[c-1]?.[0]===","?c-1:c;this.tokens.splice(h,0,i)};this.scanTokens((l,c,h)=>{let[A]=l;if(A==="TERMINATOR"){if(this.tokens[c+1]?.[0]==="ELSE"&&this.tokens[c-1]?.[0]!=="OUTDENT")return h.splice(c,1,...this.makeIndentation()),1;if($3.has(this.tokens[c+1]?.[0]))return h.splice(c,1),0}if(A==="CATCH")for(let w=1;w<=2;w++){let D=this.tokens[c+w]?.[0];if(D==="OUTDENT"||D==="TERMINATOR"||D==="FINALLY")return h.splice(c+w,0,...this.makeIndentation()),2+w}if((A==="->"||A==="=>")&&(this.tokens[c+1]?.[0]===","||this.tokens[c+1]?.[0]==="]"))return[_,i]=this.makeIndentation(),h.splice(c+1,0,_,i),1;if(R3.has(A)&&this.tokens[c+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[c+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[c-1]?.[0]!=="OUTDENT")){if(f=A,[_,i]=this.makeIndentation(),A==="THEN")_.fromThen=!0;if(h.splice(c+1,0,_),A==="THEN"&&this.singleLineOwner(c)==="LEADING_WHEN")this.detectWhenThenEnd(c+2,n,u);else this.detectEnd(c+2,n,u);if(A==="THEN")h.splice(c,1);return 1}return 1})}singleLineOwner(f){let _=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let i=f-1;i>=0;i--){let n=this.tokens[i],u=n?.[0];if(_.has(u))return u;if(T1.has(u)||n?.newLine)return null}return null}detectWhenThenEnd(f,_,i){let n=0,u=0;while(f<this.tokens.length){let l=this.tokens[f],c=l[0];if(n===0){if(c==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(c==="ELSE"&&u>0)u--;else if(_.call(this,l,f))return i.call(this,l,f)}if(J1.has(c))n++;if(Q1.has(c))n--;if(n<0)return i.call(this,l,f);f++}}tagPostfixConditionals(){let f=null,_=(n,u)=>{return n[0]==="TERMINATOR"||n[0]==="INDENT"&&!R3.has(this.tokens[u-1]?.[0])},i=(n)=>{if(n[0]!=="INDENT"||n.generated&&!n.fromThen)f[0]="POST_"+f[0]};this.scanTokens((n,u)=>{if(n[0]!=="IF"&&n[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=n,this.detectEnd(u+1,_,i),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let _=f.length-2;_>=0;_--)if(f[_][0]==="IDENTIFIER"&&f[_][1]==="$"&&(f[_+1]?.[0]==="STRING"||f[_+1]?.[0]==="STRING_START")){let i=f[_-1];if(i&&M5.has(i[0])){if(f.splice(_,1),i.spaced=!1,f[_].spaced=!1,f[_].pre=0,f[_].newLine)f[_].newLine=!1}}}addImplicitBracesAndParens(){let f=[],_=!1;this.scanTokens((i,n,u)=>{let[l]=i,c=u[n-1]||[],h=u[n+1]||[],[A]=c,[w]=h,D=n,$=(q)=>n-D+q,U=()=>f[f.length-1],R=(q)=>q?.[2]?.ours,z=()=>R(U())&&U()?.[0]==="(",M=()=>R(U())&&U()?.[0]==="{",F=(q)=>{f.push(["(",q,{ours:!0}]),u.splice(q,0,O1("CALL_START","("))},H=()=>{f.pop(),u.splice(n,0,O1("CALL_END",")")),n+=1},K=(q,G={})=>{f.push(["{",q,{sameLine:!0,startsLine:G.startsLine??!0,ours:!0}]);let P=O1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(q,0,P)},W=(q)=>{q=q??n,f.pop(),u.splice(q,0,O1("}","}")),n+=1},O=l==="FOR"&&!i.newLine&&W5.has(A);if((z()||M())&&z5.has(l)&&!O)return f.push(["CONTROL",n,{ours:!0}]),$(1);if(l==="INDENT"&&R(U())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(z()||M()&&A!==":")if(z())H();else W();if(U()?.[2]?.ours&&U()[0]==="CONTROL")f.pop();return f.push([l,n]),$(1)}if(J1.has(l))return f.push([l,n]),$(1);if(Q1.has(l)){while(R(U()))if(z())H();else if(M())W();else f.pop();f.pop()}let Q=!1;if(w==="-"&&!h.spaced&&!h.newLine&&P1(i))for(let q=n;q<u.length-2;q+=2){if(!c2(u[q+1],u[q+2]))break;if(!P1(u[q+2]))break;if(u[q+3]?.[0]===":"){Q=!0;break}}if(!Q&&X2.has(l)&&i.spaced&&(n2.has(w)||w==="..."&&n2.has(u[n+2]?.[0])||U5.has(w)&&!h.spaced&&!h.newLine)&&!((l==="]"||l==="}")&&(w==="->"||w==="=>")))return F(n+1),$(2);if(X2.has(l)&&this.tokens[n+1]?.[0]==="INDENT"&&this.looksObjectish(n+2)&&!this.findTagsBackwards(n,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return F(n+1),f.push(["INDENT",n+2]),$(3);if(l==="TERNARY")_=!0;if(l===":"){if(_)return _=!1,$(1);if(P1(u[n-1])&&c2(u[n-2],u[n-1])){let P=n-2;while(P>=2&&c2(u[P],u[P+1])&&P1(u[P-1]))P-=2;if(P+=1,P1(u[P])){let L="";for(let e=P;e<n;e++)L+=u[e][1];let I=O1("STRING",`"${L}"`,u[P]);I.pre=u[P].pre,I.spaced=u[P].spaced,I.newLine=u[P].newLine,I.loc=u[P].loc,u.splice(P,n-P,I),n=P+1}}let q=Q1.has(this.tokens[n-1]?.[0])?f[f.length-1]?.[1]??n-1:n-1;if(this.tokens[n-2]?.[0]==="@")q=n-2;let G=q<=0||T1.has(this.tokens[q-1]?.[0])||this.tokens[q-1]?.newLine;if(U()){let[P,L]=U(),I=f[f.length-2],e=(p)=>p==="{"||p==="MAP_START"||p==="PICK_START"||p==="OPTPICK_START";if((e(P)||P==="INDENT"&&e(I?.[0])&&!R(I))&&(G||this.tokens[q-1]?.[0]===","||e(this.tokens[q-1]?.[0])||e(this.tokens[q]?.[0])))return $(1)}return K(q,{startsLine:!!G}),$(2)}if(T1.has(l))for(let q=f.length-1;q>=0;q--){if(!R(f[q]))break;if(f[q][0]==="{")f[q][2].sameLine=!1}let Y=A==="OUTDENT"||c.newLine,J=l==="||"||l==="&&",Z=!1;if(J){let q=n+1,G=u[q]?.[0];if(G==="("||G==="["||G==="{"){for(let P=1;++q<u.length&&P>0;)if(G=u[q][0],G==="("||G==="["||G==="{")P++;else if(G===")"||G==="]"||G==="}")P--}else if(G&&G!=="TERMINATOR"&&G!=="OUTDENT"&&G!==",")q++;Z=u[q]?.[0]===","}if($5.has(l)&&!Z||F3.has(l)&&Y)while(R(U())){let[q,,{sameLine:G,startsLine:P}]=U();if(z()&&A!==",")H();else if(M()&&!J&&G&&l!=="TERMINATOR"&&A!==":")W();else if(M()&&l==="TERMINATOR"&&A!==","&&!(P&&this.looksObjectish(n+1)))W();else if(U()?.[2]?.ours&&U()[0]==="CONTROL"&&u[U()[1]]?.[0]==="CLASS"&&l==="TERMINATOR")f.pop();else break}if(l===","&&!this.looksObjectish(n+1)&&M()&&(w!=="TERMINATOR"||!this.looksObjectish(n+2))){let q=w==="OUTDENT"?1:0;while(M())W(n+q)}return $(1)})}addImplicitCallCommas(){let f=0,_=0,i=this.tokens;while(_<i.length){let n=i[_][0],u=_>0?i[_-1][0]:null;if(n==="CALL_START"||n==="(")f++;if(n==="CALL_END"||n===")")f--;if(f>0&&(n==="->"||n==="=>")&&R5.has(u))i.splice(_,0,O1(",",",")),_++;_++}}scanTokens(f){let _=0;while(_<this.tokens.length)_+=f.call(this,this.tokens[_],_,this.tokens)}detectEnd(f,_,i,n={}){let u=0;while(f<this.tokens.length){let l=this.tokens[f];if(u===0&&_.call(this,l,f))return i.call(this,l,f);if(J1.has(l[0]))u++;if(Q1.has(l[0]))u--;if(u<0){if(n.returnOnNegativeLevel)return;return i.call(this,l,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let _=0;_<f.length;_++){if(!f[_].mergeClose)continue;let i=0;for(let n=_+1;n<f.length;n++){let u=f[n][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")i++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")i--;if(i<0||i===0&&u==="TERMINATOR"){f.splice(n,0,O1("CALL_END",")",f[n-1]));break}if(n===f.length-1){f.splice(n+1,0,O1("CALL_END",")",f[n]));break}}}}commaInImplicitCall(f){let _=0;for(let i=f-1;i>=0;i--){let n=this.tokens[i][0];if(Q1.has(n)){_++;continue}if(J1.has(n)){if(n==="INDENT")return!1;if(_--,_<0)return!1;continue}if(_>0)continue;if(X2.has(n)&&this.tokens[i].spaced){let u=this.tokens[i+1]?.[0];return n2.has(u)||u==="..."&&n2.has(this.tokens[i+2]?.[0])}}return!1}commaInImplicitObject(f){let _=0;for(let i=f-1;i>=0;i--){let n=this.tokens[i][0];if(Q1.has(n)){_++;continue}if(J1.has(n)){if(_--,_<0)return!1;continue}if(_>0)continue;if(n===":"&&i>0&&this.tokens[i-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(T1.has(n))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(P1(this.tokens[f]))for(let _=f+1;_<this.tokens.length;_+=2){if(!c2(this.tokens[_],this.tokens[_+1]))break;if(!P1(this.tokens[_+1]))break;if(this.tokens[_+2]?.[0]===":")return!0}if(J1.has(this.tokens[f]?.[0])){let _=null;if(this.detectEnd(f+1,(i)=>Q1.has(i[0]),(i,n)=>_=n),_&&this.tokens[_+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,_){let i=new Set(_),n=[];while(f>=0){let u=this.tokens[f]?.[0];if(!n.length&&i.has(u))return!0;if(Q1.has(u))n.push(u);if(J1.has(u)&&n.length)n.pop();if(!n.length&&(J1.has(u)&&!this.tokens[f]?.generated||T1.has(u)))break;f--}return!1}makeIndentation(f){let _=O1("INDENT",2),i=O1("OUTDENT",2);if(f)_.generated=i.generated=!0,_.origin=i.origin=f;else _.explicit=i.explicit=!0;return[_,i]}}w3(Y1);i2(Y1);var g5=["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"],K3=new Set(g5);var t5=["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 s5=["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"],o5=["math","param","portal"],Q3=new Set([...t5,...o5]),y1=new Set(s5),S1=new Set([...Q3,...y1]);var Y3="__bind_",Z3="__",y2=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),x5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),S2="http://www.w3.org/2000/svg";function d5(f){for(let _ of f){if(!Array.isArray(_))continue;let i=_[1]instanceof String?_[1].valueOf():_[1],n=_[2]instanceof String?_[2].valueOf():_[2];if(i==="type"&&typeof n==="string")return n.replace(/^["']|["']$/g,"")}return null}function E1(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 E2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function N2(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 b2(f){if(f instanceof String&&f.optional)return!0;if(Array.isArray(f)&&f[2]instanceof String&&f[2].optional)return!0;return!1}function q3(f,_){let i=(w,D)=>w instanceof String?w[D]:void 0,n=_.prototype.classifyKeyword;_.prototype.classifyKeyword=function(w,D,$){if(w==="offer"||w==="accept"){let U=0;for(let R=this.tokens.length-1;R>=0;R--){let z=this.tokens[R][0];if(z==="OUTDENT")U++;else if(z==="INDENT")U--;if(U<0&&this.tokens[R-1]?.[0]==="COMPONENT")return w.toUpperCase()}return D}return n.call(this,w,D,$)},_.prototype.rewriteRender=function(){let w=(W,O,Q)=>{let Y=[W,O];if(Y.pre=0,Y.data=null,Y.loc=Q?.loc??{r:0,c:0,n:0},Y.spaced=!1,Y.newLine=!1,Y.generated=!0,Q)Y.origin=Q;return Y},D=!1,$=0,U=0,R=[],z=(W)=>{let O=W.split("#")[0];return S1.has(O)},M=(W)=>{if(!W||typeof W!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(W)},F=(W)=>{return z(W)||M(W)},H=(W,O,Q,Y)=>{let J=1,Z=O;while(Z>=0&&J>0){let q=W[Z][0];if(q===Q)J++;else if(q===Y)J--;if(J>0)Z--}return Z},K=(W,O)=>{let Q=O;while(Q>0){let Y=W[Q-1][0];if(Y==="TERMINATOR"||Y==="RENDER")break;if(Y==="INDENT"||Y==="OUTDENT"){let J=W[Q][0];if(J==="CALL_END"||J===")"){Q=H(W,Q-1,J,J==="CALL_END"?"CALL_START":"(");continue}break}if(Y==="CALL_END"||Y===")"){Q=H(W,Q-2,Y,Y==="CALL_END"?"CALL_START":"(");continue}if(Y==="INTERPOLATION_END"){Q=H(W,Q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Y==="STRING_END"){Q=H(W,Q-2,"STRING_END","STRING_START");continue}Q--}return W[Q]&&W[Q][0]==="IDENTIFIER"&&(F(W[Q][1])||(Q===0||W[Q-1][0]==="INDENT"||W[Q-1][0]==="TERMINATOR"||W[Q-1][0]==="RENDER"))};this.scanTokens(function(W,O,Q){let Y=W[0],J=O<Q.length-1?Q[O+1]:null;if(Y==="RENDER")return D=!0,$=U+1,1;if(Y==="INDENT")return U++,1;if(Y==="OUTDENT"){U--;let Z=0;while(R.length>0&&R[R.length-1]>U){let q=w("CALL_END",")",W);Q.splice(O+1+Z,0,q),R.pop(),Z++}if(D&&U<$)D=!1;return 1+Z}if(!D)return 1;if(Y==="="&&O>0){let Z=Q[O-1][0];if(Z==="TERMINATOR"||Z==="INDENT"||Z==="RENDER"){let q=w("IDENTIFIER","__text__",W),G=w("CALL_START","(",W);return Q.splice(O,1,q,G),this.detectEnd(O+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,L)=>Q.splice(L,0,w("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(Y==="UNARY_MATH"&&W[1]==="~"&&J&&J[0]==="IDENTIFIER"){W[0]="PROPERTY",W[1]="__transition__";let Z=w(":",":",W),q=w("STRING",`"${J[1]}"`,J);return Q.splice(O+1,1,Z,q),1}if(Y==="PROPERTY"&&W[1][0]==="$"&&W[1].length>1)return W[0]="STRING",W[1]=`"data-${W[1].slice(1)}"`,1;if(Y==="IDENTIFIER"&&!W.spaced){let Z=[W[1]],q=O+1;while(q+1<Q.length){let G=Q[q],P=Q[q+1];if(G[0]==="-"&&!G.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(Z.push(P[1]),q+=2,P[0]==="PROPERTY")break}else break}if(Z.length>1&&q>O+1&&Q[q-1][0]==="PROPERTY"){let G=Z.join("-");if(G[0]==="$")G="data-"+G.slice(1);return W[0]="STRING",W[1]=`"${G}"`,Q.splice(O+1,q-O-1),1}}if(Y==="."){let Z=O>0?Q[O-1]:null,q=Z?Z[0]:null;if(q==="INDENT"||q==="TERMINATOR"){if(J&&J[0]==="PROPERTY"){let G=O+2<Q.length?Q[O+2]:null;if(!G||G[0]!==":"){let P=w("IDENTIFIER","div",W);return Q.splice(O,0,P),2}}if(!J||J[0]!=="(")return W[0]="IDENTIFIER",W[1]="div",0}}if(Y==="IDENTIFIER"||Y==="PROPERTY"){let Z=Q[O+1],q=Q[O+2];if(Z&&Z[0]==="#"&&q&&(q[0]==="PROPERTY"||q[0]==="IDENTIFIER")){if(W[1]=W[1]+"#"+q[1],q.spaced)W.spaced=!0;return Q.splice(O+1,2),0}}if(Y==="BIND"){let Z=O>0?Q[O-1]:null,q=Q[O+1];if(Z&&(Z[0]==="IDENTIFIER"||Z[0]==="PROPERTY")&&q&&q[0]==="IDENTIFIER")return Z[1]=`__bind_${Z[1]}__`,W[0]=":",W[1]=":",1}if(Y==="@"){let Z=O+1;if(Z<Q.length&&Q[Z][0]==="PROPERTY"){Z++;while(Z+1<Q.length&&Q[Z][0]==="."&&Q[Z+1][0]==="PROPERTY")Z+=2;if(Z>O+2&&Z<Q.length&&Q[Z][0]===":"){let q=w("[","[",W);Q.splice(O,0,q);let G=w("]","]",Q[Z+1]);return Q.splice(Z+1,0,G),2}}}if(Y==="."&&J&&J[0]==="("){let Z=O>0?Q[O-1]:null,q=Z?Z[0]:null,G=q==="INDENT"||q==="TERMINATOR",P=w("PROPERTY","__clsx",W);J[0]="CALL_START";let L=1;for(let I=O+2;I<Q.length&&L>0;I++)if(Q[I][0]==="("||Q[I][0]==="CALL_START")L++;else if(Q[I][0]===")"){if(L--,L===0)Q[I][0]="CALL_END"}else if(Q[I][0]==="CALL_END")L--;if(G){let I=w("IDENTIFIER","div",W);return Q.splice(O,0,I),Q.splice(O+2,0,P),3}else if(q===":")return Q[O]=w("IDENTIFIER","__clsx",W),1;else return Q.splice(O+1,0,P),2}if(J&&J[0]==="INDENT"){if(J.fromThen)return 1;if(Y==="->"||Y==="=>"||Y==="CALL_START"||Y==="(")return 1;let Z=!1,q=O>0?Q[O-1][0]:null,G=q==="IF"||q==="UNLESS"||q==="WHILE"||q==="UNTIL"||q==="WHEN"||q==="FORIN"||q==="FOROF"||q==="FORAS"||q==="FORASAWAIT"||q==="BY",P=!1;if(Y==="CALL_END"){let I=1;for(let e=O-1;e>=0&&I>0;e--)if(Q[e][0]==="CALL_END")I++;else if(Q[e][0]==="CALL_START"){if(I--,I===0&&e>0&&Q[e-1][0]==="PROPERTY"&&Q[e-1][1]==="__clsx")P=!0}}let L=Y==="IDENTIFIER"&&(q==="INDENT"||q==="TERMINATOR"||q==="RENDER");if(P)Z=!0;else if(Y==="IDENTIFIER"&&F(W[1])&&!G)Z=!0;else if(Y==="IDENTIFIER"&&!G)Z=L||K(Q,O);else if(Y==="PROPERTY"||Y==="STRING"||Y==="STRING_END"||Y==="NUMBER"||Y==="BOOL"||Y==="CALL_END"||Y===")"||Y==="PRESENCE")Z=K(Q,O);if(Z){let I=!1;if(Y==="PROPERTY"&&O>0&&Q[O-1][0]==="."){let p=O;while(p>=2&&Q[p-1][0]==="."&&Q[p-2][0]==="PROPERTY")p-=2;if(p>=2&&Q[p-1][0]==="."&&Q[p-2][0]==="IDENTIFIER"&&F(Q[p-2][1])){let N=p>=3?Q[p-3][0]:null;if(!N||N==="INDENT"||N==="OUTDENT"||N==="TERMINATOR"||N==="RENDER")I=!0}}if(P||Y==="IDENTIFIER"&&(F(W[1])||L)||I){let p=w("CALL_START","(",W),N=w("->","->",W);return N.newLine=!0,Q.splice(O+1,0,p,N),R.push(U+1),3}else{let p=w(",",",",W),N=w("->","->",W);return N.newLine=!0,Q.splice(O+1,0,p,N),3}}}if(Y==="IDENTIFIER"&&M(W[1])&&J&&(J[0]==="OUTDENT"||J[0]==="TERMINATOR"))return Q.splice(O+1,0,w("CALL_START","(",W),w("CALL_END",")",W)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(w){let D=w.split("#")[0];return S1.has(D.toLowerCase())},u.isComponent=function(w){if(!w||typeof w!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(w)},u.collectTemplateClasses=function(w){let D=[],$=w;while(this.is($,".")){let M=$[2];if(typeof M==="string"||M instanceof String)D.unshift(M.valueOf());$=$[1]}let U=typeof $==="string"?$:$ instanceof String?$.valueOf():null;if(U===null)return{tag:null,classes:D,id:void 0,base:$};let[R,z]=U.split("#");if(!R)R="div";return{tag:R,classes:D,id:z,base:$}};let l=(w)=>typeof w==="string"?w:w instanceof String?w.valueOf():null,c=(w,D)=>{if(!(w instanceof String))return D;let $=new String(D);if(w.optional)$.optional=!0;if(w.bang)$.bang=!0;return $.optional||$.bang?$:D};u.addBodyRipSrcMarkers=function(w,D){if(typeof w!=="string"||!w)return w;let $=Array.isArray(D)&&D[0]==="block"?D.slice(1):Array.isArray(D)?[D]:[];if($.length===0)return w;let U=(F)=>{if(F==null)return null;if(!Array.isArray(F))return F?.loc?.r??null;if(F.loc?.r)return F.loc.r;if(F[0]?.loc?.r)return F[0].loc.r;for(let H of F){if(H?.loc?.r)return H.loc.r;if(Array.isArray(H)){let K=U(H);if(K!=null)return K}}return null},R=$.map(U);if(R.every((F)=>F==null))return w;let z=w.split(`
|
|
1041
|
+
`),M=0;for(let F=0;F<z.length&&M<R.length;F++){let H=z[F].trim();if(!H)continue;if(H==="{"||H==="}"||H.startsWith("//"))continue;if(z[F].includes("@rip-src:")){M++;continue}if(R[M]!=null)z[F]=`${z[F]} // @rip-src:${R[M]}`;M++}return z.join(`
|
|
1042
|
+
`)},u.transformComponentMembers=function(w,D=new Set){let $=this._self;if(!Array.isArray(w)){let U=l(w);if(U&&D.has(U))return w;if(U&&this.reactiveMembers&&this.reactiveMembers.has(U))return[".",[".",$,U],c(w,"value")];if(U&&this.componentMembers&&this.componentMembers.has(U))return[".",$,c(w,U)];return w}if(w[0]==="."&&w[1]==="this"&&l(w[2])!=null){let U=w[2],R=l(U);if(this.reactiveMembers&&this.reactiveMembers.has(R))return[".",[".",$,R],c(U,"value")];return this._factoryMode?[".",$,U]:w}if(w[0]==="."||w[0]==="?.")return[w[0],this.transformComponentMembers(w[1]),w[2]];if(w[0]==="->"){let U=w[1],R=new Set(D);if(Array.isArray(U))for(let z of U){let M=l(Array.isArray(z)&&z[0]==="default"?z[1]:z);if(M)R.add(M)}return["=>",w[1],this.transformComponentMembers(w[2],R)]}if(w[0]==="object"||w[0]==="map-literal")return[w[0],...w.slice(1).map((U)=>{if(Array.isArray(U)&&U[0]==="...")return["...",this.transformComponentMembers(U[1],D)];if(Array.isArray(U)&&U.length>=2){let R=U[1],z=Array.isArray(R)?this.transformComponentMembers(R,D):R,M=this.transformComponentMembers(U[2],D);return[U[0],z,M]}return this.transformComponentMembers(U,D)})];if(w[0]==="block"||w[0]==="program"){let U=new Set(D),R=[w[0]];for(let z=1;z<w.length;z++){let M=w[z];if(Array.isArray(M)&&M[0]==="="){let F=l(M[1]);if(F&&!(this.reactiveMembers&&this.reactiveMembers.has(F))){R.push(["=",M[1],this.transformComponentMembers(M[2],U)]),U.add(F);continue}}R.push(this.transformComponentMembers(M,U))}return R}return w.map((U)=>this.transformComponentMembers(U,D))},u.emitComponent=function(w,D,$,U){let[,R]=D,z=this.is(R,"block")?R.slice(1):[],M=[],F=[],H=[],K=[],W=[],O=[],Q=[],Y=[],J=null,Z=new Set,q=new Set;for(let b of z){if(!Array.isArray(b))continue;let[B]=b;if(B==="offer"){if(b=b[1],!Array.isArray(b))continue;B=b[0];let T=E1(b[1]);if(T)Q.push(T)}if(B==="accept"){let T=typeof b[1]==="string"?b[1]:E1(b[1]);if(T)Y.push(T),Z.add(T),q.add(T)}else if(B==="."&&b[1]==="this"&&E1(b)){let T=typeof b[2]==="string"||b[2]instanceof String?b[2].valueOf():null;if(T){let k=b2(b);M.push({name:T,value:void 0,isPublic:!0,type:b[2]?.type||null,required:!k,optional:k,srcLine:b.loc?.r}),Z.add(T),q.add(T)}}else if(B==="state"){let T=E1(b[1]);if(T)M.push({name:T,value:b[2],isPublic:E2(b[1]),type:N2(b[1]),optional:b2(b[1]),srcLine:b.loc?.r}),Z.add(T),q.add(T)}else if(B==="computed"){let T=E1(b[1]);if(T)F.push({name:T,expr:b[2],type:N2(b[1]),srcLine:b.loc?.r}),Z.add(T),q.add(T)}else if(B==="readonly"){let T=E1(b[1]);if(T)H.push({name:T,value:b[2],isPublic:E2(b[1]),type:N2(b[1]),optional:b2(b[1]),srcLine:b.loc?.r}),Z.add(T)}else if(B==="="){let T=E1(b[1]);if(T)if(y2.has(T))W.push({name:T,value:b[2]});else{let k=b[2];if(Array.isArray(k)&&(k[0]==="->"||k[0]==="=>"))K.push({name:T,func:k}),Z.add(T);else M.push({name:T,value:k,isPublic:E2(b[1]),srcLine:b.loc?.r}),Z.add(T),q.add(T)}}else if(B==="effect")O.push(b);else if(B==="render")J=b;else if(B==="object")for(let T=1;T<b.length;T++){let k=b[T];if(!Array.isArray(k))continue;let[,x,y]=k;if(typeof x==="string"&&y2.has(x))W.push({name:x,value:y});else if(typeof x==="string")K.push({name:x,func:y}),Z.add(x)}}let G=new Map;for(let{name:b}of K)if(/^on[A-Z]/.test(b)&&!y2.has(b)){let B=b[2].toLowerCase()+b.slice(3);if(K3.has(B))G.set(B,b)}let P=D[0]?.valueOf?.()??null,L=new Set;for(let{name:b,isPublic:B}of M)if(B)L.add(b);for(let{name:b,isPublic:B}of H)if(B)L.add(b);if(P)Z.add("rest"),q.add("rest");let I=this.componentMembers,e=this.reactiveMembers,p=this._autoEventHandlers,N=this._inheritsTag;if(this.componentMembers=Z,this.reactiveMembers=q,this._autoEventHandlers=G.size>0?G:null,this._inheritsTag=P||null,this.options.stubComponents){let b=(E)=>E?E.replace(/::/g,":"):null,B=[],T=this._componentTypeParams||"";B.push(`class ${T}{`),B.push(" declare _root: Element | null; declare app: any; declare router: any; declare params: Record<string, string>; declare query: URLSearchParams; declare children: any;");let k=new Set(W.map((E)=>E.name)),x=[];if(!k.has("beforeMount"))x.push("beforeMount?(): void;");if(!k.has("mounted"))x.push("mounted?(): void;");if(!k.has("beforeUnmount"))x.push("beforeUnmount?(): void;");if(!k.has("unmounted"))x.push("unmounted?(): void;");if(!k.has("onError"))x.push("onError?(err: { status?: number; message?: string; error?: Error; path?: string }): void;");if(x.length)B.push(" "+x.join(" "));B.push(" emit(_name: string, _detail?: any): void {}");let y=[];for(let{name:E,type:j,isPublic:s,required:g,optional:n1}of M){if(!s)continue;let c1=b(j),C=n1??!g?"?":"";y.push(`${E}${C}: ${c1||"any"}`),y.push(`__bind_${E}__?: Signal<${c1||"any"}>`)}for(let{name:E,type:j,isPublic:s}of H){if(!s)continue;let g=b(j);y.push(`${E}?: ${g||"any"}`)}{let j=y.length>0&&M.some((g)=>g.isPublic&&g.required&&!g.optional)?"":"?",s=y.length>0?`{${y.join("; ")}}`:"{}";if(P)s+=` & __RipProps<'${P}'>`;B.push(` constructor(_props${j}: ${s}) {}`)}let m=(E)=>{let j=E?.valueOf?.()??E;if(typeof j!=="string")return null;if(j==="true"||j==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(j))return"number";if(j.startsWith('"')||j.startsWith("'"))return"string";return null};for(let{name:E,type:j,value:s,optional:g,srcLine:n1}of M){let c1=b(j)||m(s),d=c1?g&&s===void 0?`${c1} | undefined`:c1:null,h1=n1!=null?` // @rip-src:${n1}`:"";B.push((d?` declare ${E}: Signal<${d}>;`:` declare ${E}: Signal<any>;`)+h1)}if(P)B.push(` declare rest: Signal<__RipProps<'${P}'>>;`);for(let{name:E,type:j,value:s}of H){let g=b(j)||m(s);B.push(g?` declare ${E}: ${g};`:` declare ${E}: any;`)}for(let{name:E,expr:j,type:s}of F){let g=b(s),n1=g?`: Computed<${g}>`:"";if(this.is(j,"block")){let c1=this.transformComponentMembers(j),C=this.emitFunctionBody(c1);B.push(` ${E}${n1} = __computed(() => ${C});`)}else{let c1=this.emitInComponent(j,"value");B.push(` ${E}${n1} = __computed(() => ${c1});`)}}B.push(" _init(props) {");for(let{name:E,value:j,isPublic:s,srcLine:g}of H){let n1=this.emitInComponent(j,"value"),c1=g!=null?` // @rip-src:${g}`:"";B.push((s?` this.${E} = props.${E} ?? ${n1};`:` this.${E} = ${n1};`)+c1)}for(let{name:E,value:j,isPublic:s,required:g,type:n1,srcLine:c1}of M){let C=c1!=null?` // @rip-src:${c1}`:"";if(s&&(g||j===void 0))B.push(` this.${E} = __state(props.__bind_${E}__ ?? props.${E});`+C);else if(s){let d=this.emitInComponent(j,"value");B.push(` this.${E} = __state(props.__bind_${E}__ ?? props.${E} ?? ${d});`+C)}else{let d=this.emitInComponent(j,"value");B.push(` this.${E} = __state(${d});`+C)}}for(let E of O){let j=E[2],s=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let g=this.transformComponentMembers(j),n1=this.emitFunctionBody(g);B.push(` __effect(${s}() => ${n1});`)}else{let g=this.emitInComponent(j,"value");B.push(` __effect(${s}() => { return ${g}; });`)}}B.push(" }");let l1=new Map;for(let[E,j]of G)l1.set(j,E);if(J){let E=(j)=>{if(!Array.isArray(j))return;let s=j[0]?.valueOf?.()??j[0];if(typeof s==="string"&&s!=="object"&&s!=="switch"&&S1.has(s.split(/[.#]/)[0]))for(let g=1;g<j.length;g++){let n1=j[g],c1=this.is(n1,"object")?n1:null;if(!c1&&Array.isArray(n1)&&(n1[0]==="->"||n1[0]==="=>")&&this.is(n1[2],"block")){for(let C=1;C<n1[2].length;C++)if(this.is(n1[2][C],"object")){c1=n1[2][C];break}}if(!c1)continue;for(let C=1;C<c1.length;C++){let d=c1[C];if(!Array.isArray(d)||d.length<2)continue;let[,h1,_1]=d;if(Array.isArray(h1)&&h1[0]==="."&&h1[1]==="this"&&Array.isArray(_1)&&_1[0]==="."&&_1[1]==="this"){let S=typeof h1[2]==="string"?h1[2]:h1[2]?.valueOf?.(),a=typeof _1[2]==="string"?_1[2]:_1[2]?.valueOf?.();if(S&&a&&!l1.has(a))l1.set(a,S)}}}for(let g=1;g<j.length;g++)E(j[g])};E(J)}for(let{name:E,func:j}of K)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,s,g]=j;if((!s||Array.isArray(s)&&s.length===0)&&this.containsIt(g))s=["it"];let n1=Array.isArray(s)?s.map((_1)=>{let S=this.formatParam(_1);if(_1?.type)S+=`: ${_1.type}`;return S}).join(", "):"",c1=l1.get(E);if(c1&&Array.isArray(s)&&s.length>0){let _1=s[0];if(!(_1?.type||_1 instanceof String&&_1.type)&&typeof(_1?.valueOf?.()??_1)==="string"){let a=_1?.valueOf?.()??_1;n1=n1.replace(a,`${a}: HTMLElementEventMap['${c1}']`)}}let C=this.reactiveMembers?this.transformComponentMembers(g):g,d=this.containsAwait(g),h1=this.emitFunctionBody(C,s||[]);h1=this.addBodyRipSrcMarkers(h1,g),B.push(` ${d?"async ":""}${E}(${n1}) ${h1}`)}for(let{name:E,value:j}of W)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,s,g]=j,n1=Array.isArray(s)?s.map((h1)=>this.formatParam(h1)).join(", "):"",c1=this.reactiveMembers?this.transformComponentMembers(g):g,C=this.containsAwait(g),d=this.emitFunctionBody(c1,s||[]);d=this.addBodyRipSrcMarkers(d,g),B.push(` ${C?"async ":""}${E}(${n1}) ${d}`)}if(J){let E=[],j=0,s=this.options.source?.split(`
|
|
1043
|
+
`),g=(C)=>{let d=[],h1=[];for(let _1 of C){let S=null;if(this.is(_1,"object"))S=_1;else if(Array.isArray(_1)&&(_1[0]==="->"||_1[0]==="=>")&&this.is(_1[2],"block")){for(let a=1;a<_1[2].length;a++)if(this.is(_1[2][a],"object")){S=_1[2][a];break}}if(S)for(let a=1;a<S.length;a++){let t=S[a],[,o,f1]=t,V=t.loc?.r??S.loc?.r;if(Array.isArray(o)&&o[0]==="."&&o[1]==="this"){try{let i1=this.emitInComponent(f1,"value");h1.push({code:i1,srcLine:V})}catch{}continue}if(typeof o==="string"&&o.startsWith("@")){try{let i1=this.emitInComponent(f1,"value");h1.push({code:i1,srcLine:V})}catch{}continue}if(typeof o==="string")if(o.startsWith("__bind_")&&o.endsWith("__")){let i1=typeof f1==="string"&&this.reactiveMembers?.has(f1)?`this.${f1}`:this.emitInComponent(f1,"value");d.push({code:`${o}: ${i1}`,srcLine:V})}else{let i1=this.emitInComponent(f1,"value");d.push({code:`${o}: ${i1}`,srcLine:V})}}}return d.sideExprs=h1,d},n1=(C,d)=>{let h1=[],_1=(S)=>{if(d!=="a")return S;if(typeof S!=="string")return S;if(S.length<2)return S;if(S[0]!=="`")return S;if(S[1]!=="/")return S;return`__ripRoute(${S})`};for(let S of C){let a=null;if(this.is(S,"object"))a=S;else if(Array.isArray(S)&&(S[0]==="->"||S[0]==="=>")&&this.is(S[2],"block")){for(let t=1;t<S[2].length;t++)if(this.is(S[2][t],"object")){a=S[2][t];break}}if(a)for(let t=1;t<a.length;t++){let o=a[t];if(!Array.isArray(o)||o.length<2)continue;let[,f1,V]=o,i1=o.loc?.r??a.loc?.r;if(Array.isArray(f1)&&f1[0]==="."&&f1[1]==="this"){let A1=typeof f1[2]==="string"?f1[2]:f1[2]?.valueOf?.();if(!A1)continue;let M1="@"+A1.split(".")[0],O2=this.emitInComponent(V,"value");h1.push({code:`'${M1}': ${O2}`,srcLine:i1})}else if(typeof f1==="string"){if(f1==="key"){let A1=this.emitInComponent(V,"value"),M1=i1!=null?` // @rip-src:${i1}`:"";E.push(` (${A1});${M1}`);continue}if(f1.startsWith("__bind_")&&f1.endsWith("__")){let A1=f1.slice(7,-2),M1=this.emitInComponent(V,"value");h1.push({code:`${A1}: ${M1}`,srcLine:i1})}else{let A1=this.emitInComponent(V,"value"),M1=f1==="href"?_1(A1):A1;h1.push({code:`${f1}: ${M1}`,srcLine:i1})}}}}return h1},c1=(C)=>{if(!Array.isArray(C))return;let d=C[0]?.valueOf?.()??C[0];if(Array.isArray(d)&&d[0]==="."){let S=[],a=(t)=>{if(typeof t==="string")return S.push(t),!0;if(Array.isArray(t)&&t[0]==="."&&S.length===0){if(!a(t[1]))return!1;if(typeof t[2]!=="string"||!/^[\w-]+$/.test(t[2]))return!1;return S.push(".",t[2]),!0}return!1};if(a(d)&&S.length>=3&&/^[a-z][\w-]*$/.test(S[0])){let t=S.join(""),o=[t];for(let V=1;V<C.length;V++)o.push(C[V]);if(C.loc)o.loc=C.loc;o._astNode=C;let f1=(V)=>{if(Array.isArray(V)&&V[0]==="."){if(V.loc)delete V.loc;f1(V[1])}};f1(d),C=o,d=t}}if(d==="object")return;if(d==="if"||d==="unless"){let S=C[1];if(S!=null){let a=this.emitInComponent(S,"value"),t=C.loc?.r,o=t!=null?` // @rip-src:${t}`:"";E.push(` ${a};${o}`)}}else if(d==="?:"){let S=this.emitInComponent(C,"value"),a=C.loc?.r,t=a!=null?` // @rip-src:${a}`:"";E.push(` ${S};${t}`)}else if(d==="switch"){let S=C[1];if(S!=null){let a=this.emitInComponent(S,"value"),t=C.loc?.r,o=t!=null?` // @rip-src:${t}`:"";E.push(` ${a};${o}`)}}else if(d==="for-in"||d==="for-of"||d==="for-as"){let S=C[1],a=C[2];if(a!=null){let t=this.emitInComponent(a,"value"),o=C.loc?.r,f1=o!=null?` // @rip-src:${o}`:"",V;if(Array.isArray(S))if(S.length===1){let i1=S[0];V=Array.isArray(i1)?this.emitDestructuringPattern(i1):String(i1)}else if(d==="for-of")V=`[${S.map((i1)=>String(i1)).join(", ")}]`;else V=String(S[0]);else V=String(S);if(d==="for-of")E.push(` for (const ${V} of Object.entries(${t})) {${f1}`);else E.push(` for (const ${V} of ${t}) {${f1}`);for(let i1=3;i1<C.length;i1++)if(C[i1]!=null)c1(C[i1]);E.push(" }");return}}else if(d==="__text__"){let S=C[1];if(S!=null){let a=this.emitInComponent(S,"value"),t=C.loc?.r,o=t!=null?` // @rip-src:${t}`:"";E.push(` ${a};${o}`)}return}else if(d==="str"){try{let S=this.emitInComponent(C,"value"),a=C.loc?.r,t=a!=null?` // @rip-src:${a}`:"";E.push(` ${S};${t}`)}catch{}return}let h1=(S,a,t)=>{if(typeof S!=="string"||!/^[a-z][\w-]*$/.test(S))return;if(f.GENERATORS[S])return;if(S==="null"||S==="undefined"||S==="true"||S==="false")return;let o=a.loc?.r,f1=null;if(o!=null&&s){let i1=new RegExp(`\\b${S}\\b`,"g");for(let A1=o;A1<s.length;A1++){let M1=s[A1];if(!M1)continue;let O2=A1===a.loc.r?a.loc.c+1:0;i1.lastIndex=O2;let _2,H2=-1;while((_2=i1.exec(M1))!==null){let o2=_2.index>0?M1[_2.index-1]:"";if(o2==="."||o2==="#")continue;H2=_2.index;break}if(H2>=0){o=A1,f1=H2;break}}}let V=o!=null?` // @rip-src:${o}`:"";if(o!=null&&f1!=null){let i1=a._astNode||a;if(!i1._anchors)i1._anchors=[];i1._anchors.push({name:S,origLine:o,origCol:f1})}if(this.componentMembers&&this.componentMembers.has(S))E.push(` this.${S};${V}`);else if(t)E.push(` ${S};${V}`);else E.push(` __ripEl('${S}');${V}`)},_1=typeof d==="string"&&/^[a-z][\w-]*(?:[.#][\w-]+)*$/.test(d)&&!f.GENERATORS[d]&&S1.has(d.split(/[.#]/)[0]);if(d==="block")for(let S=1;S<C.length;S++)h1(C[S],C,!1);else if(_1){for(let S=1;S<C.length;S++)h1(C[S],C,!0);for(let S=1;S<C.length;S++){let a=C[S];if(!Array.isArray(a))continue;let t=a[0]?.valueOf?.()??a[0];if(t==="object"||t==="block"||t==="__text__")continue;if(typeof t==="string"){if(/^[A-Z]/.test(t))continue;if(S1.has(t.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(t)&&!f.GENERATORS[t])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(t))continue}try{let o=this.emitInComponent(a,"value"),f1=a.loc?.r??C.loc?.r,V=f1!=null?` // @rip-src:${f1}`:"";E.push(` ${o};${V}`)}catch{}}}for(let S=1;S<C.length;S++)c1(C[S]);if(typeof d==="string"&&/^[A-Z]/.test(d)){let S=g(C.slice(1)),a=`_${j++}`,t=`ConstructorParameters<typeof ${d}>[0] & {}`;if(S.length===0){let o=C.loc?.r;E.push(` const ${a}: ${t} = {};`+(o!=null?` // @rip-src:${o}`:""))}else if(S.length===1){let o=C.loc?.r??S[0].srcLine;E.push(` const ${a}: ${t} = {${S[0].code}};`+(o!=null?` // @rip-src:${o}`:""))}else{let o=C.loc?.r;if(new Set(S.map((V)=>V.srcLine).filter((V)=>V!=null)).size<=1){let V=S[0].srcLine??o;E.push(` const ${a}: ${t} = {${S.map((i1)=>i1.code).join(", ")}};`+(V!=null?` // @rip-src:${V}`:""))}else{E.push(` const ${a}: ${t} = {`+(o!=null?` // @rip-src:${o}`:""));for(let V of S)E.push(` ${V.code},`+(V.srcLine!=null?` // @rip-src:${V.srcLine}`:""));E.push(" };")}}if(S.sideExprs)for(let o of S.sideExprs)E.push(` ${o.code};`+(o.srcLine!=null?` // @rip-src:${o.srcLine}`:""))}else if(typeof d==="string"&&!f.GENERATORS[d]&&(S1.has(d.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(d)&&C.length>1)){let S=d.split(/[.#]/)[0],a=n1(C.slice(1),S),t=C.loc?.r,o=t!=null?` // @rip-src:${t}`:"";if(a.length===0)E.push(` __ripEl('${S}');${o}`);else if(a.length===1){let f1=a[0].srcLine??t,V=f1!=null?` // @rip-src:${f1}`:"";E.push(` __ripEl('${S}', {${a[0].code}});${V}`)}else if(new Set(a.map((V)=>V.srcLine).filter((V)=>V!=null)).size<=1){let V=a[0].srcLine??t,i1=V!=null?` // @rip-src:${V}`:"";E.push(` __ripEl('${S}', {${a.map((A1)=>A1.code).join(", ")}});${i1}`)}else{E.push(` __ripEl('${S}', {${o}`);for(let V of a)E.push(` ${V.code},`+(V.srcLine!=null?` // @rip-src:${V.srcLine}`:""));E.push(" });")}}};if(c1(J),E.length>0){B.push(" _render() {");for(let C of E)B.push(C);B.push(" }")}}return B.push("}"),this.componentMembers=I,this.reactiveMembers=e,this._autoEventHandlers=p,this._inheritsTag=N,B.join(`
|
|
1044
|
+
`)}this.usesTemplates=!0,this.usesReactivity=!0;let X=[],u1="";X.push("class extends __Component {"),X.push(" _init(props) {");for(let{name:b,value:B,isPublic:T}of H){let k=this.emitInComponent(B,"value");X.push(T?` this.${b} = props.${b} ?? ${k};`:` this.${b} = ${k};`)}for(let b of Y)X.push(` this.${b} = getContext('${b}');`);for(let{name:b,value:B,isPublic:T,required:k}of M)if(T&&(k||B===void 0))X.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b});`);else if(T){let x=this.emitInComponent(B,"value");X.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b} ?? ${x});`)}else{let x=this.emitInComponent(B,"value");X.push(` this.${b} = __state(${x});`)}if(P){if(X.push(" this._rest = {};"),X.push(" for (const __k in props) {"),L.size>0){let b=[...L].map((B)=>`__k !== '${B}'`).join(" && ");X.push(` if (${b} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else X.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");X.push(" }"),X.push(" this.rest = __state(this._rest);")}for(let{name:b,expr:B}of F)if(this.is(B,"block")){let T=this.transformComponentMembers(B),k=this.emitFunctionBody(T);X.push(` this.${b} = __computed(() => ${k});`)}else{let T=this.emitInComponent(B,"value");X.push(` this.${b} = __computed(() => ${T});`)}for(let b of Q)X.push(` setContext('${b}', this.${b});`);for(let b of O){let B=b[2],T=this.containsAwait(B)?"async ":"";if(this.is(B,"block")){let k=this.transformComponentMembers(B),x=this.emitFunctionBody(k);X.push(` __effect(${T}() => ${x});`)}else{let k=this.emitInComponent(B,"value");X.push(` __effect(${T}() => { return ${k}; });`)}}if(X.push(" }"),P)X.push(" _setRestProp(key, value) {"),X.push(" if (key.startsWith('__bind_')) return;"),X.push(" this._rest || (this._rest = {});"),X.push(" if (value == null) delete this._rest[key];"),X.push(" else this._rest[key] = value;"),X.push(" this.rest.touch();"),X.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),X.push(" }"),X.push(" _applyRestToInheritedEl() {"),X.push(" if (!this._inheritedEl || !this._rest) return;"),X.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),X.push(" }"),X.push(" _applyInheritedProp(el, key, value) {"),X.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),X.push(" if (key[0] === '@') {"),X.push(" const event = key.slice(1).split('.')[0];"),X.push(" this._restHandlers || (this._restHandlers = {});"),X.push(" const prev = this._restHandlers[key];"),X.push(" if (prev) el.removeEventListener(event, prev);"),X.push(" if (typeof value === 'function') {"),X.push(" const next = (e) => __batch(() => value(e));"),X.push(" this._restHandlers[key] = next;"),X.push(" el.addEventListener(event, next);"),X.push(" } else {"),X.push(" delete this._restHandlers[key];"),X.push(" }"),X.push(" return;"),X.push(" }"),X.push(" if (key === 'class' || key === 'className') {"),X.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),X.push(" else el.className = __clsx(value);"),X.push(" return;"),X.push(" }"),X.push(" if (key === 'style') {"),X.push(" if (value == null) { el.removeAttribute('style'); return; }"),X.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),X.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),X.push(" }"),X.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),X.push(" el[key] = value ?? '';"),X.push(" return;"),X.push(" }"),X.push(" if (key in el && !key.includes('-')) {"),X.push(" el[key] = value;"),X.push(" return;"),X.push(" }"),X.push(" if (value == null || value === false) {"),X.push(" el.removeAttribute(key);"),X.push(" return;"),X.push(" }"),X.push(" if (value === true) {"),X.push(" el.setAttribute(key, '');"),X.push(" return;"),X.push(" }"),X.push(" el.setAttribute(key, value);"),X.push(" }");for(let{name:b,func:B}of K)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,T,k]=B;if((!T||Array.isArray(T)&&T.length===0)&&this.containsIt(k))T=["it"];let x=Array.isArray(T)?T.map((E)=>this.formatParam(E)).join(", "):"",y=this.reactiveMembers?this.transformComponentMembers(k):k,m=this.containsAwait(k),l1=this.emitFunctionBody(y,T||[]);X.push(` ${m?"async ":""}${b}(${x}) ${l1}`)}for(let{name:b,value:B}of W)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,T,k]=B,x=Array.isArray(T)?T.map((E)=>this.formatParam(E)).join(", "):"",y=this.reactiveMembers?this.transformComponentMembers(k):k,m=this.containsAwait(k),l1=this.emitFunctionBody(y,T||[]);X.push(` ${m?"async ":""}${b}(${x}) ${l1}`)}if(J){let b=J[1],B=this.buildRender(b);if(B.blockFactories.length>0)u1=B.blockFactories.join(`
|
|
1043
1045
|
|
|
1044
1046
|
`)+`
|
|
1045
1047
|
|
|
1046
|
-
`;
|
|
1047
|
-
${
|
|
1048
|
+
`;X.push(" _create() {");for(let T of B.createLines)X.push(` ${T}`);if(X.push(` return ${B.rootVar};`),X.push(" }"),B.setupLines.length>0){X.push(" _setup() {");for(let T of B.setupLines)X.push(` ${T}`);X.push(" }")}}if(X.push("}"),this.componentMembers=I,this.reactiveMembers=e,this._autoEventHandlers=p,this._inheritsTag=N,u1)return`(() => {
|
|
1049
|
+
${u1}return ${X.join(`
|
|
1048
1050
|
`)};
|
|
1049
|
-
})()`;return
|
|
1050
|
-
`)},u.emitInComponent=function(h,A){if(typeof h==="string"&&this.reactiveMembers&&this.reactiveMembers.has(h))return`${this._self}.${h}.value`;if(typeof h==="string"&&this.componentMembers&&this.componentMembers.has(h))return`${this._self}.${h}`;if(Array.isArray(h)&&this.reactiveMembers){let R=this.transformComponentMembers(h);return this.emit(R,A)}return this.emit(h,A)},u.emitRender=function(h,A,R,U){this.error("render blocks can only be used inside a component",U)},u.emitOffer=function(h,A,R,U){this.error("offer can only be used inside a component",U)},u.emitAccept=function(h,A,R,U){this.error("accept can only be used inside a component",U)},u.buildRender=function(h){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._renderLocalScope=new Set,this._renderTopLocals=new Set,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let A=this.is(h,"block")?h.slice(1):[h],R=A.reduce(($,z)=>$+(this._isRenderBinding(z)?0:1),0),U;if(A.length===0||A.length===1&&A[0]==="null")U="null";else if(R===0){for(let $ of A)this.emitNode($);U=this.newElementVar("empty"),this._createLines.push(`${U} = document.createComment('');`)}else if(R===1){this._pendingAutoWire=!!this._autoEventHandlers;let $=null;for(let z of A){let M=this.emitNode(z);if(M!=null)$=M}this._pendingAutoWire=!1,U=$}else{U=this.newElementVar("frag"),this._createLines.push(`${U} = document.createDocumentFragment();`);let $=[];for(let z of A){let M=this.emitNode(z);if(M==null)continue;this._createLines.push(`${U}.appendChild(${M});`),$.push(M)}this._fragChildren.set(U,$)}if(this._renderTopLocals.size>0){let $=`let ${[...this._renderTopLocals].join(", ")};`;this._createLines.unshift($)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:U}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(h="el"){let A=`_${h}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(A);return this._factoryMode?A:`this.${A}`},u.newTextVar=function(){let h=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(h);return this._factoryMode?h:`this.${h}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(h){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${h} }, {skipRegister: true}));`);else this._setupLines.push(`__effect(() => { ${h} });`)};let w=(h)=>typeof h==="string"&&/^[A-Za-z_$][\w$]*$/.test(h),D=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","?=","??="]);u._isRenderBinding=function(h){return Array.isArray(h)&&D.has(h[0])&&w(h[1])},u._addRenderLocal=function(h){if(this._renderLocalScope)this._renderLocalScope.add(h)},u._isRenderLocal=function(h){if(!h||typeof h!=="string")return!1;if(this._renderLocalScope&&this._renderLocalScope.has(h))return!0;if(this._loopVarStack){for(let A of this._loopVarStack)if(A.itemVar===h||A.indexVar===h)return!0}return!1},u.emitNode=function(h){if(this._isRenderBinding(h)){let[M,F,H]=h,Q=this.emitInComponent(H,"value");if(M==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(F),this._addRenderLocal(F);return this._createLines.push(`${F} ${M} ${Q};`),null}if(typeof h==="string"||h instanceof String){let M=h.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let W=this.newTextVar();return this._createLines.push(`${W} = document.createTextNode(${M});`),W}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let W=this.newTextVar();return this._createLines.push(`${W} = document.createTextNode('');`),this._pushEffect(`${W}.data = ${this._self}.${M}.value;`),W}if(this._isRenderLocal(M)){let W=this.newTextVar();return this._createLines.push(`${W} = document.createTextNode(String(${M}));`),W}if(M==="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}let[F,H]=M.split("#"),Q=this.newElementVar(),O=F||"div";if(G1.has(O)||this._svgDepth>0)this._createLines.push(`${Q} = document.createElementNS('${G2}', '${O}');`);else this._createLines.push(`${Q} = document.createElement('${O}');`);if(H)this._createLines.push(`${Q}.id = '${H}';`);return this._bindInheritedTarget(O,Q),Q}if(!Array.isArray(h)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[A,...R]=h,U=typeof A==="string"?A:A instanceof String?A.valueOf():null;if(U&&this.isComponent(U))return this.emitChildComponent(U,R);if(U==="slot"&&this.componentMembers){let M=this._self,F=this.newElementVar("slot");return this._createLines.push(`${F} = ${M}.children instanceof Node ? ${M}.children : (${M}.children != null ? document.createTextNode(String(${M}.children)) : document.createComment(''));`),F}if(U==="switch"){let M=R[0],F=R[1]||[],Q=R[2]||null;for(let W=F.length-1;W>=0;W--){let[,K,Y]=F[W],q;if(M===null)q=K.length===1?K[0]:K.reduce((y,Z)=>y?["||",y,Z]:Z,null);else q=K.length===1?["==",M,K[0]]:K.map((y)=>["==",M,y]).reduce((y,Z)=>y?["||",y,Z]:Z,null);Q=["if",q,Y,Q]}if(Q){if(Array.isArray(Q)&&Q[0]==="if")return this.emitConditional(Q);return this.emitTemplateBlock(Q)}let O=this.newElementVar("c");return this._createLines.push(`${O} = document.createComment('switch');`),O}if(U&&this.isHtmlTag(U)&&!c(A,"text")&&!this._isRenderLocal(U)){let[M,F]=U.split("#");return this.emitTag(M||"div",[],R,F)}if(U==="."){let[,M,F]=h;if(M==="this"&&typeof F==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(F)){let Z=this.newTextVar();return this._createLines.push(`${Z} = document.createTextNode('');`),this._pushEffect(`${Z}.data = ${q}.${F}.value;`),Z}let y=this.newElementVar("slot");return this._createLines.push(`${y} = ${q}.${F} instanceof Node ? ${q}.${F} : (${q}.${F} != null ? document.createTextNode(String(${q}.${F})) : document.createComment(''));`),y}let{tag:H,classes:Q,id:O,base:W}=this.collectTemplateClasses(h);if(!c(W,"text")&&H&&this.isHtmlTag(H)&&!this._isRenderLocal(H))return this.emitTag(H,Q,[],O);let K=this.newTextVar(),Y=this.emitInComponent(h,"value");return this._createLines.push(`${K} = document.createTextNode(String(${Y}));`),K}if(Array.isArray(A)){if(Array.isArray(A[0])&&A[0][0]==="."&&(A[0][2]==="__clsx"||A[0][2]instanceof String&&A[0][2].valueOf()==="__clsx")){let Q=A[0][1],O=A.slice(1);if(Array.isArray(Q)){let{tag:K,classes:Y,id:q}=this.collectTemplateClasses(Q);if(K){let y=Y.map((Z)=>`"${Z}"`);return this.emitDynamicTag(K,O,R,y,q)}}let W=typeof Q==="string"?Q:Q.valueOf();return this.emitDynamicTag(W,O,R)}let{tag:M,classes:F,id:H}=this.collectTemplateClasses(A);if(M&&this.isHtmlTag(M)&&!this._isRenderLocal(M)){if(F.length>0&&F[F.length-1]==="__clsx"){let O=F.slice(0,-1).map((W)=>`"${W}"`);return this.emitDynamicTag(M,R,[],O,H)}return this.emitTag(M,F,R,H)}}if(U==="->"||U==="=>")return this.emitTemplateBlock(R[1]);if(U==="if")return this.emitConditional(h);if(U==="for"||U==="for-in"||U==="for-of"||U==="for-as")return this.emitTemplateLoop(h);if(U==="__text__"){let M=R[0]??"undefined",F=this.newTextVar(),H=this.emitInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${F} = document.createTextNode('');`),this._pushEffect(`${F}.data = String(${H});`);else this._createLines.push(`${F} = document.createTextNode(String(${H}));`);return F}let $=this.newTextVar(),z=this.emitInComponent(h,"value");if(this.hasReactiveDeps(h))this._createLines.push(`${$} = document.createTextNode('');`),this._pushEffect(`${$}.data = ${z};`);else this._createLines.push(`${$} = document.createTextNode(String(${z}));`);return $},u.appendChildren=function(h,A){for(let R of A)if(this.is(R,"->")||this.is(R,"=>")){let U=R[2];if(this.is(U,"block"))for(let $ of U.slice(1))if(this.is($,"object"))this.emitAttributes(h,$);else{let z=this.emitNode($);if(z==null)continue;this._createLines.push(`${h}.appendChild(${z});`)}else if(U){let $=this.emitNode(U);if($!=null)this._createLines.push(`${h}.appendChild(${$});`)}}else if(this.is(R,"object"))this.emitAttributes(h,R);else if(typeof R==="string"||R instanceof String){let U=R.valueOf(),$=U.split(/[#.]/)[0];if(!this._isRenderLocal($)&&(this.isHtmlTag($||"div")||this.isComponent($))){let z=this.emitNode(R);this._createLines.push(`${h}.appendChild(${z});`)}else{let z=this.newTextVar();if(U.startsWith('"')||U.startsWith("'")||U.startsWith("`"))this._createLines.push(`${z} = document.createTextNode(${U});`);else if(this.reactiveMembers&&this.reactiveMembers.has(U))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${this._self}.${U}.value;`);else if(this.componentMembers&&this.componentMembers.has(U))this._createLines.push(`${z} = document.createTextNode(String(${this._self}.${U}));`);else this._createLines.push(`${z} = document.createTextNode(${this.emitInComponent(R,"value")});`);this._createLines.push(`${h}.appendChild(${z});`)}}else if(R){let U=this.emitNode(R);if(U!=null)this._createLines.push(`${h}.appendChild(${U});`)}},u._claimAutoWire=function(h){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=h,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(h,A){if(!A)return;for(let[R,U]of this._autoEventHandlers)if(!this._autoWireExplicit.has(R))this._createLines.push(`${h}.addEventListener('${R}', (e) => __batch(() => ${this._self}.${U}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(h,A){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(h!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${A};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(h,A,R,U){let $=this.newElementVar(),z=G1.has(h)||this._svgDepth>0;if(z)this._createLines.push(`${$} = document.createElementNS('${G2}', '${h}');`);else this._createLines.push(`${$} = document.createElement('${h}');`);if(U)this._createLines.push(`${$}.id = '${U}';`);if(this._bindInheritedTarget(h,$),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${$}.setAttribute('data-part', '${this._componentName}');`);let M=this._claimAutoWire($),F=this._pendingClassArgs,H=this._pendingClassEl;if(A.length>0)this._pendingClassArgs=[`'${A.join(" ")}'`],this._pendingClassEl=$;if(h==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren($,R),h==="svg")this._svgDepth--;if(A.length>0){if(this._pendingClassArgs.length===1)if(z)this._createLines.push(`${$}.setAttribute('class', '${A.join(" ")}');`);else this._createLines.push(`${$}.className = '${A.join(" ")}';`);else{let Q=this._pendingClassArgs.join(", ");if(z)this._pushEffect(`${$}.setAttribute('class', __clsx(${Q}));`);else this._pushEffect(`${$}.className = __clsx(${Q});`)}this._pendingClassArgs=F,this._pendingClassEl=H}return this._emitAutoWire($,M),$},u.emitDynamicTag=function(h,A,R,U,$){let z=this.newElementVar();if(G1.has(h)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${G2}', '${h}');`);else this._createLines.push(`${z} = document.createElement('${h}');`);if($)this._createLines.push(`${z}.id = '${$}';`);this._bindInheritedTarget(h,z);let M=this._claimAutoWire(z),F=[...U||[],...A.map((O)=>this.emitInComponent(O,"value"))],H=this._pendingClassArgs,Q=this._pendingClassEl;if(this._pendingClassArgs=F,this._pendingClassEl=z,h==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,R),h==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let O=this._pendingClassArgs.join(", ");if(G1.has(h)||this._svgDepth>0)this._pushEffect(`${z}.setAttribute('class', __clsx(${O}));`);else this._pushEffect(`${z}.className = __clsx(${O});`)}return this._pendingClassArgs=H,this._pendingClassEl=Q,this._emitAutoWire(z,M),z},u.emitAttributes=function(h,A){let R=o5(A.slice(1));for(let U=1;U<A.length;U++){let[,$,z]=A[U];if(this.is($,".")&&$[1]==="this"){let M=$[2];if(this._autoWireExplicit&&this._autoWireEl===h)this._autoWireExplicit.add(M);if(typeof z==="string"&&this.componentMembers?.has(z))this._createLines.push(`${h}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${z}(e)));`);else{let F=this.emitInComponent(z,"value");this._createLines.push(`${h}.addEventListener('${M}', (e) => __batch(() => (${F})(e)));`)}continue}if(typeof $==="string"||$ instanceof String){if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if($==="class"||$==="className"){let F=this.emitInComponent(z,"value");if(this._pendingClassArgs&&this._pendingClassEl===h)this._pendingClassArgs.push(F);else if(this.hasReactiveDeps(z))if(this._svgDepth>0)this._pushEffect(`${h}.setAttribute('class', __clsx(${F}));`);else this._pushEffect(`${h}.className = __clsx(${F});`);else if(this._svgDepth>0)this._createLines.push(`${h}.setAttribute('class', ${F});`);else this._createLines.push(`${h}.className = ${F};`);continue}if($==="__transition__"){let F=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${F}";`);continue}if($==="ref"){let F=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${F} = ${h};`);continue}if($.startsWith(O3)&&$.endsWith(W3)){let F=$.slice(O3.length,-W3.length),H=this.emitInComponent(z,"value"),Q,O;if(F==="checked")Q="change",O="e.target.checked";else Q="input",O=R==="number"||R==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${h}.${F} = ${H};`);let W=`${H} = ${O}`,K=!this.isSimpleAssignable(z)&&this.findRootReactiveMember(z);if(K)W+=`; ${this._self}.${K}.touch?.()`;this._createLines.push(`${h}.addEventListener('${Q}', (e) => { ${W}; });`);continue}let M=this.emitInComponent(z,"value");if(($==="value"||$==="checked")&&this.hasReactiveDeps(z)){this._pushEffect(`${h}.${$} = ${M};`);continue}if($==="innerHTML"||$==="textContent"||$==="innerText")if(this.hasReactiveDeps(z))this._pushEffect(`${h}.${$} = ${M};`);else this._createLines.push(`${h}.${$} = ${M};`);else if(t5.has($))if(this.hasReactiveDeps(z))this._pushEffect(`${h}.toggleAttribute('${$}', !!${M});`);else this._createLines.push(`if (${M}) ${h}.setAttribute('${$}', '');`);else if(this.hasReactiveDeps(z))if(Array.isArray(z)&&z[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${h}.removeAttribute('${$}') : ${h}.setAttribute('${$}', __v); }`);else this._pushEffect(`${h}.setAttribute('${$}', ${M});`);else if(Array.isArray(z)&&z[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${h}.setAttribute('${$}', __v); }`);else this._createLines.push(`${h}.setAttribute('${$}', ${M});`)}}},u.emitTemplateBlock=function(h){if(!Array.isArray(h)||h[0]!=="block"){let z=this.emitNode(h);if(z!=null)return z;let M=this.newElementVar("empty");return this._createLines.push(`${M} = document.createComment('');`),M}let A=h.slice(1);if(A.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}let R=A.reduce((z,M)=>z+(this._isRenderBinding(M)?0:1),0);if(R===0){for(let M of A)this.emitNode(M);let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(R===1){let z=null;for(let M of A){let F=this.emitNode(M);if(F!=null)z=F}return z}let U=this.newElementVar("frag");this._createLines.push(`${U} = document.createDocumentFragment();`);let $=[];for(let z of A){let M=this.emitNode(z);if(M==null)continue;this._createLines.push(`${U}.appendChild(${M});`),$.push(M)}return this._fragChildren.set(U,$),U},u.emitConditional=function(h){if(this._pendingAutoWire=!1,h.length>4){let Y=h[h.length-1];for(let q=h.length-2;q>=3;q--)Y=[...h[q],Y];h=[h[0],h[1],h[2],Y]}let[,A,R,U]=h,$=this.newElementVar("anchor");this._createLines.push(`${$} = document.createComment('if');`);let z=this.emitInComponent(A,"value"),M=this._loopVarStack.map((Y)=>`${Y.itemVar}, ${Y.indexVar}`).join(", "),F=M?`, ${M}`:"",H=this.newBlockVar();this.emitConditionBranch(H,R);let Q=null;if(U)Q=this.newBlockVar(),this.emitConditionBranch(Q,U);let O=[];O.push(`// Conditional: ${H}${Q?" / "+Q:""}`),O.push("{"),O.push(` const anchor = ${$};`),O.push(" let currentBlock = null;"),O.push(" let showing = null;");let W=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",K=this._factoryMode?"}, {skipRegister: true}));":"});";if(O.push(` ${W}`),O.push(` const show = !!(${z});`),O.push(` const want = show ? 'then' : ${U?"'else'":"null"};`),O.push(" if (want === showing) return;"),O.push(""),O.push(" if (currentBlock) {"),O.push(" const leaving = currentBlock;"),O.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),O.push(" else { leaving.d(true); }"),O.push(" currentBlock = null;"),O.push(" }"),O.push(" showing = want;"),O.push(""),O.push(" if (want === 'then') {"),O.push(` currentBlock = ${H}(${this._self}${F});`),O.push(" currentBlock.c();"),O.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),O.push(` currentBlock.p(${this._self}${F});`),O.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),O.push(" }"),U)O.push(" if (want === 'else') {"),O.push(` currentBlock = ${Q}(${this._self}${F});`),O.push(" currentBlock.c();"),O.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),O.push(` currentBlock.p(${this._self}${F});`),O.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),O.push(" }");if(O.push(` ${K}`),this._factoryMode)O.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else O.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return O.push("}"),this._setupLines.push(O.join(`
|
|
1051
|
-
`))
|
|
1052
|
-
`))},u.emitTemplateLoop=function(
|
|
1053
|
-
`)),H},u.emitChildComponent=function(
|
|
1051
|
+
})()`;return X.join(`
|
|
1052
|
+
`)},u.emitInComponent=function(w,D){if(typeof w==="string"&&this.reactiveMembers&&this.reactiveMembers.has(w))return`${this._self}.${w}.value`;if(typeof w==="string"&&this.componentMembers&&this.componentMembers.has(w))return`${this._self}.${w}`;if(Array.isArray(w)&&this.reactiveMembers){let $=this.transformComponentMembers(w);return this.emit($,D)}return this.emit(w,D)},u.emitRender=function(w,D,$,U){this.error("render blocks can only be used inside a component",U)},u.emitOffer=function(w,D,$,U){this.error("offer can only be used inside a component",U)},u.emitAccept=function(w,D,$,U){this.error("accept can only be used inside a component",U)},u.buildRender=function(w){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._renderLocalScope=new Set,this._renderTopLocals=new Set,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let D=this.is(w,"block")?w.slice(1):[w],$=D.reduce((R,z)=>R+(this._isRenderBinding(z)?0:1),0),U;if(D.length===0||D.length===1&&D[0]==="null")U="null";else if($===0){for(let R of D)this.emitNode(R);U=this.newElementVar("empty"),this._createLines.push(`${U} = document.createComment('');`)}else if($===1){this._pendingAutoWire=!!this._autoEventHandlers;let R=null;for(let z of D){let M=this.emitNode(z);if(M!=null)R=M}this._pendingAutoWire=!1,U=R}else{U=this.newElementVar("frag"),this._createLines.push(`${U} = document.createDocumentFragment();`);let R=[];for(let z of D){let M=this.emitNode(z);if(M==null)continue;this._createLines.push(`${U}.appendChild(${M});`),R.push(M)}this._fragChildren.set(U,R)}if(this._renderTopLocals.size>0){let R=`let ${[...this._renderTopLocals].join(", ")};`;this._createLines.unshift(R)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:U}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(w="el"){let D=`_${w}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(D);return this._factoryMode?D:`this.${D}`},u.newTextVar=function(){let w=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(w);return this._factoryMode?w:`this.${w}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(w){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${w} }, {skipRegister: true}));`);else this._setupLines.push(`__effect(() => { ${w} });`)};let h=(w)=>typeof w==="string"&&/^[A-Za-z_$][\w$]*$/.test(w),A=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","?=","??="]);u._isRenderBinding=function(w){return Array.isArray(w)&&A.has(w[0])&&h(w[1])},u._addRenderLocal=function(w){if(this._renderLocalScope)this._renderLocalScope.add(w)},u._isRenderLocal=function(w){if(!w||typeof w!=="string")return!1;if(this._renderLocalScope&&this._renderLocalScope.has(w))return!0;if(this._loopVarStack){for(let D of this._loopVarStack)if(D.itemVar===w||D.indexVar===w)return!0}return!1},u.emitNode=function(w){if(this._isRenderBinding(w)){let[M,F,H]=w,K=this.emitInComponent(H,"value");if(M==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(F),this._addRenderLocal(F);return this._createLines.push(`${F} ${M} ${K};`),null}if(typeof w==="string"||w instanceof String){let M=w.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode(${M});`),O}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode('');`),this._pushEffect(`${O}.data = ${this._self}.${M}.value;`),O}if(this._isRenderLocal(M)){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode(String(${M}));`),O}if(M==="slot"&&this.componentMembers){let O=this._self,Q=this.newElementVar("slot");return this._createLines.push(`${Q} = ${O}.children instanceof Node ? ${O}.children : (${O}.children != null ? document.createTextNode(String(${O}.children)) : document.createComment(''));`),Q}let[F,H]=M.split("#"),K=this.newElementVar(),W=F||"div";if(y1.has(W)||this._svgDepth>0)this._createLines.push(`${K} = document.createElementNS('${S2}', '${W}');`);else this._createLines.push(`${K} = document.createElement('${W}');`);if(H)this._createLines.push(`${K}.id = '${H}';`);return this._bindInheritedTarget(W,K),K}if(!Array.isArray(w)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[D,...$]=w,U=typeof D==="string"?D:D instanceof String?D.valueOf():null;if(U&&this.isComponent(U))return this.emitChildComponent(U,$);if(U==="slot"&&this.componentMembers){let M=this._self,F=this.newElementVar("slot");return this._createLines.push(`${F} = ${M}.children instanceof Node ? ${M}.children : (${M}.children != null ? document.createTextNode(String(${M}.children)) : document.createComment(''));`),F}if(U==="switch"){let M=$[0],F=$[1]||[],K=$[2]||null;for(let O=F.length-1;O>=0;O--){let[,Q,Y]=F[O],J;if(M===null)J=Q.length===1?Q[0]:Q.reduce((Z,q)=>Z?["||",Z,q]:q,null);else J=Q.length===1?["==",M,Q[0]]:Q.map((Z)=>["==",M,Z]).reduce((Z,q)=>Z?["||",Z,q]:q,null);K=["if",J,Y,K]}if(K){if(Array.isArray(K)&&K[0]==="if")return this.emitConditional(K);return this.emitTemplateBlock(K)}let W=this.newElementVar("c");return this._createLines.push(`${W} = document.createComment('switch');`),W}if(U&&this.isHtmlTag(U)&&!i(D,"text")&&!this._isRenderLocal(U)){let[M,F]=U.split("#");return this.emitTag(M||"div",[],$,F)}if(U==="."){let[,M,F]=w;if(M==="this"&&typeof F==="string"){let J=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(F)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${J}.${F}.value;`),q}let Z=this.newElementVar("slot");return this._createLines.push(`${Z} = ${J}.${F} instanceof Node ? ${J}.${F} : (${J}.${F} != null ? document.createTextNode(String(${J}.${F})) : document.createComment(''));`),Z}let{tag:H,classes:K,id:W,base:O}=this.collectTemplateClasses(w);if(!i(O,"text")&&H&&this.isHtmlTag(H)&&!this._isRenderLocal(H))return this.emitTag(H,K,[],W);let Q=this.newTextVar(),Y=this.emitInComponent(w,"value");return this._createLines.push(`${Q} = document.createTextNode(String(${Y}));`),Q}if(Array.isArray(D)){if(Array.isArray(D[0])&&D[0][0]==="."&&(D[0][2]==="__clsx"||D[0][2]instanceof String&&D[0][2].valueOf()==="__clsx")){let K=D[0][1],W=D.slice(1);if(Array.isArray(K)){let{tag:Q,classes:Y,id:J}=this.collectTemplateClasses(K);if(Q){let Z=Y.map((q)=>`"${q}"`);return this.emitDynamicTag(Q,W,$,Z,J)}}let O=typeof K==="string"?K:K.valueOf();return this.emitDynamicTag(O,W,$)}let{tag:M,classes:F,id:H}=this.collectTemplateClasses(D);if(M&&this.isHtmlTag(M)&&!this._isRenderLocal(M)){if(F.length>0&&F[F.length-1]==="__clsx"){let W=F.slice(0,-1).map((O)=>`"${O}"`);return this.emitDynamicTag(M,$,[],W,H)}return this.emitTag(M,F,$,H)}}if(U==="->"||U==="=>")return this.emitTemplateBlock($[1]);if(U==="if")return this.emitConditional(w);if(U==="for"||U==="for-in"||U==="for-of"||U==="for-as")return this.emitTemplateLoop(w);if(U==="__text__"){let M=$[0]??"undefined",F=this.newTextVar(),H=this.emitInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${F} = document.createTextNode('');`),this._pushEffect(`${F}.data = String(${H});`);else this._createLines.push(`${F} = document.createTextNode(String(${H}));`);return F}let R=this.newTextVar(),z=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${z};`);else this._createLines.push(`${R} = document.createTextNode(String(${z}));`);return R},u.appendChildren=function(w,D){for(let $ of D)if(this.is($,"->")||this.is($,"=>")){let U=$[2];if(this.is(U,"block"))for(let R of U.slice(1))if(this.is(R,"object"))this.emitAttributes(w,R);else{let z=this.emitNode(R);if(z==null)continue;this._createLines.push(`${w}.appendChild(${z});`)}else if(U){let R=this.emitNode(U);if(R!=null)this._createLines.push(`${w}.appendChild(${R});`)}}else if(this.is($,"object"))this.emitAttributes(w,$);else if(typeof $==="string"||$ instanceof String){let U=$.valueOf(),R=U.split(/[#.]/)[0];if(!this._isRenderLocal(R)&&(this.isHtmlTag(R||"div")||this.isComponent(R))){let z=this.emitNode($);this._createLines.push(`${w}.appendChild(${z});`)}else{let z=this.newTextVar();if(U.startsWith('"')||U.startsWith("'")||U.startsWith("`"))this._createLines.push(`${z} = document.createTextNode(${U});`);else if(this.reactiveMembers&&this.reactiveMembers.has(U))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${this._self}.${U}.value;`);else if(this.componentMembers&&this.componentMembers.has(U))this._createLines.push(`${z} = document.createTextNode(String(${this._self}.${U}));`);else this._createLines.push(`${z} = document.createTextNode(${this.emitInComponent($,"value")});`);this._createLines.push(`${w}.appendChild(${z});`)}}else if($){let U=this.emitNode($);if(U!=null)this._createLines.push(`${w}.appendChild(${U});`)}},u._claimAutoWire=function(w){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=w,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(w,D){if(!D)return;for(let[$,U]of this._autoEventHandlers)if(!this._autoWireExplicit.has($))this._createLines.push(`${w}.addEventListener('${$}', (e) => __batch(() => ${this._self}.${U}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(w,D){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(w!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${D};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(w,D,$,U){let R=this.newElementVar(),z=y1.has(w)||this._svgDepth>0;if(z)this._createLines.push(`${R} = document.createElementNS('${S2}', '${w}');`);else this._createLines.push(`${R} = document.createElement('${w}');`);if(U)this._createLines.push(`${R}.id = '${U}';`);if(this._bindInheritedTarget(w,R),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${R}.setAttribute('data-part', '${this._componentName}');`);let M=this._claimAutoWire(R),F=this._pendingClassArgs,H=this._pendingClassEl;if(D.length>0)this._pendingClassArgs=[`'${D.join(" ")}'`],this._pendingClassEl=R;if(w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,$),w==="svg")this._svgDepth--;if(D.length>0){if(this._pendingClassArgs.length===1)if(z)this._createLines.push(`${R}.setAttribute('class', '${D.join(" ")}');`);else this._createLines.push(`${R}.className = '${D.join(" ")}';`);else{let K=this._pendingClassArgs.join(", ");if(z)this._pushEffect(`${R}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${R}.className = __clsx(${K});`)}this._pendingClassArgs=F,this._pendingClassEl=H}return this._emitAutoWire(R,M),R},u.emitDynamicTag=function(w,D,$,U,R){let z=this.newElementVar();if(y1.has(w)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${S2}', '${w}');`);else this._createLines.push(`${z} = document.createElement('${w}');`);if(R)this._createLines.push(`${z}.id = '${R}';`);this._bindInheritedTarget(w,z);let M=this._claimAutoWire(z),F=[...U||[],...D.map((W)=>this.emitInComponent(W,"value"))],H=this._pendingClassArgs,K=this._pendingClassEl;if(this._pendingClassArgs=F,this._pendingClassEl=z,w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,$),w==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let W=this._pendingClassArgs.join(", ");if(y1.has(w)||this._svgDepth>0)this._pushEffect(`${z}.setAttribute('class', __clsx(${W}));`);else this._pushEffect(`${z}.className = __clsx(${W});`)}return this._pendingClassArgs=H,this._pendingClassEl=K,this._emitAutoWire(z,M),z},u.emitAttributes=function(w,D){let $=d5(D.slice(1));for(let U=1;U<D.length;U++){let[,R,z]=D[U];if(this.is(R,".")&&R[1]==="this"){let M=R[2];if(this._autoWireExplicit&&this._autoWireEl===w)this._autoWireExplicit.add(M);if(typeof z==="string"&&this.componentMembers?.has(z))this._createLines.push(`${w}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${z}(e)));`);else{let F=this.emitInComponent(z,"value");this._createLines.push(`${w}.addEventListener('${M}', (e) => __batch(() => (${F})(e)));`)}continue}if(typeof R==="string"||R instanceof String){if(R.startsWith('"')&&R.endsWith('"'))R=R.slice(1,-1);if(R==="class"||R==="className"){let F=this.emitInComponent(z,"value");if(this._pendingClassArgs&&this._pendingClassEl===w)this._pendingClassArgs.push(F);else if(this.hasReactiveDeps(z))if(this._svgDepth>0)this._pushEffect(`${w}.setAttribute('class', __clsx(${F}));`);else this._pushEffect(`${w}.className = __clsx(${F});`);else if(this._svgDepth>0)this._createLines.push(`${w}.setAttribute('class', ${F});`);else this._createLines.push(`${w}.className = ${F};`);continue}if(R==="__transition__"){let F=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${F}";`);continue}if(R==="ref"){let F=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${F} = ${w};`);continue}if(R.startsWith(Y3)&&R.endsWith(Z3)){let F=R.slice(Y3.length,-Z3.length),H=this.emitInComponent(z,"value"),K,W;if(F==="checked")K="change",W="e.target.checked";else K="input",W=$==="number"||$==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${w}.${F} = ${H};`);let O=`${H} = ${W}`,Q=!this.isSimpleAssignable(z)&&this.findRootReactiveMember(z);if(Q)O+=`; ${this._self}.${Q}.touch?.()`;this._createLines.push(`${w}.addEventListener('${K}', (e) => { ${O}; });`);continue}let M=this.emitInComponent(z,"value");if((R==="value"||R==="checked")&&this.hasReactiveDeps(z)){this._pushEffect(`${w}.${R} = ${M};`);continue}if(R==="innerHTML"||R==="textContent"||R==="innerText")if(this.hasReactiveDeps(z))this._pushEffect(`${w}.${R} = ${M};`);else this._createLines.push(`${w}.${R} = ${M};`);else if(x5.has(R))if(this.hasReactiveDeps(z))this._pushEffect(`${w}.toggleAttribute('${R}', !!${M});`);else this._createLines.push(`if (${M}) ${w}.setAttribute('${R}', '');`);else if(this.hasReactiveDeps(z))if(Array.isArray(z)&&z[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${w}.removeAttribute('${R}') : ${w}.setAttribute('${R}', __v); }`);else this._pushEffect(`${w}.setAttribute('${R}', ${M});`);else if(Array.isArray(z)&&z[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${w}.setAttribute('${R}', __v); }`);else this._createLines.push(`${w}.setAttribute('${R}', ${M});`)}}},u.emitTemplateBlock=function(w){if(!Array.isArray(w)||w[0]!=="block"){let z=this.emitNode(w);if(z!=null)return z;let M=this.newElementVar("empty");return this._createLines.push(`${M} = document.createComment('');`),M}let D=w.slice(1);if(D.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}let $=D.reduce((z,M)=>z+(this._isRenderBinding(M)?0:1),0);if($===0){for(let M of D)this.emitNode(M);let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if($===1){let z=null;for(let M of D){let F=this.emitNode(M);if(F!=null)z=F}return z}let U=this.newElementVar("frag");this._createLines.push(`${U} = document.createDocumentFragment();`);let R=[];for(let z of D){let M=this.emitNode(z);if(M==null)continue;this._createLines.push(`${U}.appendChild(${M});`),R.push(M)}return this._fragChildren.set(U,R),U},u.emitConditional=function(w){if(this._pendingAutoWire=!1,w.length>4){let Y=w[w.length-1];for(let J=w.length-2;J>=3;J--)Y=[...w[J],Y];w=[w[0],w[1],w[2],Y]}let[,D,$,U]=w,R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('if');`);let z=this.emitInComponent(D,"value"),M=this._loopVarStack.map((Y)=>`${Y.itemVar}, ${Y.indexVar}`).join(", "),F=M?`, ${M}`:"",H=this.newBlockVar();this.emitConditionBranch(H,$);let K=null;if(U)K=this.newBlockVar(),this.emitConditionBranch(K,U);let W=[];W.push(`// Conditional: ${H}${K?" / "+K:""}`),W.push("{"),W.push(` const anchor = ${R};`),W.push(" let currentBlock = null;"),W.push(" let showing = null;");let O=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",Q=this._factoryMode?"}, {skipRegister: true}));":"});";if(W.push(` ${O}`),W.push(` const show = !!(${z});`),W.push(` const want = show ? 'then' : ${U?"'else'":"null"};`),W.push(" if (want === showing) return;"),W.push(""),W.push(" if (currentBlock) {"),W.push(" const leaving = currentBlock;"),W.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),W.push(" else { leaving.d(true); }"),W.push(" currentBlock = null;"),W.push(" }"),W.push(" showing = want;"),W.push(""),W.push(" if (want === 'then') {"),W.push(` currentBlock = ${H}(${this._self}${F});`),W.push(" currentBlock.c();"),W.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),W.push(` currentBlock.p(${this._self}${F});`),W.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),W.push(" }"),U)W.push(" if (want === 'else') {"),W.push(` currentBlock = ${K}(${this._self}${F});`),W.push(" currentBlock.c();"),W.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),W.push(` currentBlock.p(${this._self}${F});`),W.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),W.push(" }");if(W.push(` ${Q}`),this._factoryMode)W.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else W.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return W.push("}"),this._setupLines.push(W.join(`
|
|
1053
|
+
`)),R},u.emitConditionBranch=function(w,D){let $=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let U=this.emitTemplateBlock(D),R=this._createLines,z=this._setupLines,M=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=$;let F=this._loopVarStack.map((K)=>`${K.itemVar}, ${K.indexVar}`).join(", "),H=F?`, ${F}`:"";this.emitBlockFactory(w,`ctx${H}`,U,R,z,M)},u.emitBlockFactory=function(w,D,$,U,R,z,M){let F=[];if(F.push(`function ${w}(${D}) {`),z.size>0)F.push(` let ${[...z].join(", ")};`);let H=R.length>0;if(H)F.push(" let disposers = [];");if(F.push(" let _factoryChildren = [];"),F.push(" return {"),M)F.push(" _s: true,");let K=this._fragChildren.get($),W=K?K[0]:$;F.push(" c() {");for(let O of U)F.push(` ${O}`);if(F.push(` this._first = ${W};`),F.push(" },"),F.push(" m(target, anchor) {"),K)for(let O of K)F.push(` if (target) target.insertBefore(${O}, anchor);`);else F.push(` if (target) target.insertBefore(${$}, anchor);`);if(F.push(" },"),F.push(` p(${D}) {`),H){F.push(" disposers.forEach(d => d());"),F.push(" disposers = [];");for(let O of R)F.push(` ${O}`)}if(F.push(" },"),F.push(" d(detaching) {"),F.push(" for (const __c of _factoryChildren) { try { __c.unmount?.({removeDOM: false}); } catch (__e) { console.error('[Rip] factory child unmount error:', __e); } }"),F.push(" _factoryChildren = [];"),H)F.push(" disposers.forEach(d => d());");if(K)for(let O of K)F.push(` if (detaching && ${O}) ${O}.remove();`);else F.push(` if (detaching && ${$}) ${$}.remove();`);F.push(" }"),F.push(" };"),F.push("}"),this._blockFactories.push(F.join(`
|
|
1054
|
+
`))},u.emitTemplateLoop=function(w){this._pendingAutoWire=!1;let[D,$,U,R,z,M]=w,F=this.newBlockVar(),H=this.newElementVar("anchor");this._createLines.push(`${H} = document.createComment('for');`);let K=Array.isArray($)?$:[$],W=K[0],O=K[1]||null;if(!O){let x=new Set(this._loopVarStack.flatMap((y)=>[y.itemVar,y.indexVar]));x.add(W),this._collectBodyBindings(M,x);for(let y of["i","j","k","l","m","n"])if(!x.has(y)){O=y;break}O=O||`__rip_idx${this._loopVarStack.length}`}let Q=this.emitInComponent(U,"value"),Y=W;if(this.is(M,"block")&&M.length>1){let x=M[1];if(Array.isArray(x))for(let y of x){if(this.is(y,"object"))for(let m=1;m<y.length;m++){let[l1,E]=y[m];if(l1==="key"){Y=this.emit(E,"value");break}}if(Y!==W)break}}let J=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let Z=this._loopVarStack.map((x)=>`${x.itemVar}, ${x.indexVar}`).join(", "),q=Z?`, ${Z}`:"",G=this.hasReactiveDeps(U);this._loopVarStack.push({itemVar:W,indexVar:O,reactiveSource:G});let P=this.emitTemplateBlock(M);this._loopVarStack.pop();let L=this._createLines,I=this._setupLines,e=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=J;let p=I.length===0,N=`ctx, ${W}, ${O}${q}`;this.emitBlockFactory(F,N,P,L,I,e,p);let u1=Y!==W?`(${W}, ${O}) => ${Y}`:"null",b=Z?`, ${Z}`:"",B=[];B.push(`// Loop: ${F}`),B.push("{"),B.push(" const __s = { blocks: [], keys: [] };");let T=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",k=this._factoryMode?"}, {skipRegister: true}));":"});";if(B.push(` ${T}`),B.push(` __reconcile(${H}, __s, ${Q}, ${this._self}, ${F}, ${u1}${b});`),B.push(` ${k}`),this._factoryMode)B.push(" disposers.push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; });");else B.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; }); }");return B.push("}"),this._setupLines.push(B.join(`
|
|
1055
|
+
`)),H},u.emitChildComponent=function(w,D){this._pendingAutoWire=!1;let $=this.newElementVar("inst"),U=this.newElementVar("el"),{propsCode:R,reactiveProps:z,eventBindings:M,childrenSetupLines:F}=this.buildComponentProps(D),H=this._self;if(this._createLines.push(`{ const __prev = __pushComponent(${H}); try {`),this._createLines.push("try {"),this._createLines.push(`${$} = new ${w}(${R});`),this._createLines.push(`if (${$} && ${$}._initFailed) {`),this._createLines.push(` try { ${$}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-init unmount error:', __ue); }`),this._createLines.push(` ${$} = null;`),this._createLines.push(` ${U} = document.createComment('rip:child-init-failed: ${w}');`),this._createLines.push("} else {"),this._createLines.push(` { const __cprev = __pushComponent(${$}); try {`),this._createLines.push(` ${U} = ${$}._root = ${$}._create();`),this._createLines.push(" } finally { __popComponent(__cprev); } }"),this._factoryMode)this._createLines.push(` _factoryChildren.push(${$});`);else this._createLines.push(` (${H}._children || (${H}._children = [])).push(${$});`);this._createLines.push("}"),this._createLines.push("} catch (__childErr) {"),this._createLines.push(` console.error('[Rip] ${w} construction failed:', __childErr);`),this._createLines.push(` if (${$}) { try { ${$}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-child unmount error:', __ue); } }`),this._createLines.push(` ${$} = null;`),this._createLines.push(` ${U} = document.createComment('rip:child-error: ${w}');`),this._createLines.push("}"),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:K,value:W}of M){let O=this.emitInComponent(W,"value");this._createLines.push(`if (${$}) ${U}.addEventListener('${K}', (e) => __batch(() => (${O})(e)));`)}this._setupLines.push(`if (${$} && !${$}._isSetup) { ${$}._isSetup = true; const __cprev = __pushComponent(${$}); try { try { if (${$}.beforeMount) ${$}.beforeMount(); if (${$}._setup) ${$}._setup(); if (${$}.mounted) ${$}.mounted(); } catch (__e) { __handleComponentError(__e, ${$}); } } finally { __popComponent(__cprev); } }`);for(let{key:K,valueCode:W}of z)this._pushEffect(`if (${$}) { if (${$}.${K} && typeof ${$}.${K} === 'object' && 'value' in ${$}.${K}) ${$}.${K}.value = ${W}; else if (${$}._setRestProp) ${$}._setRestProp('${K}', ${W}); }`);for(let K of F)this._setupLines.push(K);return U},u.buildComponentProps=function(w){let D=[],$=[],U=[],R=null,z=[],M=(O,Q)=>{if(O.startsWith("@")){U.push({event:O.slice(1).split(".")[0],value:Q});return}if(this.reactiveMembers&&(typeof Q==="string"&&this.reactiveMembers.has(Q)||Array.isArray(Q)&&Q[0]==="."&&Q[1]==="this"&&typeof Q[2]==="string"&&this.reactiveMembers.has(Q[2]))){let J=typeof Q==="string"?Q:Q[2];D.push(`${O}: ${this._self}.${J}`)}else{let J=this.emitInComponent(Q,"value");if(D.push(`${O}: ${J}`),this.hasReactiveDeps(Q))$.push({key:O,valueCode:J})}},F=(O)=>{for(let Q=1;Q<O.length;Q++){let[,Y,J]=O[Q];if(typeof Y==="string")M(Y,J);else if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")U.push({event:Y[2],value:J})}},H=/^[a-zA-Z_$][\w$]*$/,K=(O)=>typeof O==="string"&&H.test(O);for(let O of w)if(this.is(O,"object"))F(O);else if(K(O))M(O,"true");else if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let Q=O[2];if(Q){if(this.is(Q,"block")){let Y=[];for(let J of Q.slice(1))if(this.is(J,"object"))F(J);else Y.push(J);Q=Y.length>0?["block",...Y]:null}if(Q){let Y=this._createLines,J=this._setupLines;this._createLines=[],this._setupLines=[],R=this.emitTemplateBlock(Q);let Z=this._createLines,q=this._setupLines;this._createLines=Y,this._setupLines=J;for(let G of Z)this._createLines.push(G);z.push(...q),D.push(`children: ${R}`)}}}else if(O&&!R){let Q=this.newTextVar(),Y=this.emitInComponent(O,"value");if(this.hasReactiveDeps(O)){this._createLines.push(`${Q} = document.createTextNode('');`);let J=`${Q}.data = ${Y};`,Z=this._factoryMode?`disposers.push(__effect(() => { ${J} }, {skipRegister: true}));`:`__effect(() => { ${J} });`;z.push(Z)}else this._createLines.push(`${Q} = document.createTextNode(${Y});`);R=Q,D.push(`children: ${R}`)}return{propsCode:D.length>0?`{ ${D.join(", ")} }`:"{}",reactiveProps:$,eventBindings:U,childrenSetupLines:z}},u.hasReactiveDeps=function(w){if(typeof w==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w));if(!Array.isArray(w))return!1;if(w[0]==="."&&w[1]==="this"&&typeof w[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w[2]));if(w[0]==="."&&this._rootsAtThis(w[1]))return!0;if((w[0]==="."||w[0]==="[]")&&this._rootsAtReactiveLoopVar(w))return!0;if(Array.isArray(w[0])&&w[0][0]==="."&&w[0][1]==="this"){let D=l(w[0][2]);if(D&&this.componentMembers?.has(D))return!0}for(let D of w)if(this.hasReactiveDeps(D))return!0;return!1},u._collectBodyBindings=function(w,D){if(!Array.isArray(w))return;let $=w[0];if($==="for-in"||$==="for-of"||$==="for-as"){let U=w[1],R=Array.isArray(U)?U:[U];for(let z of R)if(typeof z==="string")D.add(z)}else if($==="="&&h(w[1]))D.add(w[1]);for(let U=1;U<w.length;U++)this._collectBodyBindings(w[U],D)},u.isSimpleAssignable=function(w){if(typeof w==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w));if(Array.isArray(w)&&w[0]==="."&&w[1]==="this"&&typeof w[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w[2]));return!1},u.findRootReactiveMember=function(w){if(typeof w==="string")return this.reactiveMembers?.has(w)?w:null;if(!Array.isArray(w))return null;if(w[0]==="."&&w[1]==="this"&&typeof w[2]==="string")return this.reactiveMembers?.has(w[2])?w[2]:null;if(w[0]==="."||w[0]==="[]")return this.findRootReactiveMember(w[1]);return null},u._rootsAtThis=function(w){if(typeof w==="string")return w==="this";if(!Array.isArray(w)||w[0]!==".")return!1;return this._rootsAtThis(w[1])},u._rootsAtReactiveLoopVar=function(w){if(typeof w==="string"){if(!this._loopVarStack||this._loopVarStack.length===0)return!1;for(let D=this._loopVarStack.length-1;D>=0;D--){let $=this._loopVarStack[D];if($.itemVar===w)return!!$.reactiveSource}return!1}if(!Array.isArray(w))return!1;if(w[0]==="."||w[0]==="[]")return this._rootsAtReactiveLoopVar(w[1]);return!1},u.getComponentRuntime=function(){return`
|
|
1054
1056
|
// ============================================================================
|
|
1055
1057
|
// Rip Component Runtime
|
|
1056
1058
|
// ============================================================================
|
|
@@ -1433,11 +1435,11 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1433
1435
|
globalThis.__ripComponent = { __pushComponent, __popComponent, __getCurrentComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
|
|
1434
1436
|
}
|
|
1435
1437
|
|
|
1436
|
-
`}}function
|
|
1438
|
+
`}}function W1(f){let _="",i=f<0?-f<<1|1:f<<1;do{let n=i&31;if(i>>>=5,i>0)n|=32;_+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[n]}while(i>0);return _}class I2{constructor(f,_,i=null){this.file=f,this.source=_,this.sourceContent=i,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let _=this.names.length;return this.names.push(f),this.nameIndex.set(f,_),_}addMapping(f,_,i,n,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(i==null){this.lines[f].push(W1(_-this.prevGenCol)),this.prevGenCol=_;return}this.mappings.push({genLine:f,genCol:_,origLine:i,origCol:n});let l=W1(_-this.prevGenCol);if(this.prevGenCol=_,l+=W1(0),l+=W1(i-this.prevOrigLine),this.prevOrigLine=i,l+=W1(n-this.prevOrigCol),this.prevOrigCol=n,u!=null){let c=this.addName(u);l+=W1(c-this.prevNameIdx),this.prevNameIdx=c}this.lines[f].push(l)}toReverseMap(){let f=new Map;for(let _ of this.mappings){if(!f.has(_.origLine))f.set(_.origLine,[]);f.get(_.origLine).push({origCol:_.origCol,genLine:_.genLine,genCol:_.genCol})}return f}toJSON(){let f=this.lines.map((i)=>i.join(",")).join(";"),_={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)_.sourcesContent=[this.sourceContent];return JSON.stringify(_)}}function k5(f){let _=[],i=0;while(i<f.length){let n=0,u=0,l;do l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(f[i++]),n|=(l&31)<<u,u+=5;while(l&32);_.push(n&1?-(n>>1):n>>1)}return _}var p5=`
|
|
1437
1439
|
;
|
|
1438
|
-
`,
|
|
1440
|
+
`,e5=2;function u0(f){let _=/\n?\/\/# sourceMappingURL=data:application\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\s*$/,i=f.match(_);if(!i)return{js:f,mapJSON:null};let n;try{let u=atob(i[1]),l=new Uint8Array(u.length);for(let c=0;c<u.length;c++)l[c]=u.charCodeAt(c);n=new TextDecoder().decode(l)}catch{return{js:f.slice(0,i.index),mapJSON:null}}return{js:f.slice(0,i.index),mapJSON:n}}function f0(f){let _=0;for(let i=0;i<f.length;i++)if(f.charCodeAt(i)===10)_++;return _}function l0(f){let _=f.split(";"),i=[],n=0,u=0,l=0,c=0;for(let h of _){let A=[],w=0;if(h.length>0)for(let D of h.split(",")){if(D.length===0)continue;let $=k5(D);if(w+=$[0],$.length===1)A.push({genCol:w});else{n+=$[1],u+=$[2],l+=$[3];let U={genCol:w,src:n,origLine:u,origCol:l};if($.length>=5)c+=$[4],U.name=c;A.push(U)}}i.push(A)}return i}function _0(f){let _=0,i=0,n=0,u=0,l=0,c=[];for(let h of f){_=0;let A=[];for(let w of h){if(w.src==null)A.push(W1(w.genCol-_));else{let D=W1(w.genCol-_);if(D+=W1(w.src-i),D+=W1(w.origLine-n),D+=W1(w.origCol-u),w.name!=null)D+=W1(w.name-l),l=w.name;i=w.src,n=w.origLine,u=w.origCol,A.push(D)}_=w.genCol}c.push(A.join(","))}return c.join(";")}function i0(f){let _=f.map((H)=>{if(H.mapJSON!==void 0)return{js:H.js,mapJSON:H.mapJSON};return u0(H.js)}),i=_.some((H)=>H.mapJSON),n=_.map((H)=>H.js).join(p5);if(!i)return{js:n,mapJSON:null};let u=[],l=[],c=new Map,h=[],A=new Map;function w(H,K){if(c.has(H))return c.get(H);let W=u.length;return u.push(H),l.push(K??null),c.set(H,W),W}function D(H){if(A.has(H))return A.get(H);let K=h.length;return h.push(H),A.set(H,K),K}let $=[],U=0;for(let H=0;H<_.length;H++){let K=_[H],W={lineOffset:U,srcRemap:[],nameRemap:[],perLineSegs:null};if(K.mapJSON){let Y;try{Y=JSON.parse(K.mapJSON)}catch{Y=null}if(Y&&typeof Y.mappings==="string"){let J=Y.sources||[],Z=Y.sourcesContent||[];W.srcRemap=J.map((G,P)=>w(G,Z[P]));let q=Y.names||[];W.nameRemap=q.map((G)=>D(G)),W.perLineSegs=l0(Y.mappings)}}$.push(W);let O=f0(K.js),Q=H<_.length-1?e5:0;U+=O+Q}let R=U+1,z=Array(R).fill(null).map(()=>[]);for(let H of $){if(!H.perLineSegs)continue;for(let K=0;K<H.perLineSegs.length;K++){let W=H.lineOffset+K;if(W>=z.length)while(z.length<=W)z.push([]);for(let O of H.perLineSegs[K])if(O.src==null)z[W].push({genCol:O.genCol});else{let Q={genCol:O.genCol,src:H.srcRemap[O.src],origLine:O.origLine,origCol:O.origCol};if(O.name!=null)Q.name=H.nameRemap[O.name];z[W].push(Q)}}}let M=_0(z);return{js:n,mapJSON:JSON.stringify({version:3,sources:u,sourcesContent:l,names:h,mappings:M})}}function n0(f){if(typeof Buffer<"u")return Buffer.from(f,"utf8").toString("base64");let _=new TextEncoder().encode(f),i="";for(let n=0;n<_.length;n++)i+=String.fromCharCode(_[n]);return btoa(i)}function J3(f){let{js:_,mapJSON:i}=i0(f);if(!i)return _;let n=n0(i);return _+`
|
|
1439
1441
|
//# sourceMappingURL=data:application/json;base64,`+n+`
|
|
1440
|
-
`}function
|
|
1442
|
+
`}function L1(){return`// rip:stdlib:begin
|
|
1441
1443
|
globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
1442
1444
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
1443
1445
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
@@ -1482,31 +1484,33 @@ globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
|
1482
1484
|
globalThis.warn ??= console.warn;
|
|
1483
1485
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
1484
1486
|
// rip:stdlib:end
|
|
1485
|
-
`}class
|
|
1486
|
-
`)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let _=this.locationString,
|
|
1487
|
+
`}class $1 extends Error{constructor(f,{code:_=null,file:i=null,line:n=null,column:u=null,length:l=1,source:c=null,suggestion:h=null,phase:A=null}={}){super(f);this.name="RipError",this.code=_,this.file=i,this.line=n,this.column=u,this.length=l,this.source=c,this.suggestion=h,this.phase=A}static fromLexer(f,_,i){let n=f.location||{};return new $1(f.message,{code:"E_SYNTAX",file:i,line:n.first_line??null,column:n.first_column??null,length:n.last_column!=null&&n.first_column!=null?n.last_column-n.first_column+1:1,source:_,phase:"lexer"})}static fromParser(f,_,i){let n=f.hash||{},u=n.loc||{},l=n.line??u.r??null,c=u.first_column??u.c??null,h=null;if(n.expected?.length){if(h=`Expected ${n.expected.slice(0,5).map((U)=>U.replace(/'/g,"")).join(", ")}`,n.expected.length>5)h+=`, ... (${n.expected.length} total)`}let A=n.token||"token",w=n.text?` near '${n.text}'`:"",D=`Unexpected ${A}${w}`;return new $1(D,{code:"E_PARSE",file:i,line:l,column:c,length:n.text?.length||1,source:_,suggestion:h,phase:"parser"})}static fromSExpr(f,_,i,n,u){let l=_?.loc||{};return new $1(f,{code:"E_CODEGEN",file:n,line:l.r??null,column:l.c??null,length:l.n??1,source:i,suggestion:u,phase:"codegen"})}get locationString(){let f=[];if(this.file)f.push(this.file);if(this.line!=null)f.push(`${this.line+1}:${(this.column??0)+1}`);return f.join(":")}format({color:f=!0}={}){let _=f?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},i=[],n=this.locationString,u=n?`${_.cyan}${n}${_.reset} `:"";i.push(`${u}${_.red}${_.bold}error${_.reset}${_.bold}: ${this.message}${_.reset}`);let l=this._snippet();if(l){i.push("");for(let c of l)if(c.type==="source")i.push(`${_.dim}${c.gutter}${_.reset}${c.text}`);else if(c.type==="caret")i.push(`${_.dim}${c.gutter}${_.reset}${_.red}${_.bold}${c.text}${_.reset}`)}if(this.suggestion)i.push(""),i.push(`${_.yellow}hint${_.reset}: ${this.suggestion}`);return i.join(`
|
|
1488
|
+
`)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let _=this.locationString,i=_?`<span class="re-loc">${N1(_)}</span> `:"";f.push(`<div class="re-header">${i}error: ${N1(this.message)}</div>`);let n=this._snippet();if(n){f.push('<pre class="re-snippet">');for(let u of n)if(u.type==="source")f.push(`<span class="re-gutter">${N1(u.gutter)}</span>${N1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${N1(u.gutter)}</span><span class="re-caret">${N1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${N1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
|
|
1487
1489
|
`)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
|
|
1488
|
-
`),_=this.line;if(_<0||_>=f.length)return null;let
|
|
1489
|
-
`)>=0){let
|
|
1490
|
-
`).map((
|
|
1491
|
-
`)}let n=f[0];if(U2(f)&&f.slice(1).every((
|
|
1492
|
-
`))return" ".repeat(_)+
|
|
1493
|
-
`))
|
|
1494
|
-
`).map((
|
|
1495
|
-
`)}else
|
|
1496
|
-
`)){
|
|
1497
|
-
`)}class D1{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,_,{suggestion:
|
|
1498
|
-
`).length}}
|
|
1499
|
-
`)
|
|
1500
|
-
`))
|
|
1501
|
-
`),A
|
|
1502
|
-
`),A
|
|
1490
|
+
`),_=this.line;if(_<0||_>=f.length)return null;let i=2,n=Math.max(0,_-i),u=Math.min(f.length-1,_+i),l=String(u+1).length,c=[];for(let h=n;h<=u;h++){let w=` ${String(h+1).padStart(l)} │ `;if(c.push({type:"source",gutter:w,text:f[h]}),h===_&&this.column!=null){let D=" ".repeat(this.column),$=Math.max(1,Math.min(this.length||1,f[h].length-this.column)),U="^".repeat($),R=" ".repeat(l+2)+"│ ";c.push({type:"caret",gutter:R,text:`${D}${U}`})}}return c}}function c0(f){return f instanceof SyntaxError&&f.location!=null}function h0(f){return!(f instanceof SyntaxError)&&f.hash!=null}function C1(f,_,i){if(f instanceof $1){if(i&&!f.file)f.file=i;if(_&&!f.source)f.source=_;return f}if(c0(f))return $1.fromLexer(f,_,i);if(h0(f))return $1.fromParser(f,_,i);return new $1(f.message,{file:i,source:_,phase:"unknown"})}function b1(f,{source:_,file:i,color:n=!0}={}){return(f instanceof $1?f:C1(f,_,i)).format({color:n})}function B2(f,{source:_,file:i}={}){return(f instanceof $1?f:C1(f,_,i)).formatHTML()}function N1(f){return f.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var D2=null;var w1=(f,_)=>f instanceof String?f[_]:void 0,v=(f)=>f instanceof String?f.valueOf():f,w0=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),A0=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),D0=new Set(["true","false","null","undefined","Infinity","NaN"]);function U2(f){if(!Array.isArray(f)||f.length===0)return!1;let _=f[0]?.valueOf?.()??f[0];if(w0.has(_))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 _=String(f);if(_[0]==="/"&&_.indexOf(`
|
|
1491
|
+
`)>=0){let i=_.match(/\/([gimsuvy]*)$/),n=i?i[1]:"",u=_.slice(1);return u=n?u.slice(0,-n.length-1):u.slice(0,-1),`"/${u.split(`
|
|
1492
|
+
`).map((h)=>h.replace(/#.*$/,"").trim()).join("")}/${n}"`}return _}function K1(f,_=0,i=!1){if(!Array.isArray(f))return x1(f);if(i&&f[0]==="program"){let w=f[1],$=[Array.isArray(w)?"(program":"(program "+x1(w)],U=Array.isArray(w)?1:2;for(let R=U;R<f.length;R++){let z=K1(f[R],2,!1);$.push(z[0]==="("?" "+z:z)}return $.push(")"),$.join(`
|
|
1493
|
+
`)}let n=f[0];if(U2(f)&&f.slice(1).every((w)=>!Array.isArray(w)||U2(w))){let D=`(${f.map(($)=>Array.isArray($)?K1($,0,!1):x1($)).join(" ")})`;if(!D.includes(`
|
|
1494
|
+
`))return" ".repeat(_)+D}let l=" ".repeat(_),c;if(Array.isArray(n)){if(c=K1(n,0,!1),c.includes(`
|
|
1495
|
+
`))c=c.split(`
|
|
1496
|
+
`).map((D,$)=>$===0?D:" ".repeat(_+2)+D).join(`
|
|
1497
|
+
`)}else c=x1(n);let h=[`${l}(${c}`],A=n==="block";for(let w=1;w<f.length;w++){let D=f[w];if(!Array.isArray(D))h[h.length-1]+=" "+x1(D);else{let $=U2(D)&&D.every((U)=>!Array.isArray(U)||U2(U));if(!A&&$){let U=K1(D,0,!1);if(!U.includes(`
|
|
1498
|
+
`)){h[h.length-1]+=" "+U;continue}}h.push(K1(D,_+2,!1))}}return h[h.length-1]+=")",h.join(`
|
|
1499
|
+
`)}class D1{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,_,{suggestion:i}={}){throw $1.fromSExpr(f,_,this.options.source,this.options.filename,i)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let _=this.emit(f);if(this.sourceMap)this.buildMappings();return _}buildMappings(){if(this._importEntries){let _=0;for(let i of this._importEntries){if(i.loc)this.sourceMap.addMapping(_,0,i.loc.r,i.loc.c);if(i.sexpr&&i.loc)this.recordSubMappings(i.code,i.sexpr,_);_+=i.code.split(`
|
|
1500
|
+
`).length}}if(!this._stmtEntries)return;let f=this._preambleLines;for(let _ of this._stmtEntries){if(_.loc)this.sourceMap.addMapping(f,0,_.loc.r,_.loc.c);if(_.sexpr&&_.loc)this.recordSubMappings(_.code,_.sexpr,f);f+=_.code.split(`
|
|
1501
|
+
`).length}}static _isColInsideString(f,_){let i=!1,n="",u=0;for(let l=0;l<f.length&&l<_;l++){let c=f[l];if(i){if(c==="\\"){l++;continue}if(n==="`"&&c==="$"&&f[l+1]==="{"){u=1,i=!1,l++;continue}if(c===n)i=!1}else if(u>0){if(c==="{")u++;else if(c==="}"){if(u--,u===0)i=!0,n="`"}else if(c==='"'||c==="'"||c==="`")i=!0,n=c}else if(c==='"'||c==="'"||c==="`")i=!0,n=c}return i}recordSubMappings(f,_,i){let n=_.loc?_.loc.r:0,u=[];this.collectSubExprs(_,u);let l=f.split(`
|
|
1502
|
+
`),c=[0];for(let R=0;R<f.length;R++)if(f.charCodeAt(R)===10)c.push(R+1);let h=(R)=>{let z=0,M=c.length-1;while(z<=M){let F=z+M>>1;if(c[F]<=R)z=F+1;else M=F-1}return M},A=new Set,w=new Map,D=(R)=>{if(w.has(R))return w.get(R);let z=l[R],M=z&&z.match(/\/\/ @rip-src:(\d+)\s*$/),F=M?parseInt(M[1],10):null;return w.set(R,F),F},$=new Map,U=(R)=>{if($.has(R))return $.get(R);let z=l[R],M=[];if(z&&/\)\s*(\{|=>)\s*$/.test(z)){let F=/\b[a-zA-Z_$][\w$]*\??\s*:\s*\{/g,H;while((H=F.exec(z))!==null){let K=H.index+H[0].length-1;if(D1._isColInsideString(z,K))continue;let W=1,O=K+1,Q=!1,Y="";while(O<z.length&&W>0){let J=z[O];if(Q){if(J==="\\"){O+=2;continue}if(J===Y)Q=!1}else if(J==='"'||J==="'"||J==="`")Q=!0,Y=J;else if(J==="{")W++;else if(J==="}")W--;O++}M.push([K,O]),F.lastIndex=O}}return $.set(R,M),M};for(let{name:R,origLine:z,origCol:M}of u){let F=R.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),H=new RegExp("\\b"+F+"\\b","g"),K,W=null,O=1/0,Q=null,Y=1/0,J=z-n;while((K=H.exec(f))!==null){let q=h(K.index),G=K.index-c[q],P=l[q],L=D(q),I=L!=null&&L===z;if(P&&D1._isColInsideString(P,G)&&!I)continue;let e=U(q);if(e.length&&e.some(([u1,b])=>G>=u1&&G<b))continue;let p=i+q,N=I?Math.abs(G-M):Math.abs(q-J)*1e4+Math.abs(G-M);if(N<O)O=N,W={genLine:p,genCol:G};let X=p+":"+G;if(!A.has(X)&&N<Y)Y=N,Q={genLine:p,genCol:G}}let Z=Q||W;if(Z)this.sourceMap.addMapping(Z.genLine,Z.genCol,z,M),A.add(Z.genLine+":"+Z.genCol)}}collectSubExprs(f,_){if(!Array.isArray(f))return;let i=f[0];if(Array.isArray(i)||i!=null&&typeof i!=="string"&&!(i instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],_);if(Array.isArray(f._anchors))for(let u of f._anchors)_.push(u);return}if(f.loc){i=v(i);let u=null,l=f.loc.c;if(i==="."){if(typeof f[2]==="string"){if(u=f[2],typeof f[1]==="string")l=f.loc.c+f[1].length+1}}else if(typeof i==="string"&&/^[=+\-*/%<>!&|?~^]|^\.{1,3}$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(i)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1])){if(u=f[1],i==="...")l=f.loc.c+3}}else if(typeof i==="string"&&/^[a-zA-Z_$]/.test(i))u=i;if(u)_.push({name:u,origLine:f.loc.r,origCol:l});if((i==="->"||i==="=>")&&Array.isArray(f[2])&&v(f[2][0])==="block"){let c=f[2];for(let h=1;h<c.length;h++){let A=c[h],w=typeof A==="string"||A instanceof String?v(A):null;if(w&&/^[a-zA-Z_$][\w$]*$/.test(w)&&!A.loc){let D=this._scanForIdentAfter(w,f.loc);if(D)_.push(D)}}}}if(Array.isArray(f._anchors))for(let u of f._anchors)_.push(u);let n=i==="->"||i==="=>"?2:1;for(let u=n;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],_)}_scanForIdentAfter(f,_){let i=this.options&&this.options.source;if(!i||!_)return null;let n=this._sourceLinesCache||(this._sourceLinesCache=i.split(`
|
|
1503
|
+
`)),u=new RegExp("\\b"+f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g"),l=_.r,c=_.c;for(let h=l;h<Math.min(n.length,l+20);h++){let A=n[h];if(!A)continue;u.lastIndex=h===l?c:0;let w;while((w=u.exec(A))!==null){if(D1._isColInsideString(A,w.index))continue;return{name:f,origLine:h,origCol:w.index}}}return null}collectProgramVariables(f){if(!Array.isArray(f))return;let[_,...i]=f;if(_=v(_),Array.isArray(_)){f.forEach((n)=>this.collectProgramVariables(n));return}if(_==="export"||_==="export-default"||_==="export-all"||_==="export-from")return;if(_==="state"||_==="computed"){let[n]=i,u=v(n)??n;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(_==="readonly"){let[n]=i,u=v(n)??n;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(_==="component")return;if(_==="enum")return;if(D1.ASSIGNMENT_OPS.has(_)){let[n,u]=i;if(typeof n==="string"||n instanceof String){let l=v(n);if(!this.reactiveVars?.has(l)&&!this.readonlyVars?.has(l))this.programVars.add(l)}else if(this.is(n,"array"))this.collectVarsFromArray(n,this.programVars);else if(this.is(n,"object"))this.collectVarsFromObject(n,this.programVars);this.collectProgramVariables(u);return}if(_==="for-in"||_==="for-of"||_==="for-as"){i.slice(1).forEach((n)=>this.collectProgramVariables(n));return}if(_==="def"||_==="->"||_==="=>"||_==="effect")return;if(_==="if"){let[n,u,l]=i;if(this.collectProgramVariables(n),this.collectProgramVariables(u),l)this.collectProgramVariables(l);return}if(_==="try"){if(this.collectProgramVariables(i[0]),i.length>=2&&Array.isArray(i[1])&&i[1].length===2&&i[1][0]!=="block"){let[n,u]=i[1];if(n&&this.is(n,"object"))n.slice(1).forEach((l)=>{if(Array.isArray(l)&&l.length===2&&typeof l[1]==="string")this.programVars.add(l[1])});else if(n&&this.is(n,"array"))n.slice(1).forEach((l)=>{if(typeof l==="string")this.programVars.add(l)});this.collectProgramVariables(u)}if(i.length===3)this.collectProgramVariables(i[2]);else if(i.length===2&&(!Array.isArray(i[1])||i[1][0]==="block"))this.collectProgramVariables(i[1]);return}i.forEach((n)=>this.collectProgramVariables(n))}collectFunctionVariables(f){let _=new Set,i=(n)=>{if(!Array.isArray(n))return;let[u,...l]=n;if(u=v(u),Array.isArray(u)){n.forEach((c)=>i(c));return}if(D1.ASSIGNMENT_OPS.has(u)){let[c,h]=l;if(typeof c==="string"||c instanceof String)_.add(v(c));else if(this.is(c,"array"))this.collectVarsFromArray(c,_);else if(this.is(c,"object"))this.collectVarsFromObject(c,_);i(h);return}if(u==="for-in"||u==="for-of"||u==="for-as"){l.slice(1).forEach(i);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(i(l[0]),l.length>=2&&Array.isArray(l[1])&&l[1].length===2&&l[1][0]!=="block"){let[c,h]=l[1];if(c&&this.is(c,"object"))c.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")_.add(A[1])});else if(c&&this.is(c,"array"))c.slice(1).forEach((A)=>{if(typeof A==="string")_.add(A)});i(h)}if(l.length===3)i(l[2]);else if(l.length===2&&(!Array.isArray(l[1])||l[1][0]==="block"))i(l[1]);return}l.forEach((c)=>i(c))};return i(f),_}collectTypedLocals(f){let _=new Map,i=(n)=>{if(!Array.isArray(n))return;let[u,...l]=n;if(u=v(u),Array.isArray(u)){n.forEach(i);return}if(D1.ASSIGNMENT_OPS.has(u)){let[c,h]=l;if(c instanceof String&&c.type&&!_.has(v(c)))_.set(v(c),c.type);i(h);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;l.forEach(i)};return i(f),_}emit(f,_="statement"){if(f instanceof String){if(w1(f,"bang")===!0)return`await ${v(f)}()`;if(w1(f,"optional"))return`(${v(f)} != null)`;if(w1(f,"delimiter")==="///"&&w1(f,"heregex")){let h=v(f),A=h.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,w,D]=A;return`/${this.processHeregex(w)}/${D}`}return h}let c=w1(f,"quote");if(c){let h=v(f);if(c==='"""'||c==="'''"){let w=this.extractStringContent(f);return w=w.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${w}\``}if(h[0]===c)return h;let A=h.slice(1,-1);return`${c}${A}${c}`}f=v(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let c=f.slice(1,-1);if(c.includes(`
|
|
1504
|
+
`))return`\`${c.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let h=c.includes("'")&&!c.includes('"')?'"':"'",A=c.replace(new RegExp(h,"g"),`\\${h}`);return`${h}${A}${h}`}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[i,...n]=f,u=w1(i,"bang");i=v(i);let l=D1.GENERATORS[i];if(l)return this[l](i,n,_,f);if(typeof i==="string"&&!i.startsWith('"')&&!i.startsWith("'")){if(D1.NUMBER_START_RE.test(i))return i;if(i==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(n)})`;let c=this._tryPostfixCall(i,n,_);if(c)return c;let h=u===!0,A=`${this.emit(i,"value")}(${this._emitArgs(n)})`;return h?`await ${A}`:A}if(Array.isArray(i)&&typeof i[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(i[0]))return`(${f.map((h)=>this.emit(h,"value")).join(", ")})`}if(Array.isArray(i)){if(i[0]==="."&&(i[2]==="new"||v(i[2])==="new")){let D=i[1],$=this.emit(D,"value");return`new ${Array.isArray(D)?`(${$})`:$}(${this._emitArgs(n)})`}let c=this._tryPostfixCall(i,n,_);if(c)return c;let h=!1,A;if(i[0]==="."&&w1(i[2],"bang")===!0){h=!0;let[D,$]=i.slice(1),U=this.emit(D,"value");A=`${D1.NUMBER_LITERAL_RE.test(U)||(this.is(D,"object")||this.is(D,"await")||this.is(D,"yield"))||/^(await|yield)\s/.test(U)?`(${U})`:U}.${v($)}`}else A=this.emit(i,"value");let w=`${A}(${this._emitArgs(n)})`;return h?`await ${w}`:w}this.error(`Unknown s-expression type: ${i}`,f)}emitProgram(f,_,i,n){let u="",l=[],c=[];for(let R of _){if(!Array.isArray(R)){c.push(R);continue}if(R[0]==="import")l.push(R);else c.push(R)}let h=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],A=c.map((R,z)=>{let M=c.length===1&&l.length===0,F=this.is(R,"object"),H=F&&R.length===2&&Array.isArray(R[1])&&Array.isArray(R[1][2])&&R[1][2][0]==="comprehension",K=this.is(R,"comprehension")||this.is(R,"object-comprehension")||this.is(R,"do-iife"),W=this.programVars.size===0,O=M&&F&&W&&!K&&!H,Y=z===c.length-1&&K,J;if(O)J=`(${this.emit(R,"value")})`;else if(Y)J=this.emit(R,"value");else J=this.emit(R,"statement");if(J&&!J.endsWith(";")){let q=Array.isArray(R)?R[0]:null;if(!h.includes(q)||!J.endsWith("}"))J+=";"}let Z=Array.isArray(R)?R.loc:null;return{code:J,loc:Z,sexpr:Array.isArray(R)?R:null}}),w=A.map((R)=>R.code).join(`
|
|
1505
|
+
`),D=!1;if(l.length>0){let R=l.map((z)=>{return{code:this.addSemicolon(z,this.emit(z,"statement")),loc:Array.isArray(z)?z.loc:null,sexpr:Array.isArray(z)?z:null}});this._importEntries=R,u+=R.map((z)=>z.code).join(`
|
|
1506
|
+
`),D=!0}if(this.programVars.size>0){let R=this.programVars.has("_");if(R)this.programVars.delete("_");if(this.programVars.size>0){let z=Array.from(this.programVars).sort().join(", ");if(z){if(D)u+=`
|
|
1503
1507
|
`;u+=`let ${z};
|
|
1504
|
-
`,
|
|
1508
|
+
`,D=!0}}if(R){if(D)u+=`
|
|
1505
1509
|
`;u+=`var _;
|
|
1506
|
-
`,
|
|
1507
|
-
`;u+=
|
|
1508
|
-
`,
|
|
1509
|
-
`,
|
|
1510
|
+
`,D=!0}}let $=this.options.skipPreamble,U=this.options.skipRuntimes;if(!$){if(D)u+=`
|
|
1511
|
+
`;u+=L1(),D=!0;let R=U?"var":"const";if(this.helpers.has("slice"))u+=`${R} slice = [].slice;
|
|
1512
|
+
`,D=!0;if(this.helpers.has("modulo"))u+=`${R} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
1513
|
+
`,D=!0;if(this.helpers.has("toMatchable"))u+=`${R} toMatchable = (v, allowNewlines) => {
|
|
1510
1514
|
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
1511
1515
|
`,u+=` if (v == null) return "";
|
|
1512
1516
|
`,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
@@ -1520,174 +1524,175 @@ globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
|
1520
1524
|
`,u+=` }
|
|
1521
1525
|
`,u+=` return "";
|
|
1522
1526
|
`,u+=`};
|
|
1523
|
-
`,
|
|
1527
|
+
`,D=!0}if(this.usesReactivity&&!$){if(U)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
1524
1528
|
`;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
1525
|
-
`;else u+=this.getReactiveRuntime();
|
|
1529
|
+
`;else u+=this.getReactiveRuntime();D=!0}if(this.usesTemplates&&!$){if(U)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
1526
1530
|
`;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
1527
|
-
`;else u+=this.getComponentRuntime();
|
|
1531
|
+
`;else u+=this.getComponentRuntime();D=!0}if(this.usesSchemas&&!$){if(U)u+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
|
|
1528
1532
|
`;else if(typeof globalThis<"u"&&globalThis.__ripSchema)u+=`const { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
|
|
1529
|
-
`;else u+=this.getSchemaRuntime();
|
|
1533
|
+
`;else u+=this.getSchemaRuntime();D=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!$)u+=`var DATA;
|
|
1530
1534
|
_setDataSection();
|
|
1531
|
-
`,
|
|
1532
|
-
`;if(this._stmtEntries=
|
|
1533
|
-
`).length-1,u+=
|
|
1535
|
+
`,D=!0;if(D&&u.length>0)u+=`
|
|
1536
|
+
`;if(this._stmtEntries=A,this._preambleLines=u.length===0?0:u.split(`
|
|
1537
|
+
`).length-1,u+=w,this.dataSection!==null&&this.dataSection!==void 0)u+=`
|
|
1534
1538
|
|
|
1535
1539
|
function _setDataSection() {
|
|
1536
1540
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
1537
|
-
}`;return u}emitBinaryOp(f,_,c,n){if((f==="+"||f==="-")&&_.length===1)return`(${f}${this.emit(_[0],"value")})`;let[u,l]=_;if(f==="*"){let w=u?.valueOf?.()??u;if(typeof w==="string"&&/^["']/.test(w))return`${this.emit(u,"value")}.repeat(${this.emit(l,"value")})`}let i=new Set(["<",">","<=",">="]);if(i.has(f)&&Array.isArray(u)){let w=u[0]?.valueOf?.()??u[0];if(i.has(w)){let D=this.emit(u[1],"value"),h=this.emit(u[2],"value"),A=this.emit(l,"value");return`((${D} ${w} ${h}) && (${h} ${f} ${A}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit(l,"value")})`}emitModulo(f,_){let[c,n]=_;return this.helpers.add("modulo"),`modulo(${this.emit(c,"value")}, ${this.emit(n,"value")})`}emitModuloAssign(f,_){let[c,n]=_;this.helpers.add("modulo");let u=this.emit(c,"value"),l=this.emit(n,"value");return`${u} = modulo(${u}, ${l})`}emitFloorDiv(f,_){let[c,n]=_;return`Math.floor(${this.emit(c,"value")} / ${this.emit(n,"value")})`}emitFloorDivAssign(f,_){let[c,n]=_,u=this.emit(c,"value"),l=this.emit(n,"value");return`${u} = Math.floor(${u} / ${l})`}emitAssignment(f,_,c,n){let[u,l]=_,i=f==="?="?"??=":f;if(this.is(u,"array")||this.is(u,"object"))this._validateBindingPattern(u,n);let w=this._findOptionalInTarget(u);if(w){let O=this.emit(w.guard,"value"),W=this.emit(w.rewritten,"value"),K=this.emit(l,"value");if(c==="value")return`(${O} != null ? (${W} ${i} ${K}) : undefined)`;return`if (${O} != null) ${W} ${i} ${K}`}let D=this.is(l,"->")||this.is(l,"=>")||this.is(l,"def");if(u instanceof String&&i1(u,"await")!==void 0&&!D){let O=i1(u,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${t(u)}'`,n)}if(u instanceof String&&i1(u,"await")===!0&&D)this.nextFunctionIsVoid=!0;let h=this.is(u,"array",0),A=this.is(u,"object",0);if(h||A){let O=this.emit(l,"value");return A&&c==="statement"?`(${O})`:O}if(Array.isArray(l)&&i==="="&&l[0]==="control"){let[,O,W,K]=l,Y=t(O),q=K[0]==="return",y=this.emit(u,"value"),Z=this.emit(W,"value"),J=K.length>1?K[1]:null,X=q?J?`return ${this.emit(J,"value")}`:"return":J?`throw ${this.emit(J,"value")}`:"throw new Error()";if(c==="value"){if(Y==="??")return`(() => { const __v = ${Z}; if (__v == null) ${X}; return (${y} = __v); })()`;if(Y==="||")return`(() => { const __v = ${Z}; if (!__v) ${X}; return (${y} = __v); })()`;return`(() => { const __v = ${Z}; if (__v) ${X}; return (${y} = __v); })()`}if(Y==="??")return`if ((${y} = ${Z}) == null) ${X}`;if(Y==="||")return`if (!(${y} = ${Z})) ${X}`;return`if ((${y} = ${Z})) ${X}`}if(this.is(u,"array")){let O=u.slice(1).findIndex((W)=>this.is(W,"...")||W==="...");if(O!==-1&&O<u.length-2){let W=u.slice(1),K=W.slice(O+1),Y=K.length;if(Y>0){let q=this.emit(l,"value"),Z=W.slice(0,O).map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", "),J=K.map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", ");this.helpers.add("slice"),W.forEach((I)=>{if(I===","||I==="...")return;if(typeof I==="string")this.programVars.add(I);else if(this.is(I,"...")&&typeof I[1]==="string")this.programVars.add(I[1])});let X=W[O],N=this.is(X,"...")?X[1]:null,S=[];if(Z)S.push(`[${Z}] = ${q}`);if(N)S.push(`[...${N}] = ${q}.slice(${O}, -${Y})`);return S.push(`[${J}] = slice.call(${q}, -${Y})`),S.join(", ")}}}if(c==="statement"&&f==="="&&Array.isArray(l)&&(l[0]==="||"||l[0]==="&&")&&l.length===3){let[O,W,K]=l;if(this.is(K,"if")&&K.length===3){let[,Y,q]=K,y=Array.isArray(q)&&q.length===1?q[0]:q,Z=[O,W,y],J=this.emit(u,"value"),X=this.emit(Y,"value"),N=this.emit(Z,"value");return`if (${X}) ${J} = ${N}`}}if(c==="statement"&&f==="="&&Array.isArray(l)&&l.length===3){let[O,W,K]=l,Y=Array.isArray(K)&&K.length===1&&(!Array.isArray(K[0])||K[0][0]!=="block");if(O==="if"&&Y){let q=Array.isArray(K)&&K.length===1?K[0]:K,y=this.emit(u,"value"),Z=this.unwrapLogical(this.emit(W,"value")),J=this.emit(q,"value");return`if (${Z}) ${y} = ${J}`}}let R;if(u instanceof String&&i1(u,"await")!==void 0)R=t(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))R=`${u}.value`;else R=this.emit(u,"value");let U=this._componentName,$=this._componentTypeParams,z=this._schemaName;if(this.is(l,"component")&&(typeof u==="string"||u instanceof String))this._componentName=t(u),this._componentTypeParams=u.typeParams||"";if(this.is(l,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=t(u);let M=this.emit(l,"value");if(this._componentName=U,this._componentTypeParams=$,this._schemaName=z,!(this.is(l,"object")||this.is(l,".{}")||this.is(l,"?.{}")))M=this.unwrap(M);let H=c==="value",Q=c==="statement"&&this.is(u,"object");if(H||Q)return`(${R} ${i} ${M})`;return`${R} ${i} ${M}`}emitPropertyAccess(f,_,c,n){let[u,l]=_;if(this._atParamMap&&u==="this"){let h=this._atParamMap.get(t(l));if(h)return h}let i=this.emit(u,"value"),D=D1.NUMBER_LITERAL_RE.test(i)||i.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${i})`:i;if(i1(l,"await")===!0)return`await ${D}.${t(l)}()`;if(i1(l,"predicate"))return`(${D}.${t(l)} != null)`;return`${D}.${t(l)}`}emitOptionalProperty(f,_){let[c,n]=_;return`${this.emit(c,"value")}?.${n}`}emitPick(f,_,c,n){let[u,...l]=_,i=this.emit(u,"value"),w=this._isSimplePickSource(u),D=w?i:"_",h=l.map(([A,R,U])=>{let $=`${D}.${t(A)}`;if(U!==null&&U!==void 0)$=`(${$} ?? ${this.emit(U,"value")})`;return`${t(R)}: ${$}`}).join(", ");if(w)return`({${h}})`;return`((_) => ({${h}}))(${i})`}emitOptPick(f,_,c,n){let[u,...l]=_,i=this.emit(u,"value"),w=this._isSimplePickSource(u),D=w?i:"_",h=l.map(([A,R,U])=>{let $=`${D}.${t(A)}`;if(U!==null&&U!==void 0)$=`(${$} ?? ${this.emit(U,"value")})`;return`${t(R)}: ${$}`}).join(", ");if(w)return`(${i} == null ? undefined : {${h}})`;return`((_) => _ == null ? undefined : ({${h}}))(${i})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,_){let[c,n,u]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let l=this.emit(c,"value"),i=this.emit(n,"value"),w=u!==null?this.emit(u,"value"):"0",D=i.includes("/m")?", true":"";return`(_ = toMatchable(${l}${D}).match(${i})) && _[${w}]`}emitIndexAccess(f,_){let[c,n]=_;if(this.is(n,"..")||this.is(n,"...")){let u=n[0]==="..",l=this.emit(c,"value"),[i,w]=n.slice(1),D=(U)=>{if(U===null)return null;let $=t(U)??U;if(typeof $==="number")return $;if(typeof $==="string"&&/^\d+$/.test($))return+$;if(Array.isArray(U)&&U[0]==="-"&&U.length===2){let z=t(U[1])??U[1];if(typeof z==="number")return-z;if(typeof z==="string"&&/^\d+$/.test(z))return-z}return null},h=(U,$,z)=>{let M=D(z);if(M!==null&&M!==-1)return`${l}.slice(${U}, ${M+1})`;return`${l}.slice(${U}, +${$} + 1 || 9e9)`};if(i===null&&w===null)return`${l}.slice()`;if(i===null){if(u&&this.is(w,"-",1)&&(t(w[1])??w[1])==1)return`${l}.slice(0)`;let U=this.emit(w,"value");return u?h("0",U,w):`${l}.slice(0, ${U})`}if(w===null)return`${l}.slice(${this.emit(i,"value")})`;let A=this.emit(i,"value");if(u&&this.is(w,"-",1)&&(t(w[1])??w[1])==1)return`${l}.slice(${A})`;let R=this.emit(w,"value");return u?h(A,R,w):`${l}.slice(${A}, ${R})`}if(this.is(n,"-",1)){let u=t(n[1])??n[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(c,"value")}.at(-${u})`}return`${this.emit(c,"value")}[${this.unwrap(this.emit(n,"value"))}]`}emitOptIndex(f,_){let[c,n]=_;if(this.is(n,"-",1)){let u=t(n[1])??n[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(c,"value")}?.at(-${u})`}return`${this.emit(c,"value")}?.[${this.emit(n,"value")}]`}emitOptCall(f,_){let[c,...n]=_;return`${this.emit(c,"value")}?.(${n.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,_,c,n){let[u,l,i]=_,w=i1(u,"await")===!0,D=t(u),h=this.emitParamList(l),A=this.emitFunctionBody(i,l,w),R=this.containsAwait(i),U=this.containsYield(i);return`${R?"async ":""}function${U?"*":""} ${D}(${h}) ${A}`}emitThinArrow(f,_,c,n){let[u,l]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(l))u=["it"];let i=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let w=this.emitParamList(u),D=this.emitFunctionBody(l,u,i),h=this.containsAwait(l),A=this.containsYield(l),R=`${h?"async ":""}function${A?"*":""}(${w}) ${D}`;return c==="value"?`(${R})`:R}emitFatArrow(f,_,c,n){let[u,l]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(l))u=["it"];let i=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let w=this.emitParamList(u),h=u.length===1&&typeof u[0]==="string"&&!w.includes("=")&&!w.includes("...")&&!w.includes("[")&&!w.includes("{")?w:`(${w})`,R=this.containsAwait(l)?"async ":"";if(!i){if(this.is(l,"block")&&l.length===2){let $=l[1],z=Array.isArray($)?$[0]:null;if(z!=="return"&&!h0.has(z)){let M=this.emit($,"value");if(M[0]==="{")M=`(${M})`;return`${R}${h} => ${M}`}}if(!Array.isArray(l)||l[0]!=="block"){let $=this.emit(l,"value");if($[0]==="{")$=`(${$})`;return`${R}${h} => ${$}`}}let U=this.emitFunctionBody(l,u,i);return`${R}${h} => ${U}`}emitReturn(f,_,c,n){if(_.length===0)return"return";let[u]=_;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",n);if(this.is(u,"if")){let[,l,i,...w]=u;if(w.length===0){let D=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(l,"value")}) return ${this.emit(D,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,l,i]=u[1],w=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(l,"value")}) return ${this.emit(["new",w],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,_){let[c,n]=_;this.usesReactivity=!0;let u=t(c)??c;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(n,"value")})`}emitComputed(f,_){let[c,n]=_;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=t(c)??c;if(this.reactiveVars.add(u),this.is(n,"block")&&n.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(n)})`;return`const ${u} = __computed(() => ${this.emit(n,"value")})`}emitReadonly(f,_){let[c,n]=_;return`const ${t(c)??c} = ${this.emit(n,"value")}`}emitEffect(f,_){let[c,n]=_;this.usesReactivity=!0;let u;if(this.is(n,"block"))u=this.emitFunctionBody(n);else if(this.is(n,"->")||this.is(n,"=>")){let i=this.emit(n,"value");if(c)return`const ${t(c)??this.emit(c,"value")} = __effect(${i})`;return`__effect(${i})`}else u=`{ ${this.emit(n,"value")}; }`;let l=`__effect(() => ${u})`;if(c)return`const ${t(c)??this.emit(c,"value")} = ${l}`;return l}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,_){return`(${this.emit(_[0],"value")} != null)`}emitPresence(f,_){return`(${this.emit(_[0],"value")} ? true : undefined)`}emitTernary(f,_,c){let[n,u,l]=_;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)&&!u.parenthesized){let w=this.emit(u[1],"value"),D=this.emit(u[2],"value"),h=this.emit(l,"value");return`${w} = (${this.unwrap(this.emit(n,"value"))} ? ${D} : ${h})`}return`(${this.unwrap(this.emit(n,"value"))} ? ${this.emit(u,"value")} : ${this.emit(l,"value")})`}emitPipe(f,_){let[c,n]=_,u=this.emit(c,"value");if(Array.isArray(n)&&n.length>1){let l=n[0];if(Array.isArray(l)||typeof l==="string"&&/^[a-zA-Z_$]/.test(l)){let w=this.emit(l,"value"),D=n.slice(1).map((h)=>this.emit(h,"value"));return`${w}(${u}, ${D.join(", ")})`}}return`${this.emit(n,"value")}(${u})`}emitLoop(f,_){return`while (true) ${this.emitLoopBody(_[0])}`}emitLoopN(f,_){let[c,n]=_;return`for (let it = 0; it < ${this.emit(c,"value")}; it++) ${this.emitLoopBody(n)}`}emitAwait(f,_){return`await ${this.emit(_[0],"value")}`}emitYield(f,_){return _.length===0?"yield":`yield ${this.emit(_[0],"value")}`}emitYieldFrom(f,_){return`yield* ${this.emit(_[0],"value")}`}emitIf(f,_,c,n){let[u,l,...i]=_;return c==="value"?this.emitIfAsExpression(u,l,i):this.emitIfAsStatement(u,l,i)}emitForIn(f,_,c,n){let[u,l,i,w,D]=_;if(c==="value"&&this.comprehensionDepth===0){let F=["for-in",u,l,i];return this.emit(["comprehension",D,[F],w?[w]:[]],c)}let h=Array.isArray(u)?u:[u],A=h.length===0,[R,U]=A?["_i",null]:h,$=this.is(R,"array")||this.is(R,"object")?this.emitDestructuringPattern(R):R;if(i&&i!==null){let F=this.emit(l,"value"),H=U||"_i",Q=this.emit(i,"value"),O=this.is(i,"-",1),W=O&&(i[1]==="1"||i[1]===1||t(i[1])==="1"),K=!O&&(i==="1"||i===1||t(i)==="1"),Y;if(W)Y=`for (let ${H} = ${F}.length - 1; ${H} >= 0; ${H}--) `;else if(K)Y=`for (let ${H} = 0; ${H} < ${F}.length; ${H}++) `;else if(O)Y=`for (let ${H} = ${F}.length - 1; ${H} >= 0; ${H} += ${Q}) `;else Y=`for (let ${H} = 0; ${H} < ${F}.length; ${H} += ${Q}) `;if(this.is(D,"block")){let q=D.slice(1);this.indentLevel++;let y=[];if(!A)y.push(`let ${$} = ${F}[${H}];`);if(w)y.push(`if (${this.emit(w,"value")}) {`),this.indentLevel++,y.push(...this.formatStatements(q)),this.indentLevel--,y.push(this.indent()+"}");else y.push(...q.map((Z)=>this.addSemicolon(Z,this.emit(Z,"statement"))));return this.indentLevel--,Y+`{
|
|
1538
|
-
${
|
|
1541
|
+
}`;return u}emitBinaryOp(f,_,i,n){if((f==="+"||f==="-")&&_.length===1)return`(${f}${this.emit(_[0],"value")})`;let[u,l]=_;if(f==="*"){let h=u?.valueOf?.()??u;if(typeof h==="string"&&/^["']/.test(h))return`${this.emit(u,"value")}.repeat(${this.emit(l,"value")})`}let c=new Set(["<",">","<=",">="]);if(c.has(f)&&Array.isArray(u)){let h=u[0]?.valueOf?.()??u[0];if(c.has(h)){let A=this.emit(u[1],"value"),w=this.emit(u[2],"value"),D=this.emit(l,"value");return`((${A} ${h} ${w}) && (${w} ${f} ${D}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit(l,"value")})`}emitModulo(f,_){let[i,n]=_;return this.helpers.add("modulo"),`modulo(${this.emit(i,"value")}, ${this.emit(n,"value")})`}emitModuloAssign(f,_){let[i,n]=_;this.helpers.add("modulo");let u=this.emit(i,"value"),l=this.emit(n,"value");return`${u} = modulo(${u}, ${l})`}emitFloorDiv(f,_){let[i,n]=_;return`Math.floor(${this.emit(i,"value")} / ${this.emit(n,"value")})`}emitFloorDivAssign(f,_){let[i,n]=_,u=this.emit(i,"value"),l=this.emit(n,"value");return`${u} = Math.floor(${u} / ${l})`}emitAssignment(f,_,i,n){let[u,l]=_,c=f==="?="?"??=":f;if(this.is(u,"array")||this.is(u,"object"))this._validateBindingPattern(u,n);let h=this._findOptionalInTarget(u);if(h){let K=this.emit(h.guard,"value"),W=this.emit(h.rewritten,"value"),O=this.emit(l,"value");if(i==="value")return`(${K} != null ? (${W} ${c} ${O}) : undefined)`;return`if (${K} != null) ${W} ${c} ${O}`}this.applyVoidMarker(u,l,n);let A=this.is(u,"array",0),w=this.is(u,"object",0);if(A||w){let K=this.emit(l,"value");return w&&i==="statement"?`(${K})`:K}if(Array.isArray(l)&&c==="="&&l[0]==="control"){let[,K,W,O]=l,Q=v(K),Y=O[0]==="return",J=this.emit(u,"value"),Z=this.emit(W,"value"),q=O.length>1?O[1]:null,G=Y?q?`return ${this.emit(q,"value")}`:"return":q?`throw ${this.emit(q,"value")}`:"throw new Error()";if(i==="value"){if(Q==="??")return`(() => { const __v = ${Z}; if (__v == null) ${G}; return (${J} = __v); })()`;if(Q==="||")return`(() => { const __v = ${Z}; if (!__v) ${G}; return (${J} = __v); })()`;return`(() => { const __v = ${Z}; if (__v) ${G}; return (${J} = __v); })()`}if(Q==="??")return`if ((${J} = ${Z}) == null) ${G}`;if(Q==="||")return`if (!(${J} = ${Z})) ${G}`;return`if ((${J} = ${Z})) ${G}`}if(this.is(u,"array")){let K=u.slice(1).findIndex((W)=>this.is(W,"...")||W==="...");if(K!==-1&&K<u.length-2){let W=u.slice(1),O=W.slice(K+1),Q=O.length;if(Q>0){let Y=this.emit(l,"value"),Z=W.slice(0,K).map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", "),q=O.map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", ");this.helpers.add("slice"),W.forEach((I)=>{if(I===","||I==="...")return;if(typeof I==="string")this.programVars.add(I);else if(this.is(I,"...")&&typeof I[1]==="string")this.programVars.add(I[1])});let G=W[K],P=this.is(G,"...")?G[1]:null,L=[];if(Z)L.push(`[${Z}] = ${Y}`);if(P)L.push(`[...${P}] = ${Y}.slice(${K}, -${Q})`);return L.push(`[${q}] = slice.call(${Y}, -${Q})`),L.join(", ")}}}if(i==="statement"&&f==="="&&Array.isArray(l)&&(l[0]==="||"||l[0]==="&&")&&l.length===3){let[K,W,O]=l;if(this.is(O,"if")&&O.length===3){let[,Q,Y]=O,J=Array.isArray(Y)&&Y.length===1?Y[0]:Y,Z=[K,W,J],q=this.emit(u,"value"),G=this.emit(Q,"value"),P=this.emit(Z,"value");return`if (${G}) ${q} = ${P}`}}if(i==="statement"&&f==="="&&Array.isArray(l)&&l.length===3){let[K,W,O]=l,Q=Array.isArray(O)&&O.length===1&&(!Array.isArray(O[0])||O[0][0]!=="block");if(K==="if"&&Q){let Y=Array.isArray(O)&&O.length===1?O[0]:O,J=this.emit(u,"value"),Z=this.unwrapLogical(this.emit(W,"value")),q=this.emit(Y,"value");return`if (${Z}) ${J} = ${q}`}}let D;if(u instanceof String&&w1(u,"bang")!==void 0)D=v(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))D=`${u}.value`;else D=this.emit(u,"value");let $=this._componentName,U=this._componentTypeParams,R=this._schemaName;if(this.is(l,"component")&&(typeof u==="string"||u instanceof String))this._componentName=v(u),this._componentTypeParams=u.typeParams||"";if(this.is(l,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=v(u);let z=this.emit(l,"value");if(this._componentName=$,this._componentTypeParams=U,this._schemaName=R,!(this.is(l,"object")||this.is(l,".{}")||this.is(l,"?.{}")))z=this.unwrap(z);let F=i==="value",H=i==="statement"&&this.is(u,"object");if(F||H)return`(${D} ${c} ${z})`;return`${D} ${c} ${z}`}emitPropertyAccess(f,_,i,n){let[u,l]=_;if(this._atParamMap&&u==="this"){let w=this._atParamMap.get(v(l));if(w)return w}let c=this.emit(u,"value"),A=D1.NUMBER_LITERAL_RE.test(c)||c.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${c})`:c;if(w1(l,"bang")===!0)return`await ${A}.${v(l)}()`;if(w1(l,"optional"))return`(${A}.${v(l)} != null)`;return`${A}.${v(l)}`}emitOptionalProperty(f,_){let[i,n]=_;return`${this.emit(i,"value")}?.${n}`}emitPick(f,_,i,n){let[u,...l]=_,c=this.emit(u,"value"),h=this._isSimplePickSource(u),A=h?c:"_",w=l.map(([D,$,U])=>{let R=`${A}.${v(D)}`;if(U!==null&&U!==void 0)R=`(${R} ?? ${this.emit(U,"value")})`;return`${v($)}: ${R}`}).join(", ");if(h)return`({${w}})`;return`((_) => ({${w}}))(${c})`}emitOptPick(f,_,i,n){let[u,...l]=_,c=this.emit(u,"value"),h=this._isSimplePickSource(u),A=h?c:"_",w=l.map(([D,$,U])=>{let R=`${A}.${v(D)}`;if(U!==null&&U!==void 0)R=`(${R} ?? ${this.emit(U,"value")})`;return`${v($)}: ${R}`}).join(", ");if(h)return`(${c} == null ? undefined : {${w}})`;return`((_) => _ == null ? undefined : ({${w}}))(${c})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,_){let[i,n,u]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let l=this.emit(i,"value"),c=this.emit(n,"value"),h=u!==null?this.emit(u,"value"):"0",A=c.includes("/m")?", true":"";return`(_ = toMatchable(${l}${A}).match(${c})) && _[${h}]`}emitIndexAccess(f,_){let[i,n]=_;if(this.is(n,"..")||this.is(n,"...")){let u=n[0]==="..",l=this.emit(i,"value"),[c,h]=n.slice(1),A=(U)=>{if(U===null)return null;let R=v(U)??U;if(typeof R==="number")return R;if(typeof R==="string"&&/^\d+$/.test(R))return+R;if(Array.isArray(U)&&U[0]==="-"&&U.length===2){let z=v(U[1])??U[1];if(typeof z==="number")return-z;if(typeof z==="string"&&/^\d+$/.test(z))return-z}return null},w=(U,R,z)=>{let M=A(z);if(M!==null&&M!==-1)return`${l}.slice(${U}, ${M+1})`;return`${l}.slice(${U}, +${R} + 1 || 9e9)`};if(c===null&&h===null)return`${l}.slice()`;if(c===null){if(u&&this.is(h,"-",1)&&(v(h[1])??h[1])==1)return`${l}.slice(0)`;let U=this.emit(h,"value");return u?w("0",U,h):`${l}.slice(0, ${U})`}if(h===null)return`${l}.slice(${this.emit(c,"value")})`;let D=this.emit(c,"value");if(u&&this.is(h,"-",1)&&(v(h[1])??h[1])==1)return`${l}.slice(${D})`;let $=this.emit(h,"value");return u?w(D,$,h):`${l}.slice(${D}, ${$})`}if(this.is(n,"-",1)){let u=v(n[1])??n[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(i,"value")}.at(-${u})`}return`${this.emit(i,"value")}[${this.unwrap(this.emit(n,"value"))}]`}emitOptIndex(f,_){let[i,n]=_;if(this.is(n,"-",1)){let u=v(n[1])??n[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(i,"value")}?.at(-${u})`}return`${this.emit(i,"value")}?.[${this.emit(n,"value")}]`}emitOptCall(f,_){let[i,...n]=_;return`${this.emit(i,"value")}?.(${n.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,_,i,n){let[u,l,c]=_,h=w1(u,"bang")===!0,A=v(u),w=this.emitParamList(l),D=this.emitFunctionBody(c,l,h),$=this.containsAwait(c),U=this.containsYield(c);return`${$?"async ":""}function${U?"*":""} ${A}(${w}) ${D}`}emitThinArrow(f,_,i,n){let[u,l]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(l))u=["it"];let c=n.isVoid||!1,h=this.emitParamList(u),A=this.emitFunctionBody(l,u,c),w=this.containsAwait(l),D=this.containsYield(l),$=`${w?"async ":""}function${D?"*":""}(${h}) ${A}`;return i==="value"?`(${$})`:$}emitFatArrow(f,_,i,n){let[u,l]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(l))u=["it"];let c=n.isVoid||!1,h=this.emitParamList(u),w=u.length===1&&typeof u[0]==="string"&&!h.includes("=")&&!h.includes("...")&&!h.includes("[")&&!h.includes("{")?h:`(${h})`,$=this.containsAwait(l)?"async ":"";if(!c){if(this.is(l,"block")&&l.length===2){let R=l[1],z=Array.isArray(R)?R[0]:null;if(z!=="return"&&!A0.has(z)){let M=this.emit(R,"value");if(M[0]==="{")M=`(${M})`;return`${$}${w} => ${M}`}}if(!Array.isArray(l)||l[0]!=="block"){let R=this.emit(l,"value");if(R[0]==="{")R=`(${R})`;return`${$}${w} => ${R}`}}let U=this.emitFunctionBody(l,u,c);return`${$}${w} => ${U}`}emitReturn(f,_,i,n){if(_.length===0)return"return";let[u]=_;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",n);if(this.is(u,"if")){let[,l,c,...h]=u;if(h.length===0){let A=Array.isArray(c)&&c.length===1?c[0]:c;return`if (${this.emit(l,"value")}) return ${this.emit(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,l,c]=u[1],h=Array.isArray(c)&&c.length===1?c[0]:c;return`if (${this.emit(l,"value")}) return ${this.emit(["new",h],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,_){let[i,n]=_;this.usesReactivity=!0;let u=v(i)??i;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(n,"value")})`}emitComputed(f,_){let[i,n]=_;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=v(i)??i;if(this.reactiveVars.add(u),this.is(n,"block")&&n.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(n)})`;return`const ${u} = __computed(() => ${this.emit(n,"value")})`}emitReadonly(f,_){let[i,n]=_;return`const ${v(i)??i} = ${this.emit(n,"value")}`}emitEffect(f,_){let[i,n]=_;this.usesReactivity=!0;let u;if(this.is(n,"block"))u=this.emitFunctionBody(n);else if(this.is(n,"->")||this.is(n,"=>")){let c=this.emit(n,"value");if(i)return`const ${v(i)??this.emit(i,"value")} = __effect(${c})`;return`__effect(${c})`}else u=`{ ${this.emit(n,"value")}; }`;let l=`__effect(() => ${u})`;if(i)return`const ${v(i)??this.emit(i,"value")} = ${l}`;return l}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,_){return`(${this.emit(_[0],"value")} != null)`}emitPresence(f,_){return`(${this.emit(_[0],"value")} ? true : undefined)`}emitTernary(f,_,i){let[n,u,l]=_;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)&&!u.parenthesized){let h=this.emit(u[1],"value"),A=this.emit(u[2],"value"),w=this.emit(l,"value");return`${h} = (${this.unwrap(this.emit(n,"value"))} ? ${A} : ${w})`}return`(${this.unwrap(this.emit(n,"value"))} ? ${this.emit(u,"value")} : ${this.emit(l,"value")})`}emitPipe(f,_){let[i,n]=_,u=this.emit(i,"value");if(Array.isArray(n)&&n.length>1){let l=n[0];if(Array.isArray(l)||typeof l==="string"&&/^[a-zA-Z_$]/.test(l)){let h=this.emit(l,"value"),A=n.slice(1).map((w)=>this.emit(w,"value"));return`${h}(${u}, ${A.join(", ")})`}}return`${this.emit(n,"value")}(${u})`}emitLoop(f,_){return`while (true) ${this.emitLoopBody(_[0])}`}emitLoopN(f,_){let[i,n]=_;return`for (let it = 0; it < ${this.emit(i,"value")}; it++) ${this.emitLoopBody(n)}`}emitAwait(f,_){return`await ${this.emit(_[0],"value")}`}emitYield(f,_){return _.length===0?"yield":`yield ${this.emit(_[0],"value")}`}emitYieldFrom(f,_){return`yield* ${this.emit(_[0],"value")}`}emitIf(f,_,i,n){let[u,l,...c]=_;return i==="value"?this.emitIfAsExpression(u,l,c):this.emitIfAsStatement(u,l,c)}emitForIn(f,_,i,n){let[u,l,c,h,A]=_;if(i==="value"&&this.comprehensionDepth===0){let F=["for-in",u,l,c];return this.emit(["comprehension",A,[F],h?[h]:[]],i)}let w=Array.isArray(u)?u:[u],D=w.length===0,[$,U]=D?["_i",null]:w,R=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(c&&c!==null){let F=this.emit(l,"value"),H=U||"_i",K=this.emit(c,"value"),W=this.is(c,"-",1),O=W&&(c[1]==="1"||c[1]===1||v(c[1])==="1"),Q=!W&&(c==="1"||c===1||v(c)==="1"),Y;if(O)Y=`for (let ${H} = ${F}.length - 1; ${H} >= 0; ${H}--) `;else if(Q)Y=`for (let ${H} = 0; ${H} < ${F}.length; ${H}++) `;else if(W)Y=`for (let ${H} = ${F}.length - 1; ${H} >= 0; ${H} += ${K}) `;else Y=`for (let ${H} = 0; ${H} < ${F}.length; ${H} += ${K}) `;if(this.is(A,"block")){let J=A.slice(1);this.indentLevel++;let Z=[];if(!D)Z.push(`let ${R} = ${F}[${H}];`);if(h)Z.push(`if (${this.emit(h,"value")}) {`),this.indentLevel++,Z.push(...this.formatStatements(J)),this.indentLevel--,Z.push(this.indent()+"}");else Z.push(...J.map((q)=>this.addSemicolon(q,this.emit(q,"statement"))));return this.indentLevel--,Y+`{
|
|
1542
|
+
${Z.map((q)=>this.indent()+q).join(`
|
|
1539
1543
|
`)}
|
|
1540
|
-
${this.indent()}}`}if(
|
|
1541
|
-
`,this.indentLevel++,H+=this.indent()+`let ${
|
|
1542
|
-
`,
|
|
1543
|
-
`,this.indentLevel++,H+=this.formatStatements(
|
|
1544
|
+
${this.indent()}}`}if(D)return h?Y+`{ if (${this.emit(h,"value")}) ${this.emit(A,"statement")}; }`:Y+`{ ${this.emit(A,"statement")}; }`;return h?Y+`{ let ${R} = ${F}[${H}]; if (${this.emit(h,"value")}) ${this.emit(A,"statement")}; }`:Y+`{ let ${R} = ${F}[${H}]; ${this.emit(A,"statement")}; }`}if(U){let F=this.emit(l,"value"),H=`for (let ${U} = 0; ${U} < ${F}.length; ${U}++) `;if(this.is(A,"block")){if(H+=`{
|
|
1545
|
+
`,this.indentLevel++,H+=this.indent()+`let ${R} = ${F}[${U}];
|
|
1546
|
+
`,h)H+=this.indent()+`if (${this.unwrap(this.emit(h,"value"))}) {
|
|
1547
|
+
`,this.indentLevel++,H+=this.formatStatements(A.slice(1)).join(`
|
|
1544
1548
|
`)+`
|
|
1545
1549
|
`,this.indentLevel--,H+=this.indent()+`}
|
|
1546
|
-
`;else H+=this.formatStatements(
|
|
1550
|
+
`;else H+=this.formatStatements(A.slice(1)).join(`
|
|
1547
1551
|
`)+`
|
|
1548
|
-
`;this.indentLevel--,H+=this.indent()+"}"}else H+=
|
|
1549
|
-
${
|
|
1552
|
+
`;this.indentLevel--,H+=this.indent()+"}"}else H+=h?`{ let ${R} = ${F}[${U}]; if (${this.unwrap(this.emit(h,"value"))}) ${this.emit(A,"statement")}; }`:`{ let ${R} = ${F}[${U}]; ${this.emit(A,"statement")}; }`;return H}let z=Array.isArray(l)&&l[0];if(z instanceof String)z=v(z);if(z===".."||z==="..."){let F=z==="...",[H,K]=l.slice(1),W=(O)=>typeof O==="number"||typeof O==="string"&&!O.includes("(")||O instanceof String&&!v(O).includes("(")||this.is(O,".");if(W(H)&&W(K)){let O=this.emit(H,"value"),Q=this.emit(K,"value"),Y=F?"<":"<=",J=c?`${R} += ${this.emit(c,"value")}`:`${R}++`,Z=`for (let ${R} = ${O}; ${R} ${Y} ${Q}; ${J}) `;return Z+=h?this.emitLoopBodyWithGuard(A,h):this.emitLoopBody(A),Z}}let M=`for (let ${R} of ${this.emit(l,"value")}) `;return M+=h?this.emitLoopBodyWithGuard(A,h):this.emitLoopBody(A),M}emitForOf(f,_,i,n){let[u,l,c,h,A]=_;if(i==="value"&&this.comprehensionDepth===0){let R=["for-of",u,l,c];return this.emit(["comprehension",A,[R],h?[h]:[]],i)}let[w,D]=Array.isArray(u)?u:[u],$=this.emit(l,"value"),U=`for (let ${w} in ${$}) `;if(c&&!D&&!h){if(this.is(A,"block")){this.indentLevel++;let R=[`if (!Object.hasOwn(${$}, ${w})) continue;`,...A.slice(1).map((z)=>this.addSemicolon(z,this.emit(z,"statement")))];return this.indentLevel--,U+`{
|
|
1553
|
+
${R.map((z)=>this.indent()+z).join(`
|
|
1550
1554
|
`)}
|
|
1551
|
-
${this.indent()}}`}return U+`{ if (!Object.hasOwn(${
|
|
1555
|
+
${this.indent()}}`}return U+`{ if (!Object.hasOwn(${$}, ${w})) continue; ${this.emit(A,"statement")}; }`}if(D){if(this.is(A,"block")){let z=A.slice(1);this.indentLevel++;let M=[];if(c)M.push(`if (!Object.hasOwn(${$}, ${w})) continue;`);if(M.push(`let ${D} = ${$}[${w}];`),h)M.push(`if (${this.emit(h,"value")}) {`),this.indentLevel++,M.push(...z.map((F)=>this.addSemicolon(F,this.emit(F,"statement")))),this.indentLevel--,M.push(this.indent()+"}");else M.push(...z.map((F)=>this.addSemicolon(F,this.emit(F,"statement"))));return this.indentLevel--,U+`{
|
|
1552
1556
|
${M.map((F)=>this.indent()+F).join(`
|
|
1553
1557
|
`)}
|
|
1554
|
-
${this.indent()}}`}let
|
|
1558
|
+
${this.indent()}}`}let R="";if(c)R+=`if (!Object.hasOwn(${$}, ${w})) continue; `;if(R+=`let ${D} = ${$}[${w}]; `,h)R+=`if (${this.emit(h,"value")}) `;return R+=`${this.emit(A,"statement")};`,U+`{ ${R} }`}return U+=h?this.emitLoopBodyWithGuard(A,h):this.emitLoopBody(A),U}emitForAs(f,_,i,n){let u=Array.isArray(_[0])?_[0]:[_[0]],[l]=u,c=_[1],h=_[2],A=_[3],w=_[4],D=!1,$=[];if(this.is(l,"array")){let F=l.slice(1),H=F.findIndex((K)=>this.is(K,"...")||K==="...");if(H!==-1&&H<F.length-1){D=!0;let K=F.slice(H+1),W=K.length,O=F.slice(0,H),Q=F[H],Y=this.is(Q,"...")?Q[1]:"_rest",J=O.map((G)=>G===","?"":typeof G==="string"?G:this.emit(G,"value")).join(", "),Z=J?`${J}, ...${Y}`:`...${Y}`,q=K.map((G)=>G===","?"":typeof G==="string"?G:this.emit(G,"value")).join(", ");$.push(`[${Z}] = _item`),$.push(`[${q}] = ${Y}.splice(-${W})`),this.helpers.add("slice"),F.forEach((G)=>{if(G===","||G==="...")return;if(typeof G==="string")this.programVars.add(G);else if(this.is(G,"...")&&typeof G[1]==="string")this.programVars.add(G[1])})}}let U=this.emit(c,"value"),R=h?"await ":"",z;if(D)z="_item";else if(this.is(l,"array")||this.is(l,"object"))z=this.emitDestructuringPattern(l);else z=l;let M=`for ${R}(let ${z} of ${U}) `;if(D&&$.length>0){let F=this.unwrapBlock(w),H=this.withIndent(()=>[...$.map((K)=>this.indent()+K+";"),...this.formatStatements(F)]);M+=`{
|
|
1555
1559
|
${H.join(`
|
|
1556
1560
|
`)}
|
|
1557
|
-
${this.indent()}}`}else M+=
|
|
1558
|
-
`)))[U];if(!
|
|
1559
|
-
`)))[U];if(!
|
|
1560
|
-
${
|
|
1561
|
-
`)}}`}emitMap(f,_,
|
|
1561
|
+
${this.indent()}}`}else M+=A?this.emitLoopBodyWithGuard(w,A):this.emitLoopBody(w);return M}emitWhile(f,_){let i=_[0],n=_.length===3?_[1]:null,u=_[_.length-1];return`while (${this.unwrap(this.emit(i,"value"))}) `+(n?this.emitLoopBodyWithGuard(u,n):this.emitLoopBody(u))}emitRange(f,_){if(f==="..."){if(_.length===1)return`...${this.emit(_[0],"value")}`;let[c,h]=_,A=this.emit(c,"value"),w=this.emit(h,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${w})`}let[i,n]=_,u=this.emit(i,"value"),l=this.emit(n,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${l})`}emitNot(f,_){let[i]=_;if(typeof i==="string"||i instanceof String)return`!${this.emit(i,"value")}`;if(Array.isArray(i)){if([".","?.","[]","optindex","optcall"].includes(i[0]))return`!${this.emit(i,"value")}`}let n=this.emit(i,"value");return n.startsWith("(")?`!${n}`:`(!${n})`}emitBitwiseNot(f,_){return`(~${this.emit(_[0],"value")})`}emitIncDec(f,_){let[i,n]=_,u=this.emit(i,"value");return n?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,_){return`typeof ${this.emit(_[0],"value")}`}emitDelete(f,_){return`(delete ${this.emit(_[0],"value")})`}emitInstanceof(f,_,i,n){let[u,l]=_,c=w1(n[0],"invert"),h=`(${this.emit(u,"value")} instanceof ${this.emit(l,"value")})`;return c?`(!${h})`:h}emitIn(f,_,i,n){let[u,l]=_,c=this.emit(u,"value"),h=w1(n[0],"invert");if(this.is(l,"object")){let D=`(${c} in ${this.emit(l,"value")})`;return h?`(!${D})`:D}let A=this.emit(l,"value"),w=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${c}) : (${c} in ${A}))`;return h?`(!${w})`:w}emitOf(f,_,i,n){let[u,l]=_,c=this.emit(u,"value"),h=this.emit(l,"value"),A=w1(n[0],"invert"),w=`(${c} in ${h})`;return A?`(!${w})`:w}emitRegexMatch(f,_){let[i,n]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(n,"value"),l=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(i,"value")}${l}).match(${u}))`}emitNew(f,_){let[i]=_;if(this.is(i,".")||this.is(i,"?.")){let[n,u,l]=i;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${l}`;return`new ${this.emit(u,"value")}.${l}`}if(Array.isArray(i)){let[n,...u]=i;return`new ${this.emit(n,"value")}(${u.map((l)=>this.unwrap(this.emit(l,"value"))).join(", ")})`}return`new ${this.emit(i,"value")}()`}emitLogicalAnd(f,_,i,n){let u=this.flattenBinaryChain(n).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map((l)=>this.emit(l,"value")).join(" && ")})`}emitLogicalOr(f,_,i,n){let u=this.flattenBinaryChain(n).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map((l)=>this.emit(l,"value")).join(" || ")})`}emitSymbol(f,_,i,n){if(n&&n.loc&&typeof _[0]==="string")n._anchors=(n._anchors||[]).concat([{name:"Symbol",origLine:n.loc.r,origCol:n.loc.c+1}]);return`Symbol.for(${JSON.stringify(_[0])})`}emitArray(f,_){let i=_.length>0&&_[_.length-1]===",",n=_.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 i?`[${n},]`:`[${n}]`}emitObject(f,_,i){if(_.length===1&&Array.isArray(_[0])&&Array.isArray(_[0][2])&&_[0][2][0]==="comprehension"){let[,U,R]=_[0],[,z,M,F]=R;return this.emit(["object-comprehension",U,z,M,F],i)}let n=(U,R,z=0,M=1/0)=>{let F=this.options&&this.options.source;if(!F||typeof R!=="string"||!/^[A-Za-z_$][\w$]*$/.test(R))return-1;let K=(this._sourceLinesCache||(this._sourceLinesCache=F.split(`
|
|
1562
|
+
`)))[U];if(!K)return-1;let W=new RegExp("\\b"+R.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");W.lastIndex=Math.max(0,z);let O;while((O=W.exec(K))!==null){if(O.index>=M)return-1;return O.index}return-1},u=(U,R,z=0,M=1/0)=>{let F=this.options&&this.options.source;if(!F||typeof R!=="string"||!/^[A-Za-z_$][\w$]*$/.test(R))return-1;let K=(this._sourceLinesCache||(this._sourceLinesCache=F.split(`
|
|
1563
|
+
`)))[U];if(!K)return-1;let W=new RegExp("\\b"+R.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");W.lastIndex=Math.max(0,z);let O,Q=-1;while((O=W.exec(K))!==null){if(O.index>=M)break;Q=O.index}return Q},l=!1,c=Array(_.length).fill(!1),h=_.map((U,R)=>{if(this.is(U,"..."))return`...${this.emit(U[1],"value")}`;let[z,M,F]=U,H,K=!1;if(this.is(M,"dynamicKey"))H=`[${this.emit(M[1],"value")}]`;else if(this.is(M,"str"))H=`[${this.emit(M,"value")}]`;else this.suppressReactiveUnwrap=!0,H=this.emit(M,"value"),this.suppressReactiveUnwrap=!1,K=!Array.isArray(M)&&typeof H==="string"&&/^[A-Za-z_$][\w$]*$/.test(H);if(z===":"&&K&&this.is(F,"->")){let[,O,Q]=F;if((!O||Array.isArray(O)&&O.length===0)&&this.containsIt(Q))O=["it"];let Y=F.isVoid||!1,J=this.emitParamList(O),Z=this.emitFunctionBody(Q,O,Y),q=this.containsAwait(Q),G=this.containsYield(Q),P=q?"async ":"",L=G?"*":"";if(F&&F.loc&&Array.isArray(O)&&O.length){let I=F.loc.r,e=F.loc.c,p=[],N=e;for(let X of O){if(typeof X!=="string")continue;let u1=n(I,X,N);if(u1>=0)p.push({name:X,origLine:I,origCol:u1}),N=u1+X.length}if(p.length)F._anchors=(F._anchors||[]).concat(p)}return l=!0,c[R]=!0,`${P}${L}${H}(${J}) ${Z}`}let W=this.emit(F,"value");if(z===":"&&K&&Array.isArray(U)&&U.loc&&typeof M==="string"){let O=n(U.loc.r,M,0,U.loc.c+M.length+1);if(O>=0)U._anchors=(U._anchors||[]).concat([{name:M,origLine:U.loc.r,origCol:O}])}if(z==="=")return`${H} = ${W}`;if(z===":")return`${H}: ${W}`;if(H===W&&!Array.isArray(M)){if(Array.isArray(U)&&U.loc&&typeof M==="string"){let O=u(U.loc.r,M,0,U.loc.c+1);if(O>=0)U._anchors=(U._anchors||[]).concat([{name:M,origLine:U.loc.r,origCol:O}])}return H}return`${H}: ${W}`});if(!l)return`{${h.join(", ")}}`;let A=[],w=[];for(let U=0;U<h.length;U++)if(c[U]||U>0&&c[U-1]){if(w.length&&A.length===0)A.push(w.join(", ")),w=[];A.push(h[U])}else if(A.length===0)w.push(h[U]);else A.push(h[U]);if(w.length&&A.length===0)A.push(w.join(", "));let D=A[0],$=A.slice(1);return $.length===0?`{${D}}`:`{${D},
|
|
1564
|
+
${$.join(`,
|
|
1565
|
+
`)}}`}emitMap(f,_,i){if(_.length===0)return"new Map()";return`new Map([${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,l,c]=u,h;if(Array.isArray(l))h=this.emit(l,"value");else{let w=v(l)??l;h=!w.startsWith('"')&&!w.startsWith("'")&&!w.startsWith("/")&&!D1.NUMBER_START_RE.test(w)&&!D0.has(w)?`"${w}"`:this.emit(l,"value")}let A=this.emit(c,"value");return`[${h}, ${A}]`}).join(", ")}])`}emitBlock(f,_,i){if(i==="statement")return`{
|
|
1562
1566
|
${this.withIndent(()=>this.formatStatements(_)).join(`
|
|
1563
1567
|
`)}
|
|
1564
|
-
${this.indent()}}`;if(_.length===0)return"undefined";if(_.length===1)return this.emit(_[0],
|
|
1565
|
-
${this.withIndent(()=>l.map((
|
|
1568
|
+
${this.indent()}}`;if(_.length===0)return"undefined";if(_.length===1)return this.emit(_[0],i);let n=_[_.length-1];if(Array.isArray(n)&&["break","continue","return","throw"].includes(n[0])){let l=_.map((c)=>this.addSemicolon(c,this.emit(c,"statement")));return`{
|
|
1569
|
+
${this.withIndent(()=>l.map((c)=>this.indent()+c).join(`
|
|
1566
1570
|
`))}
|
|
1567
|
-
${this.indent()}}`}return`(${_.map((l)=>this.emit(l,"value")).join(", ")})`}emitTry(f,_,
|
|
1568
|
-
${this.indent()} ${
|
|
1569
|
-
${this.indent()}}`}}let u=`throw ${this.emit(n,"value")}`;return
|
|
1570
|
-
`;this.indentLevel++;for(let
|
|
1571
|
-
`}this.indentLevel++,
|
|
1572
|
-
`,this.indentLevel++,
|
|
1573
|
-
`;this.indentLevel++,this.comprehensionDepth++,
|
|
1574
|
-
`;for(let
|
|
1575
|
-
`,this.indentLevel++,F)
|
|
1576
|
-
`}else if(
|
|
1577
|
-
`,this.indentLevel++,F)
|
|
1578
|
-
`;if(H)
|
|
1579
|
-
`}else if(
|
|
1580
|
-
`,this.indentLevel++}}for(let
|
|
1581
|
-
`,this.indentLevel++;let
|
|
1582
|
-
`;else if(Array.isArray(
|
|
1583
|
-
`;else
|
|
1584
|
-
`}else if(
|
|
1585
|
-
`;else if(Array.isArray(n)&&
|
|
1586
|
-
`;else
|
|
1587
|
-
`;for(let
|
|
1588
|
-
`;for(let
|
|
1589
|
-
`;return
|
|
1590
|
-
`,this.indentLevel--,this.comprehensionDepth--,
|
|
1591
|
-
`;this.indentLevel++,
|
|
1592
|
-
`;for(let
|
|
1593
|
-
`,this.indentLevel
|
|
1594
|
-
`;if(M)
|
|
1595
|
-
`}}for(let
|
|
1596
|
-
`,this.indentLevel++;
|
|
1597
|
-
`;for(let
|
|
1598
|
-
`;for(let
|
|
1599
|
-
`;return
|
|
1600
|
-
`,this.indentLevel--,
|
|
1601
|
-
`,l.length>0&&Array.isArray(l[0])){let
|
|
1602
|
-
`;else
|
|
1603
|
-
`}else
|
|
1604
|
-
`;this.indentLevel--}else{this.indentLevel++;for(let
|
|
1605
|
-
`;else
|
|
1606
|
-
`;this.indentLevel--}}}return
|
|
1607
|
-
`}else if(i
|
|
1608
|
-
`;else
|
|
1609
|
-
`}return
|
|
1610
|
-
|
|
1611
|
-
`;if(
|
|
1612
|
-
`;let
|
|
1613
|
-
|
|
1614
|
-
`;return}
|
|
1615
|
-
`;return}}
|
|
1616
|
-
`;return}if(!(
|
|
1571
|
+
${this.indent()}}`}return`(${_.map((l)=>this.emit(l,"value")).join(", ")})`}emitTry(f,_,i){let n=i==="value",u="try ",l=_[0];if(u+=n&&this.is(l,"block")?this.emitBlockWithReturns(l):this.emit(l,"statement"),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[c,h]=_[1];if(u+=" catch",c&&(this.is(c,"object")||this.is(c,"array"))){u+=" (error)";let A=`(${this.emit(c,"value")} = error)`;h=this.is(h,"block")?["block",A,...h.slice(1)]:["block",A,h]}else if(c)u+=` (${c})`;u+=" "+(n&&this.is(h,"block")?this.emitBlockWithReturns(h):this.emit(h,"statement"))}else if(_.length===2)u+=" finally "+this.emit(_[1],"statement");if(_.length===3)u+=" finally "+this.emit(_[2],"statement");if(_.length===1)u+=" catch {}";if(n){let c=this.containsAwait(_[0])||_[1]&&this.containsAwait(_[1])||_[2]&&this.containsAwait(_[2]);return this.asyncIIFE(c,u)}return u}emitThrow(f,_,i){let[n]=_;if(Array.isArray(n)){let l=n,c=null;if(n[0]==="new"&&Array.isArray(n[1])&&n[1][0]==="if")c="new",l=n[1];else if(n[0]==="if")l=n;if(l[0]==="if"){let[,h,A]=l,w=Array.isArray(A)&&A.length===1?A[0]:A;n=c==="new"?["new",w]:w;let D=this.emit(h,"value"),$=`throw ${this.emit(n,"value")}`;return`if (${D}) {
|
|
1572
|
+
${this.indent()} ${$};
|
|
1573
|
+
${this.indent()}}`}}let u=`throw ${this.emit(n,"value")}`;return i==="value"?`(() => { ${u}; })()`:u}emitControl(f,_,i){let[n,u,l]=_,c=v(n),h=l[0]==="return",A=this.emit(u,"value"),w=l.length>1?l[1]:null,D=h?w?`return ${this.emit(w,"value")}`:"return":w?`throw ${this.emit(w,"value")}`:"throw new Error()",$=this.wrapForCondition(A);if(i==="value"){if(c==="??")return`(() => { const __v = ${A}; if (__v == null) ${D}; return __v; })()`;if(c==="||")return`(() => { const __v = ${A}; if (!__v) ${D}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${D}; return __v; })()`}if(c==="??")return`if (${$} == null) ${D}`;if(c==="||")return`if (!${$}) ${D}`;return`if (${$}) ${D}`}emitSwitch(f,_,i){let[n,u,l]=_;if(n===null)return this.emitSwitchAsIfChain(u,l,i);let c=`switch (${this.emit(n,"value")}) {
|
|
1574
|
+
`;this.indentLevel++;for(let h of u){let[,A,w]=h;for(let D of A){let $=v(D)??D,U;if(Array.isArray($))U=this.emit($,"value");else if(typeof $==="string"&&($.startsWith('"')||$.startsWith("'")))U=`'${$.slice(1,-1)}'`;else U=this.emit($,"value");c+=this.indent()+`case ${U}:
|
|
1575
|
+
`}this.indentLevel++,c+=this.emitSwitchCaseBody(w,i),this.indentLevel--}if(l)c+=this.indent()+`default:
|
|
1576
|
+
`,this.indentLevel++,c+=this.emitSwitchCaseBody(l,i),this.indentLevel--;if(this.indentLevel--,c+=this.indent()+"}",i==="value"){let h=this.containsAwait(n)||u.some((A)=>this.containsAwait(A[1])||this.containsAwait(A[2]))||l&&this.containsAwait(l);return this.asyncIIFE(h,c)}return c}emitWhen(f,_,i,n){this.error("when clause should be handled by switch",n)}_forInHeader(f,_,i){let n=Array.isArray(f)?f:[f],u=n.length===0,[l,c]=u?["_i",null]:n,h=this.is(l,"array")||this.is(l,"object")?this.emitDestructuringPattern(l):l;if(i&&i!==null){let A=Array.isArray(_)&&_[0];if(A instanceof String)A=v(A);if(A===".."||A==="..."){let K=A==="...",[W,O]=_.slice(1),Q=this.emit(W,"value"),Y=this.emit(O,"value"),J=this.emit(i,"value");return{header:`for (let ${h} = ${Q}; ${h} ${K?"<":"<="} ${Y}; ${h} += ${J})`,setup:null}}let D=this.emit(_,"value"),$=c||"_i",U=this.emit(i,"value"),R=this.is(i,"-",1),z=R&&(i[1]==="1"||i[1]===1||v(i[1])==="1"),M=!R&&(i==="1"||i===1||v(i)==="1"),F=z?`${$}--`:M?`${$}++`:`${$} += ${U}`;return{header:R?`for (let ${$} = ${D}.length - 1; ${$} >= 0; ${F})`:`for (let ${$} = 0; ${$} < ${D}.length; ${F})`,setup:u?null:`let ${h} = ${D}[${$}];`}}if(c){let A=this.emit(_,"value");return{header:`for (let ${c} = 0; ${c} < ${A}.length; ${c}++)`,setup:`let ${h} = ${A}[${c}];`}}return{header:`for (let ${h} of ${this.emit(_,"value")})`,setup:null}}_forOfHeader(f,_,i){let n=Array.isArray(f)?f:[f],[u,l]=n,c=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,h=this.emit(_,"value");return{header:`for (let ${c} in ${h})`,own:i,vv:l,oc:h,kvp:c}}_forAsHeader(f,_,i){let n=Array.isArray(f)?f:[f],[u]=n,l=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${i?"await ":""}(let ${l} of ${this.emit(_,"value")})`}}emitComprehension(f,_,i){let[n,u,l]=_;if(i==="statement")return this.emitComprehensionAsLoop(n,u,l);if(this.comprehensionTarget){let D=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(n,u,l,D)}finally{this.comprehensionTarget=D}}let c=this.containsAwait(n)||u.some((D)=>this.containsAwait(D))||l.some((D)=>this.containsAwait(D)),h=this.asyncIIFEOpen(c)+`
|
|
1577
|
+
`;this.indentLevel++,this.comprehensionDepth++,h+=this.indent()+`const result = [];
|
|
1578
|
+
`;for(let D of u){let[$,U,R,z]=D;if($==="for-in"){let{header:M,setup:F}=this._forInHeader(U,R,z);if(h+=this.indent()+M+` {
|
|
1579
|
+
`,this.indentLevel++,F)h+=this.indent()+F+`
|
|
1580
|
+
`}else if($==="for-of"){let{header:M,own:F,vv:H,oc:K,kvp:W}=this._forOfHeader(U,R,z);if(h+=this.indent()+M+` {
|
|
1581
|
+
`,this.indentLevel++,F)h+=this.indent()+`if (!Object.hasOwn(${K}, ${W})) continue;
|
|
1582
|
+
`;if(H)h+=this.indent()+`let ${H} = ${K}[${W}];
|
|
1583
|
+
`}else if($==="for-as"){let{header:M}=this._forAsHeader(U,R,D[3]);h+=this.indent()+M+` {
|
|
1584
|
+
`,this.indentLevel++}}for(let D of l)h+=this.indent()+`if (${this.emit(D,"value")}) {
|
|
1585
|
+
`,this.indentLevel++;let A=(D)=>{if(typeof D==="string"&&(D==="break"||D==="continue"))return!0;if(!Array.isArray(D))return!1;if(["break","continue","return","throw"].includes(D[0]))return!0;if(D[0]==="if")return D.slice(1).some(A);return D.some(A)},w=["for-in","for-of","for-as","while","loop"];if(this.is(n,"block"))for(let D=0;D<n.length-1;D++){let $=n[D+1];if(D!==n.length-2||A($))h+=this.indent()+this.emit($,"statement")+`;
|
|
1586
|
+
`;else if(Array.isArray($)&&w.includes($[0]))h+=this.indent()+this.emit($,"statement")+`;
|
|
1587
|
+
`;else h+=this.indent()+`result.push(${this.emit($,"value")});
|
|
1588
|
+
`}else if(A(n))h+=this.indent()+this.emit(n,"statement")+`;
|
|
1589
|
+
`;else if(Array.isArray(n)&&w.includes(n[0]))h+=this.indent()+this.emit(n,"statement")+`;
|
|
1590
|
+
`;else h+=this.indent()+`result.push(${this.emit(n,"value")});
|
|
1591
|
+
`;for(let D=0;D<l.length;D++)this.indentLevel--,h+=this.indent()+`}
|
|
1592
|
+
`;for(let D=0;D<u.length;D++)this.indentLevel--,h+=this.indent()+`}
|
|
1593
|
+
`;return h+=this.indent()+`return result;
|
|
1594
|
+
`,this.indentLevel--,this.comprehensionDepth--,h+=this.indent()+"})()",h}emitObjectComprehension(f,_,i){let[n,u,l,c]=_,h=this.containsAwait(n)||this.containsAwait(u)||l.some((w)=>this.containsAwait(w))||c.some((w)=>this.containsAwait(w)),A=this.asyncIIFEOpen(h)+`
|
|
1595
|
+
`;this.indentLevel++,A+=this.indent()+`const result = {};
|
|
1596
|
+
`;for(let w of l){let[D,$,U,R]=w;if(D==="for-of"){let[z,M]=$,F=this.emit(U,"value");if(A+=this.indent()+`for (let ${z} in ${F}) {
|
|
1597
|
+
`,this.indentLevel++,R)A+=this.indent()+`if (!Object.hasOwn(${F}, ${z})) continue;
|
|
1598
|
+
`;if(M)A+=this.indent()+`let ${M} = ${F}[${z}];
|
|
1599
|
+
`}}for(let w of c)A+=this.indent()+`if (${this.emit(w,"value")}) {
|
|
1600
|
+
`,this.indentLevel++;A+=this.indent()+`result[${this.emit(n,"value")}] = ${this.emit(u,"value")};
|
|
1601
|
+
`;for(let w=0;w<c.length;w++)this.indentLevel--,A+=this.indent()+`}
|
|
1602
|
+
`;for(let w=0;w<l.length;w++)this.indentLevel--,A+=this.indent()+`}
|
|
1603
|
+
`;return A+=this.indent()+`return result;
|
|
1604
|
+
`,this.indentLevel--,A+=this.indent()+"})()",A}emitClass(f,_,i){let[n,u,...l]=_,c=n?`class ${n}`:"class";if(u)c+=` extends ${this.emit(u,"value")}`;if(c+=` {
|
|
1605
|
+
`,l.length>0&&Array.isArray(l[0])){let h=l[0];if(h[0]==="block"){let A=h.slice(1);if(A.length>0&&Array.isArray(A[0])&&A[0][0]==="object"){let D=A[0].slice(1);this.indentLevel++,c+=this._emitClassMembers(D,u);for(let $ of A.slice(1))if(this.is($,"class")){let[,U,R,...z]=$;if(this.is(U,".")&&U[1]==="this")c+=this.indent()+`static ${U[2]} = ${this.emit(["class",null,R,...z],"value")};
|
|
1606
|
+
`;else c+=this.indent()+this.emit($,"statement")+`;
|
|
1607
|
+
`}else c+=this.indent()+this.emit($,"statement")+`;
|
|
1608
|
+
`;this.indentLevel--}else{this.indentLevel++;for(let D of A)if(this.is(D,"=")&&Array.isArray(D[1])&&D[1][0]==="."&&D[1][1]==="this")c+=this.indent()+`static ${D[1][2]} = ${this.emit(D[2],"value")};
|
|
1609
|
+
`;else c+=this.indent()+this.emit(D,"statement")+`;
|
|
1610
|
+
`;this.indentLevel--}}}return c+=this.indent()+"}",c}_emitClassMembers(f,_){let i="",n=[];for(let[,u,l]of f){let c=this.is(u,".")&&u[1]==="this",h=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is(l,"=>")&&!c&&!h&&A!=="constructor")n.push(A)}for(let[,u,l]of f){let c=this.is(u,".")&&u[1]==="this",h=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is(l,"->")||this.is(l,"=>")){let[,w,D]=l,$=this.containsAwait(D),U=this.containsYield(D),R=w,z=[];if(A==="constructor"){let H=!!_,K=H?new Map:null;R=w.map((W)=>{if(this.is(W,".")&&W[1]==="this"){let O=v(W[2]),Q=H?`_${O}`:O;if(z.push(`this.${O} = ${Q}`),H)K.set(O,Q);return Q}if(this.is(W,"default")&&this.is(W[1],".")&&W[1][1]==="this"){let O=v(W[1][2]),Q=H?`_${O}`:O;if(z.push(`this.${O} = ${Q}`),H)K.set(O,Q);return["default",Q,W[2]]}return W});for(let W of n)z.unshift(`this.${W} = this.${W}.bind(this)`);if(K?.size>0)this._atParamMap=K}let M=this.emitParamList(R),F=(c?"static ":"")+($?"async ":"")+(U?"*":"");if(i+=this.indent()+`${F}${A}(${M}) `,!h)this.currentMethodName=A;i+=this.emitMethodBody(D,z,A==="constructor",R),this._atParamMap=null,this.currentMethodName=null,i+=`
|
|
1611
|
+
`}else if(c)i+=this.indent()+`static ${A} = ${this.emit(l,"value")};
|
|
1612
|
+
`;else i+=this.indent()+`${A} = ${this.emit(l,"value")};
|
|
1613
|
+
`}return i}emitSuper(f,_){if(_.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let i=_.map((n)=>this.unwrap(this.emit(n,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${i})`;return`super(${i})`}emitImport(f,_,i,n){if(_.length===1){let h=`import(${this.emit(_[0],"value")})`;if(w1(n[0],"bang")===!0)return`(await ${h})`;return h}if(this.options.skipImports)return"";if(_.length===3){let[h,A,w]=_,D=this.addJsExtensionAndAssertions(w);if(A[0]==="*"&&A.length===2)return`import ${h}, * as ${A[1]} from ${D}`;let $=A.map((U)=>Array.isArray(U)&&U.length===2?`${U[0]} as ${U[1]}`:U).join(", ");return this._attachImportSpecifierAnchors(n,[h,...A.flatMap((U)=>Array.isArray(U)?U:[U])]),`import ${h}, { ${$} } from ${D}`}let[u,l]=_,c=this.addJsExtensionAndAssertions(l);if(typeof u==="string")return`import ${u} from ${c}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${c}`;let h=u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ");return this._attachImportSpecifierAnchors(n,u.flatMap((A)=>Array.isArray(A)?A:[A])),`import { ${h} } from ${c}`}return`import ${this.emit(u,"value")} from ${c}`}_attachImportSpecifierAnchors(f,_){if(!f||!f.loc)return;let i=this.options&&this.options.source;if(!i||!_||!_.length)return;let n=this._sourceLinesCache||(this._sourceLinesCache=i.split(`
|
|
1614
|
+
`)),u=f.loc.r,l=f.loc.c,c=[];for(let h of _){if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))continue;let A=new RegExp("\\b"+h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b"),w=!1;while(u<n.length){let $=(n[u]||"").replace(/#.*$/,"");A.lastIndex=0;let U=$.slice(l),R=A.exec(U);if(R){let z=l+R.index;c.push({name:h,origLine:u,origCol:z}),l=z+h.length,w=!0;break}u++,l=0}if(!w)break}if(c.length)f._anchors=(f._anchors||[]).concat(c)}applyVoidMarker(f,_,i){let n=this.is(_,"->")||this.is(_,"=>")||this.is(_,"def");if(f instanceof String&&w1(f,"bang")!==void 0&&!n){let u=w1(f,"bang")===!0?"!":"&";this.error(`Cannot use ${u} sigil in variable declaration '${v(f)}'`,i)}if(f instanceof String&&w1(f,"bang")===!0&&n)_.isVoid=!0}emitExport(f,_){let[i]=_;if(this.options.skipExports){if(this.is(i,"=")){let n=this._componentName,u=this._componentTypeParams,l=this._schemaName;if(this.is(i[2],"component"))this._componentName=v(i[1]),this._componentTypeParams=i[1]?.typeParams||"";if(this.is(i[2],"schema"))this._schemaName=v(i[1]);this.applyVoidMarker(i[1],i[2],i);let c=`const ${i[1]} = ${this.emit(i[2],"value")}`;return this._componentName=n,this._componentTypeParams=u,this._schemaName=l,c}if(Array.isArray(i)&&i.every((n)=>typeof n==="string"))return"";return this.emit(i,"statement")}if(this.is(i,"=")){let n=this._componentName,u=this._componentTypeParams,l=this._schemaName;if(this.is(i[2],"component"))this._componentName=v(i[1]),this._componentTypeParams=i[1]?.typeParams||"";if(this.is(i[2],"schema"))this._schemaName=v(i[1]);this.applyVoidMarker(i[1],i[2],i);let c=`export const ${i[1]} = ${this.emit(i[2],"value")}`;return this._componentName=n,this._componentTypeParams=u,this._schemaName=l,c}if(Array.isArray(i)&&i.every((n)=>typeof n==="string"))return`export { ${i.join(", ")} }`;return`export ${this.emit(i,"statement")}`}emitExportDefault(f,_){let[i]=_;if(this.options.skipExports){if(this.is(i,"="))return this.applyVoidMarker(i[1],i[2],i),`const ${i[1]} = ${this.emit(i[2],"value")}`;return this.emit(i,"statement")}if(this.is(i,"="))return this.applyVoidMarker(i[1],i[2],i),`const ${i[1]} = ${this.emit(i[2],"value")};
|
|
1615
|
+
export default ${i[1]}`;return`export default ${this.emit(i,"statement")}`}emitExportAll(f,_){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(_[0])}`}emitExportFrom(f,_){if(this.options.skipExports)return"";let[i,n]=_,u=this.addJsExtensionAndAssertions(n);if(Array.isArray(i))return`export { ${i.map((c)=>Array.isArray(c)&&c.length===2?`${c[0]} as ${c[1]}`:c).join(", ")} } from ${u}`;return`export ${i} from ${u}`}emitDoIIFE(f,_){return`(${this.emit(_[0],"statement")})()`}emitRegex(f,_){return _.length===0?f:this.emit(_[0],"value")}emitTaggedTemplate(f,_){let[i,n]=_,u=this.emit(i,"value"),l=this.emit(n,"value");if(l.startsWith("`"))return`${u}${l}`;if(l.startsWith('"')||l.startsWith("'"))return`${u}\`${l.slice(1,-1)}\``;return`${u}\`${l}\``}emitString(f,_){let i="`";for(let n of _)if(n instanceof String)i+=this.extractStringContent(n);else if(typeof n==="string")if(n.startsWith('"')||n.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",n);i+=n.slice(1,-1)}else i+=n;else if(Array.isArray(n))if(n.length===1&&typeof n[0]==="string"&&!Array.isArray(n[0])){let u=n[0];i+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=n.length===1&&Array.isArray(n[0])?n[0]:n;i+="${"+this.emit(u,"value")+"}"}return i+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let _=f[0];if(_==="if"&&f.length===3)return{type:_,condition:f[1],value:f[2]};if(_==="+"||_==="-"||_==="*"||_==="/")for(let i=1;i<f.length;i++){let n=this.findPostfixConditional(f[i]);if(n)return n.parentOp=_,n.operandIndex=i,n.otherOperands=f.slice(1).filter((u,l)=>l!==i-1),n}return null}rebuildWithoutConditional(f){let _=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,_];return _}_tryPostfixCall(f,_,i){if(i!=="statement"||_.length!==1)return null;let n=this.findPostfixConditional(_[0]);if(!n)return null;let u=this.rebuildWithoutConditional(n),l=this.emit(f,"value"),c=this.emit(n.condition,"value"),h=this.emit(u,"value");return`if (${c}) ${l}(${h})`}_emitArgs(f){return f.map((_)=>this.unwrap(this.emit(_,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let _=f.findIndex((n)=>this.is(n,"expansion"));if(_!==-1){let n=f.slice(0,_),u=f.slice(_+1),l=n.map((c)=>this.formatParam(c)).join(", ");return this.expansionAfterParams=u,l?`${l}, ..._rest`:"..._rest"}let i=f.findIndex((n)=>this.is(n,"rest"));if(i!==-1&&i<f.length-1){let n=f.slice(0,i),u=f[i],l=f.slice(i+1),c=n.map((h)=>this.formatParam(h));return this.restMiddleParam={restName:u[1],afterParams:l,beforeCount:n.length},c.length>0?`${c.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((n)=>this.formatParam(n)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String){if(this.options.inlineTypes&&f.type)return`${f.valueOf()}: ${f.type.replace(/::/g,":")}`;return f.valueOf()}if(this.is(f,"rest")){let _=f[1];if(this.options.inlineTypes&&_ instanceof String&&_.type)return`...${_.valueOf()}: ${_.type.replace(/::/g,":")}`;return`...${_}`}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((i)=>{if(i===",")return"";if(i==="...")return"";if(this.is(i,"..."))return`...${i[1]}`;if(this.is(i,"=")&&typeof i[1]==="string")return`${i[1]} = ${this.emit(i[2],"value")}`;if(typeof i==="string")return i;return this.formatParam(i)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((i)=>{if(this.is(i,"..."))return`...${i[1]}`;if(this.is(i,"default"))return`${i[1]} = ${this.emit(i[2],"value")}`;let[n,u,l]=i;if(n==="=")return`${u} = ${this.emit(l,"value")}`;if(u===l)return u;return`${u}: ${this.formatParam(l)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,_=[],i={}){let{sideEffectOnly:n=!1,autoAssignments:u=[],isConstructor:l=!1,hasExpansionParams:c=!1}=i,h=this.sideEffectOnly;this.sideEffectOnly=n;let A=new Set,w=(M)=>{if(typeof M==="string"||M instanceof String)A.add(v(M));else if(Array.isArray(M)){if(M[0]==="rest"||M[0]==="..."){if(typeof M[1]==="string"||M[1]instanceof String)A.add(v(M[1]))}else if(M[0]==="default"){if(typeof M[1]==="string"||M[1]instanceof String)A.add(v(M[1]))}else if(M[0]==="array"||M[0]==="object")this.collectVarsFromArray(M,A)}};if(Array.isArray(_))_.forEach(w);let D=this.collectFunctionVariables(f),$=new Set([...D].filter((M)=>!this.programVars.has(M)&&!this.reactiveVars?.has(M)&&!A.has(M)&&!this.scopeStack.some((F)=>F.has(M)))),U=["return","throw","break","continue"],R=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...$,...A])),this.is(f,"block")){let M=this.unwrapBlock(f);if(c&&this.expansionAfterParams?.length>0)M=[...this.expansionAfterParams.map((O,Q)=>{return`const ${typeof O==="string"?O:JSON.stringify(O)} = _rest[_rest.length - ${this.expansionAfterParams.length-Q}]`}),...M],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:W,afterParams:O}=this.restMiddleParam,Q=O.length,Y=[];if(O.forEach((J,Z)=>{let q=typeof J==="string"?J:this.is(J,"default")?J[1]:JSON.stringify(J);Y.push(`const ${q} = ${W}[${W}.length - ${Q-Z}]`)}),Q>0)Y.push(`${W} = ${W}.slice(0, -${Q})`);M=[...Y,...M],this.restMiddleParam=null}this.indentLevel++;let F=`{
|
|
1616
|
+
`;if($.size>0){let W=this.options.inlineTypes?this.collectTypedLocals(f):null,O=Array.from($).sort().map((Q)=>{let Y=W?.get(Q);return Y?`${Q}: ${Y}`:Q});F+=this.indent()+`let ${O.join(", ")};
|
|
1617
|
+
`}let H=u.length>0&&M.length>0&&Array.isArray(M[0])&&M[0][0]==="super",K=(W)=>{W.forEach((O,Q)=>{let Y=Q===W.length-1,J=Array.isArray(O)?O[0]:null;if(!Y&&J==="comprehension"){let[,P,L,I]=O;F+=this.indent()+this.emitComprehensionAsLoop(P,L,I)+`
|
|
1618
|
+
`;return}if(!l&&!n&&Y&&J==="if"){let[P,L,...I]=O.slice(1),e=(N)=>this.is(N,"block")&&N.length>2;if(this.hasStatementInBranch(L)||I.some((N)=>this.hasStatementInBranch(N))||e(L)||I.some(e)){F+=this.emitIfElseWithEarlyReturns(O)+`
|
|
1619
|
+
`;return}}if(!l&&!n&&Y&&J==="="){let[P,L]=O.slice(1);if(typeof P==="string"&&Array.isArray(L)){let I=L[0];if(I==="comprehension"||I==="for-in"){this.comprehensionTarget=P,F+=this.emit(L,"value"),this.comprehensionTarget=null,F+=this.indent()+`return ${P};
|
|
1620
|
+
`;return}}}if(!l&&!n&&Y&&R.includes(J)){if(this.containsYield(O)){F+=this.indent()+this.addSemicolon(O,this.emit(O,"statement"))+`
|
|
1621
|
+
`;return}if(!(J==="for-in"||J==="for-of"||J==="for-as")){F+=this.indent()+this.addSemicolon(O,this.emit(O,"statement"))+`
|
|
1617
1622
|
`;return}F+=this.indent()+`const _result = [];
|
|
1618
|
-
`,this.comprehensionTarget="_result";let
|
|
1619
|
-
`;return}let
|
|
1620
|
-
`;else F+=this.indent()+this.addSemicolon(
|
|
1623
|
+
`,this.comprehensionTarget="_result";let L=this._skipCompTargetInit;this._skipCompTargetInit=!0,F+=this.emit(O,"value"),this._skipCompTargetInit=L,this.comprehensionTarget=null,F+=this.indent()+`return _result;
|
|
1624
|
+
`;return}let Z=!l&&!n&&Y&&!U.includes(J)&&!this.hasExplicitControlFlow(O),q=Z?"value":"statement",G=this.emit(O,q);if(Z)F+=this.indent()+"return "+G+`;
|
|
1625
|
+
`;else F+=this.indent()+this.addSemicolon(O,G)+`
|
|
1621
1626
|
`})};if(H){if(M.length===1&&!l)F+=this.indent()+"return "+this.emit(M[0],"value")+`;
|
|
1622
1627
|
`;else F+=this.indent()+this.emit(M[0],"statement")+`;
|
|
1623
|
-
`;for(let
|
|
1624
|
-
`;
|
|
1625
|
-
`;
|
|
1626
|
-
`}return this.indentLevel--,F+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=
|
|
1627
|
-
${this.withIndent(()=>_.map((n,u)=>{let l=u===_.length-1,
|
|
1628
|
+
`;for(let O of u)F+=this.indent()+O+`;
|
|
1629
|
+
`;K(M.slice(1))}else{for(let W of u)F+=this.indent()+W+`;
|
|
1630
|
+
`;K(M)}if(n&&M.length>0){let W=Array.isArray(M[M.length-1])?M[M.length-1][0]:null;if(!U.includes(W))F+=this.indent()+`return;
|
|
1631
|
+
`}return this.indentLevel--,F+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=h,F}this.sideEffectOnly=h;let z;if(l&&u.length>0){let M=Array.isArray(f)&&f[0]==="super",F=this.emit(f,"statement"),H=u.map((K)=>`${K};`).join(" ");z=M?`{ ${F}; ${H} }`:`{ ${H} ${F}; }`}else if(l||this.hasExplicitControlFlow(f))z=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(U.includes(f[0])||R.includes(f[0])))z=`{ ${this.emit(f,"statement")}; }`;else if(n)z=`{ ${this.emit(f,"statement")}; return; }`;else z=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),z}emitFunctionBody(f,_=[],i=!1){return this.emitBodyWithReturns(f,_,{sideEffectOnly:i,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,_=[],i=!1,n=[]){return this.emitBodyWithReturns(f,n,{autoAssignments:_,isConstructor:i})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let _=this.unwrapBlock(f);return`{
|
|
1632
|
+
${this.withIndent(()=>_.map((n,u)=>{let l=u===_.length-1,c=Array.isArray(n)?n[0]:null,h=l&&!["return","throw","break","continue"].includes(c),A=this.emit(n,h?"value":"statement");return h?this.indent()+"return "+A+";":this.indent()+A+";"})).join(`
|
|
1628
1633
|
`)}
|
|
1629
1634
|
${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let _=f[0]==="block"?f.slice(1):f;return`{
|
|
1630
|
-
${this.withIndent(()=>_.map((n)=>{if(this.is(n,"comprehension")){let[,u,l,
|
|
1635
|
+
${this.withIndent(()=>_.map((n)=>{if(this.is(n,"comprehension")){let[,u,l,c]=n;return this.indent()+this.emitComprehensionAsLoop(u,l,c)}return this.indent()+this.addSemicolon(n,this.emit(n,"statement"))})).join(`
|
|
1631
1636
|
`)}
|
|
1632
|
-
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,_){let
|
|
1633
|
-
`,
|
|
1634
|
-
${u}${l}${
|
|
1637
|
+
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,_){let i=this.unwrap(this.emit(_,"value"));if(!Array.isArray(f))return`{ if (${i}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let n=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),l=`if (${i}) {
|
|
1638
|
+
`,c=this.withIndent(()=>{this.indentLevel++;let A=this.formatStatements(n);return this.indentLevel--,A}),h=this.withIndent(()=>this.indent()+"}");return`{
|
|
1639
|
+
${u}${l}${c.join(`
|
|
1635
1640
|
`)}
|
|
1636
|
-
${
|
|
1637
|
-
${this.indent()}}`}return`{ if (${this.emit(_,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,_,
|
|
1638
|
-
`;let l=(
|
|
1639
|
-
`;else u+=this.indent()+`${n}.push(${this.emit(
|
|
1641
|
+
${h}
|
|
1642
|
+
${this.indent()}}`}return`{ if (${this.emit(_,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,_,i,n){let u="";if(!this._skipCompTargetInit)u+=this.indent()+`${n} = [];
|
|
1643
|
+
`;let l=(h)=>{if(typeof h==="string"&&(h==="break"||h==="continue"))return!0;if(!Array.isArray(h))return!1;if(["break","continue","return","throw"].includes(h[0]))return!0;if(h[0]==="if")return h.slice(1).some(l);return h.some(l)},c=()=>{let h=["for-in","for-of","for-as","while","loop"];if(this.is(f,"block"))for(let A=0;A<f.length-1;A++){let w=f[A+1];if(A!==f.length-2||l(w)||Array.isArray(w)&&h.includes(w[0]))u+=this.indent()+this.emit(w,"statement")+`;
|
|
1644
|
+
`;else u+=this.indent()+`${n}.push(${this.emit(w,"value")});
|
|
1640
1645
|
`}else if(l(f))u+=this.indent()+this.emit(f,"statement")+`;
|
|
1641
1646
|
`;else u+=this.indent()+`${n}.push(${this.emit(f,"value")});
|
|
1642
|
-
`};if(_.length===1){let[w,D
|
|
1647
|
+
`};if(_.length===1){let[h,A,w,D]=_[0];if(h==="for-in"){let{header:$,setup:U}=this._forInHeader(A,w,D);if(u+=this.indent()+$+` {
|
|
1643
1648
|
`,this.indentLevel++,U)u+=this.indent()+U+`
|
|
1644
|
-
`;if(
|
|
1645
|
-
`,this.indentLevel++;if(
|
|
1649
|
+
`;if(i?.length>0)u+=this.indent()+`if (${i.map((R)=>this.emit(R,"value")).join(" && ")}) {
|
|
1650
|
+
`,this.indentLevel++;if(c(),i?.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1646
1651
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1647
|
-
`,u}if(
|
|
1652
|
+
`,u}if(h==="for-of"){let{header:$,own:U,vv:R,oc:z,kvp:M}=this._forOfHeader(A,w,D);if(u+=this.indent()+$+` {
|
|
1648
1653
|
`,this.indentLevel++,U)u+=this.indent()+`if (!Object.hasOwn(${z}, ${M})) continue;
|
|
1649
|
-
`;if(
|
|
1650
|
-
`;if(
|
|
1651
|
-
`,this.indentLevel++;if(
|
|
1654
|
+
`;if(R)u+=this.indent()+`let ${R} = ${z}[${M}];
|
|
1655
|
+
`;if(i?.length>0)u+=this.indent()+`if (${i.map((F)=>this.emit(F,"value")).join(" && ")}) {
|
|
1656
|
+
`,this.indentLevel++;if(c(),i?.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1652
1657
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1653
|
-
`,u}if(
|
|
1654
|
-
`,this.indentLevel++,
|
|
1655
|
-
`,this.indentLevel++;if(
|
|
1658
|
+
`,u}if(h==="for-as"){let{header:$}=this._forAsHeader(A,w,D);if(u+=this.indent()+$+` {
|
|
1659
|
+
`,this.indentLevel++,i?.length>0)u+=this.indent()+`if (${i.map((U)=>this.emit(U,"value")).join(" && ")}) {
|
|
1660
|
+
`,this.indentLevel++;if(c(),i?.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1656
1661
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1657
|
-
`,u}}return u="",u+=this.indent()+`${n} = ${this.emit(["comprehension",f,_,
|
|
1658
|
-
`,u}emitComprehensionAsLoop(f,_,
|
|
1662
|
+
`,u}}return u="",u+=this.indent()+`${n} = ${this.emit(["comprehension",f,_,i||[]],"value")};
|
|
1663
|
+
`,u}emitComprehensionAsLoop(f,_,i){let n="",u=i?.length?i.map((c)=>this.emit(c,"value")).join(" && "):null,l=()=>{if(u)n+=this.indent()+`if (${u}) {
|
|
1659
1664
|
`,this.indentLevel++,n+=this.indent()+this.emit(f,"statement")+`;
|
|
1660
1665
|
`,this.indentLevel--,n+=this.indent()+`}
|
|
1661
1666
|
`;else n+=this.indent()+this.emit(f,"statement")+`;
|
|
1662
|
-
`};if(_.length===1){let[
|
|
1663
|
-
`,this.indentLevel
|
|
1664
|
-
`;return l(),this.indentLevel--,n+=this.indent()+"}",n}if(
|
|
1665
|
-
`,this.indentLevel++,l(),this.indentLevel--,n+=this.indent()+"}",n}if(
|
|
1666
|
-
`,this.indentLevel
|
|
1667
|
-
`;if(U)n+=this.indent()+`let ${U} = ${
|
|
1668
|
-
`;return l(),this.indentLevel--,n+=this.indent()+"}",n}}return this.emit(["comprehension",f,_,
|
|
1669
|
-
`;n+=this.withIndent(()=>this.emitBranchWithReturn(_)),n+=this.indent()+"}";for(let u of
|
|
1670
|
-
`,n+=this.withIndent(()=>this.emitBranchWithReturn(u)),n+=this.indent()+"}";return n}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let _=this.unwrapBlock(f),
|
|
1671
|
-
`;else
|
|
1672
|
-
`}return
|
|
1673
|
-
`;else if(_==="value")if(this.is(f,"block")&&f.length>2)for(let l=0;l<u.length;l++)if(l===u.length-1)
|
|
1674
|
-
`;else
|
|
1675
|
-
`;else
|
|
1676
|
-
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[l,
|
|
1677
|
-
`}else if(this.is(f,"block")&&f.length>1)for(let l of u)
|
|
1678
|
-
`;else
|
|
1679
|
-
`;
|
|
1680
|
-
`}return
|
|
1681
|
-
`,this.indentLevel++,
|
|
1682
|
-
`;else for(let
|
|
1667
|
+
`};if(_.length===1){let[c,h,A,w]=_[0];if(c==="for-in"){let{header:D,setup:$}=this._forInHeader(h,A,w);if(n+=D+` {
|
|
1668
|
+
`,this.indentLevel++,$)n+=this.indent()+$+`
|
|
1669
|
+
`;return l(),this.indentLevel--,n+=this.indent()+"}",n}if(c==="for-as"){let{header:D}=this._forAsHeader(h,A,w);return n+=D+` {
|
|
1670
|
+
`,this.indentLevel++,l(),this.indentLevel--,n+=this.indent()+"}",n}if(c==="for-of"){let{header:D,own:$,vv:U,oc:R,kvp:z}=this._forOfHeader(h,A,w);if(n+=D+` {
|
|
1671
|
+
`,this.indentLevel++,$)n+=this.indent()+`if (!Object.hasOwn(${R}, ${z})) continue;
|
|
1672
|
+
`;if(U)n+=this.indent()+`let ${U} = ${R}[${z}];
|
|
1673
|
+
`;return l(),this.indentLevel--,n+=this.indent()+"}",n}}return this.emit(["comprehension",f,_,i],"value")}emitIfElseWithEarlyReturns(f){let[,_,i,...n]=f;return this.indent()+this.emitIfElseEarlyReturnsChain(_,i,n)}emitIfElseEarlyReturnsChain(f,_,i){let n=`if (${this.emit(f,"value")}) {
|
|
1674
|
+
`;n+=this.withIndent(()=>this.emitBranchWithReturn(_)),n+=this.indent()+"}";for(let u of i)if(n+=" else ",this.is(u,"if")){let[,l,c,...h]=u;n+=this.emitIfElseEarlyReturnsChain(l,c,h)}else n+=`{
|
|
1675
|
+
`,n+=this.withIndent(()=>this.emitBranchWithReturn(u)),n+=this.indent()+"}";return n}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let _=this.unwrapBlock(f),i="";for(let n=0;n<_.length;n++){let u=n===_.length-1,l=_[n],c=Array.isArray(l)?l[0]:null;if(u&&!(c==="return"||c==="throw"||c==="break"||c==="continue"))i+=this.indent()+`return ${this.emit(l,"value")};
|
|
1676
|
+
`;else i+=this.indent()+this.emit(l,"statement")+`;
|
|
1677
|
+
`}return i}emitIfAsExpression(f,_,i){if(this.is(_,"block")&&_.length>2||this.hasStatementInBranch(_)||i.some((h)=>this.is(h,"block")&&h.length>2||this.hasStatementInBranch(h)||this.hasNestedMultiStatement(h))){let h=this.containsAwait(f)||this.containsAwait(_)||i.some((A)=>this.containsAwait(A));return this.asyncIIFEOpen(h)+" "+this.emitIfChain(f,_,i)+" })()"}let u=this.extractExpression(this.unwrapIfBranch(_)),l=this.buildTernaryChain(i),c=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))c=`(${c})`;return`(${c} ? ${u} : ${l})`}emitIfChain(f,_,i){let n=`if (${this.emit(f,"value")}) `+this.emitBlockWithReturns(_);for(let u of i)if(n+=" else ",this.is(u,"if")){let[,l,c,...h]=u;n+=this.emitIfChain(l,c,h)}else n+=this.emitBlockWithReturns(u);return n}emitIfAsStatement(f,_,i){let n=`if (${this.unwrap(this.emit(f,"value"))}) `;n+=this.emit(this.unwrapIfBranch(_),"statement");for(let u of i)n+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return n}emitSwitchCaseBody(f,_){let i="",n=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(n)for(let l of u)i+=this.indent()+this.emit(l,"statement")+`;
|
|
1678
|
+
`;else if(_==="value")if(this.is(f,"block")&&f.length>2)for(let l=0;l<u.length;l++)if(l===u.length-1)i+=this.indent()+`return ${this.emit(u[l],"value")};
|
|
1679
|
+
`;else i+=this.indent()+this.emit(u[l],"statement")+`;
|
|
1680
|
+
`;else i+=this.indent()+`return ${this.extractExpression(f)};
|
|
1681
|
+
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[l,c,h,...A]=u[0],w=this.extractExpression(this.unwrapIfBranch(h)),D=this.buildTernaryChain(A);i+=this.indent()+`(${this.unwrap(this.emit(c,"value"))} ? ${w} : ${D});
|
|
1682
|
+
`}else if(this.is(f,"block")&&f.length>1)for(let l of u)i+=this.indent()+this.emit(l,"statement")+`;
|
|
1683
|
+
`;else i+=this.indent()+this.emit(f,"statement")+`;
|
|
1684
|
+
`;i+=this.indent()+`break;
|
|
1685
|
+
`}return i}emitSwitchAsIfChain(f,_,i){let n="";for(let u=0;u<f.length;u++){let[,l,c]=f[u],h=Array.isArray(l)?l[0]:l;if(n+=(u===0?"":" else ")+`if (${this.emit(h,"value")}) {
|
|
1686
|
+
`,this.indentLevel++,i==="value")n+=this.indent()+`return ${this.extractExpression(c)};
|
|
1687
|
+
`;else for(let A of this.unwrapBlock(c))n+=this.indent()+this.emit(A,"statement")+`;
|
|
1683
1688
|
`;this.indentLevel--,n+=this.indent()+"}"}if(_){if(n+=` else {
|
|
1684
|
-
`,this.indentLevel++,
|
|
1689
|
+
`,this.indentLevel++,i==="value")n+=this.indent()+`return ${this.extractExpression(_)};
|
|
1685
1690
|
`;else for(let u of this.unwrapBlock(_))n+=this.indent()+this.emit(u,"statement")+`;
|
|
1686
|
-
`;this.indentLevel--,n+=this.indent()+"}"}if(
|
|
1687
|
-
`);if(
|
|
1688
|
-
`))_=_.slice(1);if(
|
|
1689
|
-
`))_=_.slice(0,-1);return _}processHeregex(f){let _="",
|
|
1690
|
-
`)n++;continue}_+=l,n++}return _}addJsExtensionAndAssertions(f){if(f instanceof String)f=
|
|
1691
|
+
`;this.indentLevel--,n+=this.indent()+"}"}if(i==="value"){let u=f.some((l)=>this.containsAwait(l[1])||this.containsAwait(l[2]))||_&&this.containsAwait(_);return this.asyncIIFE(u,n)}return n}asyncIIFE(f,_){return`${f?"await ":""}(${f?"async ":""}() => { ${_} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let _=this.unwrapBlock(f);return _.length>0?this.emit(_[_.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,_){if(!_||_.endsWith(";"))return!1;if(!_.endsWith("}"))return!0;let i=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(i)}addSemicolon(f,_){return _+(this.needsSemicolon(f,_)?";":"")}formatStatements(f,_="statement"){return f.map((i)=>this.indent()+this.addSemicolon(i,this.emit(i,_)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((i)=>Array.isArray(i)&&["return","throw","break","continue"].includes(i[0]));if(_==="switch"){let[,,i]=f;return i?.some((n)=>{return this.unwrapBlock(n[2]).some((l)=>Array.isArray(l)&&["return","throw","break","continue"].includes(l[0]))})}if(_==="if"){let[,,i,n]=f;return this.branchHasControlFlow(i)&&n&&this.branchHasControlFlow(n)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let _=this.unwrapBlock(f);if(_.length===0)return!1;let i=_[_.length-1];return Array.isArray(i)&&["return","throw","break","continue"].includes(i[0])}withIndent(f){this.indentLevel++;let _=f();return this.indentLevel--,_}is(f,_,i){if(!Array.isArray(f))return null;if((v(f[0])??f[0])!==_)return null;let n=f.slice(1);if(i!=null&&n.length!==i)return null;return n}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,i=0,n=!0,u=!1;for(let l=0;l<f.length;l++){if(f[l]==="(")_++;if(f[l]===")")_--;if(f[l]==="["||f[l]==="{")i++;if(f[l]==="]"||f[l]==="}")i--;if(f[l]===","&&_===1&&i===0)u=!0;if(_===0&&l<f.length-1){n=!1;break}}if(u)n=!1;if(n)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let _=this._findOptionalInTarget(f[1]);if(_)return{guard:_.guard,rewritten:[f[0],_.rewritten,f[2]]}}return null}_validateBindingPattern(f,_){if(!Array.isArray(f))return;let i=f[0];if(i==="comprehension"||i==="object-comprehension")this.error(`Cannot use ${i} as a destructuring target`,_);if(i==="array"){for(let n of f.slice(1))this._validateBindingPattern(n,_);return}if(i==="object"){for(let n of f.slice(1)){if(!Array.isArray(n))continue;let u=n[0];if(u===null)this._validateBindingPattern(n[2],_);else if(u===":")this._validateBindingPattern(n[2],_);else if(u==="=")this._validateBindingPattern(n[1],_);else if(u==="...")this._validateBindingPattern(n[1],_);else this.error(`Unexpected object entry '${u}' in destructuring target`,_)}return}if(i==="..."||i==="default"||i==="="){this._validateBindingPattern(f[1],_);return}if(i==="."||i==="[]")return;if(i==="?."||i==="optindex"||i==="optcall")this.error("Cannot use optional chain as a destructuring target",_);this.error(`Cannot use '${i}' expression as a destructuring target`,_)}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,i=1/0;for(let n=1;n<f.length-1;n++){if(f[n]==="(")_++;if(f[n]===")")_--;i=Math.min(i,_)}if(i>=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[_,...i]=f;if(_!=="&&"&&_!=="||")return f;let n=[],u=(l)=>{if(Array.isArray(l)&&l[0]===_)for(let c=1;c<l.length;c++)u(l[c]);else n.push(l)};for(let l of i)u(l);return[_,...n]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((i)=>this.hasStatementInBranch(i));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[_,i,n,...u]=f;return this.is(n,"block")&&n.length>2||u.some((l)=>this.hasNestedMultiStatement(l))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";let _=this.unwrapIfBranch(f[0]);if(this.is(_,"if")){let[,i,n,...u]=_,l=this.extractExpression(this.unwrapIfBranch(n)),c=this.buildTernaryChain(u);return`(${this.emit(i,"value")} ? ${l} : ${c})`}return this.extractExpression(_)}collectVarsFromArray(f,_){f.slice(1).forEach((i)=>{if(i===","||i==="...")return;if(typeof i==="string"){_.add(i);return}if(Array.isArray(i)){if(i[0]==="..."&&typeof i[1]==="string")_.add(i[1]);else if(i[0]==="="&&typeof i[1]==="string")_.add(i[1]);else if(i[0]==="array")this.collectVarsFromArray(i,_);else if(i[0]==="object")this.collectVarsFromObject(i,_)}})}collectVarsFromLoopHead(f,_){if(!Array.isArray(f))return;f.forEach((i)=>{if(i==null)return;if(typeof i==="string"){_.add(i);return}if(Array.isArray(i)){if(i[0]==="array")this.collectVarsFromArray(i,_);else if(i[0]==="object")this.collectVarsFromObject(i,_)}})}collectVarsFromObject(f,_){f.slice(1).forEach((i)=>{if(!Array.isArray(i))return;if(i[0]==="..."&&typeof i[1]==="string"){_.add(i[1]);return}if(i.length>=2){let[n,u,l]=i;if(n==="="){if(typeof u==="string")_.add(u)}else if(typeof l==="string")_.add(l);else if(Array.isArray(l)){if(l[0]==="array")this.collectVarsFromArray(l,_);else if(l[0]==="object")this.collectVarsFromObject(l,_)}}})}extractStringContent(f){let _=v(f).slice(1,-1),i=w1(f,"indent");if(i)_=_.replace(new RegExp(`\\n${i}`,"g"),`
|
|
1692
|
+
`);if(w1(f,"initialChunk")&&_.startsWith(`
|
|
1693
|
+
`))_=_.slice(1);if(w1(f,"finalChunk")&&_.endsWith(`
|
|
1694
|
+
`))_=_.slice(0,-1);return _}processHeregex(f){let _="",i=!1,n=0,u=()=>{let l=0,c=n-1;while(c>=0&&f[c]==="\\")l++,c--;return l%2===1};while(n<f.length){let l=f[n];if(l==="["&&!u()){i=!0,_+=l,n++;continue}if(l==="]"&&i&&!u()){i=!1,_+=l,n++;continue}if(i){_+=l,n++;continue}if(/\s/.test(l)){n++;continue}if(l==="#"){if(u()){_+=l,n++;continue}let c=n-1;while(c>=0&&f[c]==="\\")c--;if(c<n-1){_+=l,n++;continue}while(n<f.length&&f[n]!==`
|
|
1695
|
+
`)n++;continue}_+=l,n++}return _}addJsExtensionAndAssertions(f){if(f instanceof String)f=v(f);if(typeof f!=="string")return f;let i=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,n=i.startsWith("./")||i.startsWith("../"),u=i,l="";if(n){let c=i.lastIndexOf("/"),h=c>=0?i.substring(c+1):i;if(h.includes(".")){if(h.endsWith(".json"))l=" with { type: 'json' }"}else u=i+".js"}return`'${u}'`+l}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&v(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsIt(_));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&w1(f,"bang")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsAwait(_));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsYield(_));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
|
|
1691
1696
|
// Rip Reactive Runtime
|
|
1692
1697
|
// A minimal, fine-grained reactivity system
|
|
1693
1698
|
//
|
|
@@ -2052,30 +2057,30 @@ if (typeof globalThis !== 'undefined') {
|
|
|
2052
2057
|
}
|
|
2053
2058
|
|
|
2054
2059
|
// === End Reactive Runtime ===
|
|
2055
|
-
`}}class
|
|
2056
|
-
`),u=n.findIndex((F)=>F==="__DATA__");if(u!==-1){let F=n.slice(u+1);
|
|
2060
|
+
`}}class d1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,_){if(_)this.options={...this.options,..._};let i=null,n=f.split(`
|
|
2061
|
+
`),u=n.findIndex((F)=>F==="__DATA__");if(u!==-1){let F=n.slice(u+1);i=F.length>0?F.join(`
|
|
2057
2062
|
`)+`
|
|
2058
2063
|
`:"",f=n.slice(0,u).join(`
|
|
2059
|
-
`)}let l=new
|
|
2060
|
-
//# sourceMappingURL=data:application/json;base64,${F}`}else if(z&&this.options.filename)
|
|
2061
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(
|
|
2064
|
+
`)}let l=new Y1,c;try{c=l.tokenize(f)}catch(F){throw C1(F,f,this.options.filename)}if(this.options.showTokens)c.forEach((F)=>console.log(`${F[0].padEnd(12)} ${JSON.stringify(F[1])}`)),console.log();let h=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...c];if(c=c.filter((F)=>F[0]!=="TYPE_DECL"),l.typeRefNames?.size>0&&!this.options.inlineTypes){let F=new Set,H=!1;for(let W of c){if(W[0]==="IMPORT"){H=!0;continue}if(H&&W[0]==="TERMINATOR"){H=!1;continue}if(H)continue;if(W[0]==="IDENTIFIER")F.add(W[1])}let K=(W)=>!F.has(W);for(let W=c.length-1;W>=0;W--){if(c[W][0]!=="IMPORT")continue;let O=W+1;if(O>=c.length)continue;if(c[O][0]==="CALL_START"||c[O][0]==="(")continue;if(c[O][0]==="STRING")continue;let Q=-1,Y=O;while(Y<c.length&&c[Y][0]!=="TERMINATOR"){if(Q===-1&&c[Y][0]==="FROM")Q=Y;Y++}if(Q===-1)continue;let J=-1,Z=-1;for(let N=W+1;N<Q;N++)if(c[N][0]==="{"){J=N;break}if(J!==-1){for(let N=J+1;N<Q;N++)if(c[N][0]==="}"){Z=N;break}}let q=!1,G=J!==-1?J:Q;for(let N=W+1;N<G;N++){let X=c[N][0];if(X==="IDENTIFIER"||X==="*"){q=!0;break}}if(J===-1||Z===-1){if(q){let N=[],X=W+1;while(X<Q)if(c[X][0]==="AS"&&X+1<Q&&c[X+1][0]==="IDENTIFIER")N.push(c[X+1][1]),X+=2;else if(c[X][0]==="IDENTIFIER")N.push(c[X][1]),X++;else X++;if(N.length===0||!N.every(K))continue;let u1=Y<c.length?Y+1:Y;c.splice(W,u1-W)}continue}let P=[],L=J+1;while(L<Z){let N=L;while(N<Z&&c[N][0]!==",")N++;if(N>L)P.push({start:L,end:N});L=N+1}for(let N of P){let X=null;for(let u1=N.start;u1<N.end;u1++){if(c[u1][0]!=="IDENTIFIER")continue;if(X===null)X=c[u1][1];else if(c[u1-1]?.[0]==="AS")X=c[u1][1]}N.local=X,N.drop=X!=null&&K(X)}if(!P.some((N)=>N.drop))continue;let e=P.every((N)=>N.drop),p=[];if(e&&q){let N=W+1;while(N<J)if(c[N][0]==="AS"&&N+1<J&&c[N+1][0]==="IDENTIFIER")p.push(c[N+1][1]),N+=2;else if(c[N][0]==="IDENTIFIER")p.push(c[N][1]),N++;else N++}if(e)if(!q){let N=Y<c.length?Y+1:Y;c.splice(W,N-W)}else if(p.length>0&&p.every(K)){let N=Y<c.length?Y+1:Y;c.splice(W,N-W)}else{let N=J,X=Z+1,u1=J-1;while(u1>W&&c[u1][0]!==","&&c[u1][0]!=="IDENTIFIER"&&c[u1][0]!=="*")u1--;if(u1>W&&c[u1][0]===",")N=u1;c.splice(N,X-N)}else for(let N=P.length-1;N>=0;N--){let X=P[N];if(!X.drop)continue;let{start:u1,end:b}=X;if(b<Z&&c[b][0]===",")b++;else if(u1>J+1&&c[u1-1][0]===",")u1--;c.splice(u1,b-u1)}}}while(c.length>0&&c[0][0]==="TERMINATOR")c.shift();if(c.every((F)=>F[0]==="TERMINATOR")){if(A&&D2)h=D2(A,["program"],f);return{tokens:c,sexpr:["program"],code:"",dts:h,data:i,reactiveVars:{}}}let w=null;z1.lexer={tokens:c,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let F=this.tokens[this.pos++],H=F[1];if(F.data)H=new String(H),Object.assign(H,F.data);return this.text=H,this.loc=F.loc,this.line=F.loc?.r,w=F.loc,F[0]}};let D;try{D=z1.parse(f)}catch(F){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new $1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let H=C1(F,f,this.options.filename);if(H.phase==="parser"&&w)H.line=w.r??H.line,H.column=w.c??H.column,H.length=w.n||1;throw H}if(this.options.showSExpr)console.log(K1(D,0,!0)),console.log();let $=null;if(this.options.sourceMap){let F=(this.options.filename||"output")+".js",H=this.options.filename||"input.rip";$=new I2(F,H,f)}let U=new D1({dataSection:i,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,inlineTypes:this.options.inlineTypes,schemaMode:this.options.schemaMode,sourceMap:$}),R=U.compile(D),z=$?$.toJSON():null,M=$?$.toReverseMap():null;if(z&&this.options.sourceMap==="inline"){let F;if(typeof Buffer<"u")F=Buffer.from(z,"utf8").toString("base64");else{let H=new TextEncoder().encode(z),K="";for(let W=0;W<H.length;W++)K+=String.fromCharCode(H[W]);F=btoa(K)}R+=`
|
|
2065
|
+
//# sourceMappingURL=data:application/json;base64,${F}`}else if(z&&this.options.filename)R+=`
|
|
2066
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(A&&D2)h=D2(A,D,f);return{tokens:c,sexpr:D,code:R,dts:h,map:z,reverseMap:M,data:i,reactiveVars:U.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}q3(D1,Y1);D1.prototype.emitEnum=function(_,i,n){let[u,l]=i,c=u?.valueOf?.()??u,h=[];if(Array.isArray(l)){let D=l[0]==="block"?l.slice(1):[l];for(let $ of D)if(Array.isArray($)){if($[0]?.valueOf?.()==="="){let U=$[1]?.valueOf?.()??$[1],R=$[2]?.valueOf?.()??$[2];h.push([U,R])}}}if(h.length===0)return`const ${c} = {}`;let A=h.map(([D,$])=>`${D}: ${$}`).join(", "),w=h.map(([D,$])=>`${$}: "${D}"`).join(", ");return`const ${c} = {${A}, ${w}}`};i2(null,D1);function $2(f,_={}){return new d1(_).compile(f)}function Z1(f,_={}){return new d1(_).compileToJS(f)}function k1(){return new D1({}).getReactiveRuntime()}function p1(){return new D1({}).getComponentRuntime()}var G3="3.16.1",X3="2026-06-05@18:16:05GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(k1())();if(!globalThis.__ripComponent)Function(p1())()}var U0=(f)=>{let _=f.match(/^[ \t]*(?=\S)/gm),i=Math.min(...(_||[]).map((n)=>n.length));return f.replace(RegExp(`^[ ]{${i}}`,"gm"),"").trim()},L2=(f)=>String(f).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function T2(f){let _=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm;return f.replace(_,(i,n,u,l)=>{let c=u.trim();if(c.startsWith("type "))return`${n}// type-only import erased: ${l}`;let h=c.indexOf("{"),A=c.lastIndexOf("}");if(h<0||A<=h)return console.warn(`[Rip] Skipping non-named import from ${l}; only \`import { … } from '@rip-lang/*'\` is supported in browser bundles.`),i;let w=c.slice(h+1,A),D=[];for(let $ of w.split(",")){let U=$.trim().replace(/^type\s+/,"");if(!U)continue;if(/\s+as\s+/.test(U)){let[R,z]=U.split(/\s+as\s+/).map((M)=>M.trim());D.push(`${R}: ${z}`)}else D.push(U)}if(D.length===0)return`${n}// import erased: ${l}`;return`${n}const { ${D.join(", ")} } = globalThis;`})}function P3(f,_){let n=`//# sourceURL=${L2(_)}`,u=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,l=f.match(u);if(l)return f.slice(0,l.index)+`
|
|
2062
2067
|
`+n+f.slice(l.index);return f+`
|
|
2063
|
-
`+n}function
|
|
2064
|
-
${
|
|
2065
|
-
})()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:
|
|
2066
|
-
${
|
|
2067
|
-
})()`)}catch(
|
|
2068
|
-
${H}.mount(${JSON.stringify(
|
|
2069
|
-
`:"",
|
|
2070
|
-
${
|
|
2071
|
-
})()`)}catch(
|
|
2072
|
-
`,u=new Blob([n+
|
|
2073
|
-
${_}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");n=n.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(n);if(u&&typeof u.then==="function")return u.then((l)=>{if(l!==void 0)globalThis._=l;return l});if(u!==void 0)globalThis._=u;return u}catch(_){console.error(b1(_,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=
|
|
2074
|
-
`+
|
|
2075
|
-
`+D)+`
|
|
2076
|
-
`+h+"]"}if(w==="object"){let D=Object.getPrototypeOf(l);if(D!==Object.prototype&&D!==null)return null;let h=Object.keys(l);if(h.length===0)return"{}";let A=" ".repeat(i+1),R=" ".repeat(i);return`{
|
|
2077
|
-
`+A+h.map((U)=>n(U)+": "+(u(l[U],i+1)??"null")).join(`
|
|
2068
|
+
`+n}function y3(f,_){if(!_)return f;return f.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(i,n)=>{let u;try{let A=atob(n),w=new Uint8Array(A.length);for(let D=0;D<A.length;D++)w[D]=A.charCodeAt(D);u=new TextDecoder().decode(w)}catch{return i}let l;try{l=JSON.parse(u)}catch{return i}l.mappings=";".repeat(_)+l.mappings;let c=new TextEncoder().encode(JSON.stringify(l)),h="";for(let A=0;A<c.length;A++)h+=String.fromCharCode(c[A]);return`//# sourceMappingURL=data:application/json;base64,${btoa(h)}`})}function $0(f,_){let i=`${L2(_)}.js`,n=y3(f,1);return`(async()=>{
|
|
2069
|
+
${P3(n,i)}
|
|
2070
|
+
})()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:y3,addSourceURL:P3,sanitizeSourceURL:L2};async function S3(){let f=[],_,i=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),n=i?.getAttribute("data-src");if(n!==null&&n!==void 0){for(let c of n.trim().split(/\s+/))if(c)f.push({url:c})}else if(i&&/^https?:$/.test(location.protocol))f.push({url:"/app",optional:!0});for(let c of document.querySelectorAll('script[type="text/rip"]'))if(c.src)f.push({url:c.src});else{let h=U0(c.textContent);if(h)f.push({code:h})}if(f.length>0){let c=await Promise.allSettled(f.map(async(U)=>{if(!U.url)return;let R=await fetch(U.url);if(!R.ok)throw Error(`${U.url} (${R.status})`);if(U.url.endsWith(".rip"))U.code=await R.text();else{let z=await R.json();U.bundle=z}}));for(let U=0;U<c.length;U++){let R=c[U];if(R.status==="rejected"&&!f[U].optional)console.warn("Rip: fetch failed:",R.reason.message)}let h=[],A=[];for(let U of f)if(U.bundle)h.push(U.bundle);else if(U.code)A.push(U);let w=i?.getAttribute("data-router");_=h[h.length-1];let D,$;if(w!=null)D=w!=="false",$=w==="hash";else D=!!_?.data?.router,$=!1;if(D&&h.length>0){let U=i?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=U;let R={skipRuntimes:!0,skipExports:!0,skipImports:!0},z=0;for(let F of A){let H=F.url||`inline-${++z}.rip`,K=U?{...R,sourceMap:"inline",filename:H}:R,W;try{W=T2(Z1(F.code,K))}catch(O){console.error(b1(O,{source:F.code,file:H,color:!1}));continue}try{await(0,eval)(U?$0(W,H):`(async()=>{
|
|
2071
|
+
${W}
|
|
2072
|
+
})()`)}catch(O){console.error(`Rip runtime error in ${H}:`,O)}}let M=I1.modules?.["app.rip"];if(M?.launch){let F=i.getAttribute("data-persist"),H={bundle:_,hash:$};if(F!=null)H.persist=F==="local"?"local":!0;await M.launch(H)}}else{let U=[];for(let H of h){let K=H.modules||H.components||{};for(let[W,O]of Object.entries(K))U.push({code:O,url:W});if(H.data){let W=i?.getAttribute("data-state"),O={};if(W)try{O=JSON.parse(W)}catch{}Object.assign(O,H.data),i?.setAttribute("data-state",JSON.stringify(O))}}if(U.push(...A),h.length>0&&typeof globalThis.createComponents==="function"){let H=globalThis.createComponents();for(let K of h){let W=K.modules||K.components;if(W)H.load(W)}if(typeof window<"u"){if(!window.__RIP__)window.__RIP__={};window.__RIP__.components=H}}let R=i?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=R;let z={skipRuntimes:!0,skipExports:!0,skipImports:!0},M=[],F=0;for(let H of U){if(!H.code)continue;let K=H.url||`inline-${++F}.rip`,W=R?{...z,sourceMap:"inline",filename:K}:z;try{let O=T2(Z1(H.code,W));M.push({js:O,url:K})}catch(O){console.error(b1(O,{source:H.code,file:K,color:!1}))}}if(!globalThis.__ripApp&&i){let H=globalThis.createStash;if(H){let K={},W=i.getAttribute("data-state");if(W)try{K=JSON.parse(W)}catch(Y){console.error("Rip: invalid data-state JSON:",Y.message)}let O=H({data:K});if(globalThis.__ripApp=O,typeof window<"u")window.app=O;let Q=i.getAttribute("data-persist");if(Q!=null&&globalThis.persistStash)globalThis.persistStash(O,{local:Q==="local"})}}if(M.length>0){let H=i?.getAttribute("data-mount"),K=i?.getAttribute("data-target")||"body",W=H?`
|
|
2073
|
+
${H}.mount(${JSON.stringify(K)});
|
|
2074
|
+
`:"",O=J3(M.map((J)=>({js:J.js}))),Q=H?O.replace(/(\n\/\/# sourceMappingURL=[^\n]*\n?)?$/,W+"$1"):O,Y=!0;try{await(0,eval)(`(async()=>{
|
|
2075
|
+
${Q}
|
|
2076
|
+
})()`)}catch(J){if(Y=!1,J instanceof SyntaxError)console.error(`Rip syntax error: ${J.message}`);else console.error("Rip runtime error:",J)}if(Y)document.body.classList.add("ready")}}}let u=i?.getAttribute("data-reload");if((u!=null?u!=="false":!!_?.data?.watch)&&!globalThis.__ripLaunched){let c=!1,h=1000,A=30000,w=()=>{let D=new EventSource("/watch");D.addEventListener("connected",()=>{if(h=1000,c)location.reload();c=!0}),D.addEventListener("reload",($)=>{if($.data==="styles"){let U=Date.now(),R=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((z)=>{if(new URL(z.href).origin!==location.origin)return;let M=new URL(z.href);M.searchParams.set("_r",U),z.href=M.toString(),R++}),!R)location.reload()}else location.reload()}),D.onerror=()=>{D.close(),setTimeout(w,h),h=Math.min(h*2,A)}};w()}}async function I1(f){for(let[c,h]of Object.entries(I1.modules))if(f.includes(c))return h;let _=await fetch(f).then((c)=>{if(!c.ok)throw Error(`importRip: ${f} (${c.status})`);return c.text()}),i=T2(Z1(_)),n=`// ${f}
|
|
2077
|
+
`,u=new Blob([n+i],{type:"application/javascript"});return await import(URL.createObjectURL(u))}I1.modules={};function E3(f){try{let _=f.replace(/^/gm," "),n=Z1(`do ->
|
|
2078
|
+
${_}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");n=n.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(n);if(u&&typeof u.then==="function")return u.then((l)=>{if(l!==void 0)globalThis._=l;return l});if(u!==void 0)globalThis._=u;return u}catch(_){console.error(b1(_,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=E3,globalThis.importRip=I1,globalThis.compileToJS=Z1,globalThis.__ripExports={compile:$2,compileToJS:Z1,formatSExpr:K1,getStdlibCode:L1,VERSION:G3,BUILD_DATE:X3,getReactiveRuntime:k1,getComponentRuntime:p1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let _=()=>S3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(_));else queueMicrotask(_)});var W2={};d2(W2,{unwrapStash:()=>v1,throttle:()=>O0,setContext:()=>R0,persistStash:()=>A4,launch:()=>K0,hold:()=>H0,hasContext:()=>M0,getContext:()=>F0,delay:()=>D4,debounce:()=>W0,createStash:()=>w4,createRouter:()=>$4,createResource:()=>z0,createRenderer:()=>R4,createComponents:()=>U4});var C2,N3,a2,b3,I3,v2,B3,X1,z2,U1,R2,e1,T3,L3,C3,g2,j3,V3,V1,R1,r3,m3,a3,v3,g3,t3,s3,o3,x3,g1,F1,F2,f2,l2,u2,d3,t1,k3,M2,r1,p3,j2,e3,u4,V2,r2,f4,t2,l4,m2,G1,s2,_4,i4,m1,n4,B1,c4,j1,a1,h4;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,_)=>{if(!f)throw Error(_||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.dir(f,{depth:null,colors:!0}),f};globalThis.pj??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.pr??=(()=>{let f=/^[A-Za-z_$][A-Za-z0-9_$]*$/,_=(l,c)=>l.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(c,"g"),"\\"+c),i=(l)=>!l.includes("'")?"'"+_(l,"'")+"'":!l.includes('"')?'"'+_(l,'"').split("#{").join("\\#{")+'"':"'"+_(l,"'")+"'",n=(l)=>{if(typeof l==="symbol"){let c=Symbol.keyFor(l);return c&&f.test(c)?":"+c:i(String(l))}return f.test(l)?l:i(l)},u=(l,c)=>{if(l===null)return"null";if(l===void 0)return"undefined";let h=typeof l;if(h==="number"||h==="boolean")return String(l);if(h==="string")return i(l);if(h==="symbol"){let A=Symbol.keyFor(l);return A&&f.test(A)?":"+A:null}if(Array.isArray(l)){if(l.length===0)return"[]";let A=" ".repeat(c+1),w=" ".repeat(c);return`[
|
|
2079
|
+
`+A+l.map((D)=>u(D,c+1)??"null").join(`
|
|
2078
2080
|
`+A)+`
|
|
2079
|
-
`+R+"}"}return null};return(l)=>{let i=u(l,0);return i!==null?console.log(i):console.dir(l,{depth:null,colors:!0}),l}})();globalThis.raise??=(f,_)=>{throw _!==void 0?new f(_):Error(f)};globalThis.rand??=(f,_)=>_!==void 0?(f>_&&([f,_]=[_,f]),Math.floor(Math.random()*(_-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((_)=>setTimeout(_,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((_,c)=>f.map((n)=>n[c]));({__state:w1,__computed:S3,__effect:I1,__batch:C2}=globalThis.__rip);({setContext:_4,getContext:d3,hasContext:e3}=globalThis.__ripComponent||{});v1=function(f){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${f}' requires a browser environment`)};L2=new WeakMap;N2=new WeakMap;F2=0;f2=w1(0);$1=0;a2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};k3=function(f){return/^-?\d+$/.test(f)};j2=function(f,_){let c;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(c=f[Symbol.for("signals")].get(_),!c)c=w1(f[_]),f[Symbol.for("signals")].set(_,c);return c};Z1=function(f){return j2(f,Symbol.for("keys"))};n4=function(f){let _;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(_=L2.get(f),_)return _;return m2(f)};m2=function(f){let _,c;return c=null,_={get(n,u){let l,i,w;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return n;if(typeof u==="symbol")return Reflect.get(n,u);if(u==="length"&&Array.isArray(n))return Z1(n).value,n.length;if(!$1&&a2(u))return N1(c,u);if(l=c4(c,u),l)return l;if(i=j2(n,u),w=i.value,w!=null&&typeof w==="object")return n4(w);return w},set(n,u,l){let i,w,D,h,A,R;if(!$1&&a2(u))return L1(c,u,l),!0;if(Array.isArray(n)&&u==="length"){if(h=n.length,w=+l,n.length=w,w!==h){if(n[Symbol.for("signals")]){for(let U of(($,z)=>Array.from({length:Math.max(0,Math.abs(z-$))},(M,F)=>$+F*($<=z?1:-1)))(Math.min(h,w),Math.max(h,w)))if(R=n[Symbol.for("signals")].get(String(U)),R!=null)R.value=n[U]}Z1(n).value=++F2,f2.value++}return!0}if(D=n[u],A=l?.[Symbol.for("raw")]?l[Symbol.for("raw")]:l,A===D)return!0;if(n[u]=A,n[Symbol.for("signals")]?.has(u))n[Symbol.for("signals")].get(u).value=A;if(D===void 0&&A!==void 0)Z1(n).value=++F2;return f2.value++,!0},deleteProperty(n,u){let l;if(delete n[u],l=n[Symbol.for("signals")]?.get(u),l!=null)l.value=void 0;return Z1(n).value=++F2,f2.value++,!0},ownKeys(n){return Z1(n).value,Reflect.ownKeys(n)}},c=new Proxy(f,_),L2.set(f,c),c};G3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;m1=function(f){let _,c,n,u,l;n=("."+f).split(G3),n.shift(),l=[],c=0;while(c<n.length){if(u=n[c],_=u[0],_==="."||_==="/")l.push(u.slice(1));else if(_==="[")if(u[1]==='"'||u[1]==="'")l.push(u.slice(2,-2));else l.push(+u.slice(1,-1));c+=2}return l};j1=function(f,_){let c;if(typeof f==="number"&&f<0){if(c=V1(_),Array.isArray(c))return c.length+f}return f};N1=function(f,_){let c,n,u;return u=m1(_),c=f,$1++,(()=>{try{for(let l of u){if(c==null)return;c=c[j1(l,c)]}return c}finally{$1--}})()};L1=function(f,_,c){let n,u,l,i,w,D;return D=m1(_),i=f,$1++,(()=>{try{for(let h=0;h<D.length;h++){let A=D[h];if(u=j1(A,i),h===D.length-1)i[u]=c;else{if(i[u]==null)l=D[h+1],i[u]=typeof l==="number"||k3(l)?[]:{};i=i[u]}}return c}finally{$1--}})()};X3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};c4=function(f,_){let c,n;if(!X3[_])return;if(c=N2.get(f),!c)c={},N2.set(f,c);if(c[_])return c[_];return n=(()=>{switch(_){case"inc":return function(u,l=1){let i;return i=N1(f,u)??0,L1(f,u,i+l)};case"dec":return function(u,l=1){let i;return i=N1(f,u)??0,L1(f,u,i-l)};case"flip":return function(u){let l;return l=N1(f,u)??!1,L1(f,u,!l)};case"join":return function(u,l){return C2(function(){let i,w,D;if(w=N1(f,u),!(w!=null&&typeof w==="object"))L1(f,u,{}),w=N1(f,u);return $1++,(()=>{try{return(()=>{let h=[];for(let A in l){let R=l[A];h.push(w[A]=R)}return h})()}finally{$1--}})()})};case"keys":return function(u){let l,i,w,D;return $1++,(()=>{try{w=m1(u),l=f;for(let h of w){if(l==null)return[];l=l[j1(h,l)]}if(!(l!=null&&typeof l==="object"))return[];return D=V1(l),Z1(D).value,Object.keys(D)}finally{$1--}})()};case"has":return function(u){let l,i,w,D,h,A;return $1++,(()=>{try{if(h=m1(u),!(h.length>0))return!1;w=f;for(let R=0;R<h.length;R++){let U=h[R];if(i=j1(U,w),R===h.length-1)return A=V1(w),Z1(A).value,Object.prototype.hasOwnProperty.call(A,i);if(w==null)return!1;w=w[i]}return!1}finally{$1--}})()};case"del":return function(u){let l,i,w,D,h;return $1++,(()=>{try{if(h=m1(u),!(h.length>0))return;return w=f,(()=>{let A=[];for(let R=0;R<h.length;R++){let U=h[R];if(i=j1(U,w),R===h.length-1){delete w[i];return}if(w==null)return;A.push(w=w[i])}return A})()}finally{$1--}})()}}})(),c[_]=n,n};var i4=function(f={}){return m2(f)},V1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},U0=function(f){return f?.[Symbol.for("stash")]===!0},h4=function(f,_={}){let c,n,u,l,i,w,D,h,A,R;return v1("persistStash"),A=V1(f)||f,function(){return A[Symbol.for("persisted")]?null:void 0};A[Symbol.for("persisted")]=!0,D=_.local?localStorage:sessionStorage,h=_.key||"__rip_app";try{if(i=D.getItem(h),i){w=JSON.parse(i);for(let U in w){let $=w[U];f.data[U]=$}}}catch{}return c=function(){return(()=>{try{return D.setItem(h,JSON.stringify(V1(f.data)))}catch{return null}})()},u=I1(function(){let U;return f2.value,U=setTimeout(c,2000),function(){return clearTimeout(U)}}),window.addEventListener("beforeunload",c),n=!1,function(){if(n)return;return n=!0,u?.(),window.removeEventListener("beforeunload",c),c(),A[Symbol.for("persisted")]=!1}},R0=function(f,_={}){let c,n,u,l,i,w,D,h;if(c=w1(_.initial??null),u=w1(!1),n=w1(null),w=0,l=null,D=async function(){let A,R;return l?.abort(),l=typeof AbortController<"u"?new AbortController:null,A=++w,u.value=!0,n.value=null,await(async()=>{try{if(R=await f(l?.signal),A!==w)return;return c.value=R,R}catch(U){if(A!==w)return;if(U?.name==="AbortError")return;throw n.value=U,U}finally{if(A===w)u.value=!1}})()},i=function(){return w++,l?.abort(),l=null,u.value=!1,n.value=null},h={data:void 0,loading:void 0,error:void 0,refetch:D,dispose:i},Object.defineProperty(h,"data",{get(){return c.value}}),Object.defineProperty(h,"loading",{get(){return u.value}}),Object.defineProperty(h,"error",{get(){return n.value}}),!_.lazy)D().catch(function(){return null});return h};_2=function(f){return typeof f==="function"?f:function(){return f.value}};g1=function(f,_){return Object.defineProperty(f,"dispose",{value(){return _?.()},configurable:!0,writable:!0}),f};l2=function(f,_,c){let n;return n={read(){return f.read()}},Object.defineProperty(n,"value",{get(){return f.value},set(u){return _.value=u}}),g1(n,c)};var w4=function(f,_){let c,n,u;return n=_2(_),u=w1(!!n()),c=I1(function(){let l;if(n())return l=setTimeout(function(){return u.value=!0},f),function(){return clearTimeout(l)};else return u.value=!1}),typeof _!=="function"?l2(u,_,c):g1(u,c)},$0=function(f,_){let c,n,u;return n=_2(_),u=w1(n()),c=I1(function(){let l,i;return i=n(),l=setTimeout(function(){return u.value=i},f),function(){return clearTimeout(l)}}),typeof _!=="function"?l2(u,_,c):g1(u,c)},F0=function(f,_){let c,n,u,l;return n=_2(_),l=w1(n()),u=0,c=I1(function(){let i,w,D,h;if(h=n(),i=Date.now(),w=f-(i-u),w<=0)return l.value=h,u=i;else return D=setTimeout(function(){return l.value=n(),u=Date.now()},w),function(){return clearTimeout(D)}}),typeof _!=="function"?l2(l,_,c):g1(l,c)},M0=function(f,_){let c,n,u;return n=_2(_),u=w1(!!n()),c=I1(function(){let l;if(n())return u.value=!0;else return l=setTimeout(function(){return u.value=!1},f),function(){return clearTimeout(l)}}),typeof _!=="function"?l2(u,_,c):g1(u,c)},D4=function(){let f,_,c,n;return _=new Map,n=new Set,f=new Map,c=function(u,l){let i,w=[];for(let D of Array.from(n))w.push((()=>{try{return D(u,l)}catch(h){return console.error("[Rip] watcher error:",h)}})());return w},{read(u){return _.get(u)},write(u,l){let i;return i=!_.has(u),_.set(u,l),f.delete(u),c(i?"create":"change",u)},del(u){return _.delete(u),f.delete(u),c("delete",u)},exists(u){return _.has(u)},size(){return _.size},list(u=""){let l,i,w,D;D=[],i=u?u+"/":"";for(let[h]of _)if(h.startsWith(i)){if(w=h.slice(i.length),w.includes("/"))continue;D.push(h)}return D},listAll(u=""){let l,i,w;w=[],i=u?u+"/":"";for(let[D]of _)if(D.startsWith(i))w.push(D);return w},load(u){let l,i,w=[];for(let D in u){let h=u[D];_.set(D,h),w.push(f.delete(D))}return w},watch(u){let l;return n.add(u),l=!1,function(){if(l)return;return l=!0,n.delete(u)}},getCompiled(u){return f.get(u)},setCompiled(u,l){return f.set(u,l)}}};x3=function(f){let _;if(_=f.replace(/\.rip$/,""),_=_.replace(/\[\.\.\.(\w+)\]/g,"*$1"),_=_.replace(/\[(\w+)\]/g,":$1"),_==="index")return"/";return _=_.replace(/\/index$/,""),"/"+_};f4=function(f){let _,c,n;return c=[],_=f.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),n=_.replace(/\*(\w+)/g,function(u,l){return c.push(l),"(.*)"}).replace(/:(\w+)/g,function(u,l){return c.push(l),"([^/]+)"}),{regex:new RegExp("^"+n+"$"),names:c}};u4=function(f,_){let c,n,u,l,i;for(let w of _)if(n=f.match(w.regex.regex),n){l={};for(let D=0;D<w.regex.names.length;D++){let h=w.regex.names[D];l[h]=decodeURIComponent(n[D+1])}return{route:w,params:l}}return null};M2=function(f,_="components"){let c,n,u,l,i,w,D,h,A,R;h=[],l=new Map,c=f.listAll(_);for(let U of c){if(D=U.slice(_.length+1),!D.endsWith(".rip"))continue;if(i=D.split("/").pop(),i==="_layout.rip"){n=D==="_layout.rip"?"":D.slice(0,-12),l.set(n,U);continue}if(i.startsWith("_"))continue;if(A=D.split("/"),A.length>1&&A.some(function($,z){return z<A.length-1&&$.startsWith("_")}))continue;R=x3(D),w=f4(R),h.push({pattern:R,regex:w,file:U,rel:D})}return h.sort(function(U,$){let z,M,F,H;if(M=(U.pattern.match(/:/g)||[]).length,H=($.pattern.match(/:/g)||[]).length,z=U.pattern.includes("*")?1:0,F=$.pattern.includes("*")?1:0,z!==F)return z-F;if(M!==H)return M-H;return U.pattern.localeCompare($.pattern)}),{routes:h,layouts:l}};p3=function(f,_,c){let n,u,l,i,w,D;if(n=[],i=f.slice(_.length+1),D=i.split("/"),u="",c.has(""))n.push(c.get(""));for(let h=0;h<D.length;h++){let A=D[h];if(h===D.length-1)break;if(u=u?u+"/"+A:A,c.has(u))n.push(c.get(u))}return n};var A4=function(f,_={}){let c,n,u,l,i,w,D,h,A,R,U,$,z,M,F,H,Q,O,W,K,Y,q,y,Z;if(v1("createRouter"),W=_.root||"components",U=_.base||"",$=_.hash||!1,F=_.onError||null,Y=function(J){if(!U)return J;if(J===U)return"/";if(J.startsWith(U+"/"))return J.slice(U.length);return J},R=function(J){return U?U+J:J},Q=function(){let J;if($){if(J=location.hash.slice(1),!J)return"/";return J[0]==="/"?J:"/"+J}else return location.pathname+location.search+location.hash},Z=function(J){return $?J==="/"?location.pathname:"#"+J.slice(1):R(J)},D=w1(Y($?Q():location.pathname)),w=w1({}),A=w1(null),u=w1([]),h=w1({}),n=w1(""),l=w4(100,w1(!1)),i=w1(D.value),q=M2(f,W),z=new Set,y=f.watch(function(J,X){if(!X.startsWith(W+"/"))return;return q=M2(f,W)}),O=function(J){let X,N,S,I,o,T,G,e;if(T=J.split("?")[0].split("#")[0],I=Y(T),I=I[0]==="/"?I:"/"+I,o=J.split("?")[1]?.split("#")[0]||"",S=J.includes("#")?J.split("#")[1]:"",G=u4(I,q.routes),G){if(N=I,o)N+=`?${o}`;if(S)N+=`#${S}`;C2(function(){return D.value=I,w.value=G.params,A.value=G.route,u.value=p3(G.route.file,W,q.layouts),h.value=Object.fromEntries(new URLSearchParams(o)),n.value=S,i.value=N}),e=Array.from(z);for(let P of e)try{P(K.current)}catch(E){console.error("[Rip] router onNavigate callback error:",E)}return!0}if(F)F({status:404,path:I});return!1},H=function(){return O(Q())},typeof window<"u")window.addEventListener("popstate",H);if(M=function(J){let X,N,S;if(J.defaultPrevented)return;if(J.button!==0||J.metaKey||J.ctrlKey||J.shiftKey||J.altKey)return;N=J.target;while(N&&N.tagName!=="A")N=N.parentElement;if(!N?.href)return;if(S=new URL(N.href,location.origin),S.origin!==location.origin)return;if(N.target==="_blank"||N.hasAttribute("data-external"))return;if(N.hasAttribute("download"))return;if(N.hasAttribute("data-router-ignore"))return;if(U&&!$){if(!(S.pathname===U||S.pathname.startsWith(U+"/")))return}return J.preventDefault(),X=$&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,K.push(X)},typeof document<"u")document.addEventListener("click",M);return K={push(J){return O(J)?history.pushState(null,"",Z(i.read())):void 0},replace(J){return O(J)?history.replaceState(null,"",Z(i.read())):void 0},back(){return history.back()},forward(){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(J){return z.add(J),function(){return z.delete(J)}},rebuild(){return q=M2(f,W)},routes:void 0,init(){return O(Q()),K},destroy(){if(typeof window<"u")window.removeEventListener("popstate",H);if(typeof document<"u")document.removeEventListener("click",M);return y?.(),y=null,l?.dispose?.(),z.clear()}},c=S3(function(){return{path:D.value,params:w.value,route:A.value,layouts:u.value,query:h.value,hash:n.value}}),Object.defineProperty(K,"current",{get(){return c.value}}),Object.defineProperty(K,"path",{get(){return D.value}}),Object.defineProperty(K,"params",{get(){return w.value}}),Object.defineProperty(K,"route",{get(){return A.value}}),Object.defineProperty(K,"layouts",{get(){return u.value}}),Object.defineProperty(K,"query",{get(){return h.value}}),Object.defineProperty(K,"hash",{get(){return n.value}}),Object.defineProperty(K,"navigating",{get(){return l.value},set(J){return l.value=J}}),Object.defineProperty(K,"routes",{get(){return q.routes}}),K};v3=function(f,_){let c,n;if(f.length!==_.length)return!1;for(let u=0;u<f.length;u++)if(f[u]!==_[u])return!1;return!0};T2=function(f){let _,c;if(typeof f.default==="function"&&(f.default.prototype?.mount||f.default.prototype?._create))return f.default;for(let n in f){let u=f[n];if(typeof u==="function"&&(u.prototype?.mount||u.prototype?._create))return u}return typeof f.default==="function"?f.default:void 0};B2=function(f){let _,c,n;c={};for(let u in f){let l=f[u];if(typeof l==="function"&&(l.prototype?.mount||l.prototype?._create))c[u]=l}return c};o3=function(f){let _;return _=f.split("/").pop().replace(/\.rip$/,""),_.replace(/(^|[-_])([a-z])/g,function(c,n,u){return u.toUpperCase()})};s3=function(f,_="components"){let c,n,u,l;n={};for(let i of f.listAll(_)){if(!i.endsWith(".rip"))continue;if(c=i.split("/").pop(),c.startsWith("_"))continue;if(u=o3(i),n[u])console.warn(`[Rip] Component name collision: ${u} (${n[u]} vs ${i})`);n[u]=i}return n};l4=function(f,_,c){let n,u,l,i;if(u=f.replace(/^(\.\.\/|\.\/)+/,""),_){l=_.split("/"),l.pop();for(let w of f.split("/"))if(w==="..")l.pop();else if(w!==".")l.push(w);if(n=l.join("/"),c.exists(n))return n}if(c.exists(`components/_lib/${u}`))return`components/_lib/${u}`;if(c.exists(`components/${u}`))return`components/${u}`;return null};I2=function(f){let _,c,n,u,l,i,w,D,h;if(!f)return[];if(D=f.trim(),!D)return[];if(l=[],_=D.indexOf("{"),_>=0){if(c=D.lastIndexOf("}"),c<0)return l;n=D.slice(_+1,c);for(let A of n.split(",")){if(h=A.trim(),!h)continue;l.push(h.split(/\s+as\s+/).pop().trim())}D=D.slice(0,_).replace(/,\s*$/,"").trim()}for(let A of D.split(",")){if(i=A.trim(),!i)continue;if(/^\*\s+as\s+/.test(i))l.push(i.replace(/^\*\s+as\s+/,"").trim());else l.push(i)}return l};r1=async function(f,_,c=null,n=null,u=null){let l,i,w,D,h,A,R,U,$,z,M,F,H,Q,O,W,K,Y,q,y,Z,J,X,N,S,I,o,T,G,e,P,E,a,d,k,n1,B,g;if(c&&n){if(h=c.getCompiled(n),h)return h}if(u&&n)u.compiling??={},u.compiling[n]=!0;return await(async()=>{try{if(R=globalThis?.__ripDebug?.enabled&&n,P=0,W=R?_(f,{sourceMap:"inline",filename:n}):_(f),u){if(O=new Set,c){d=/^(\s*import\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,y=Array.from(W.matchAll(d));for(let j=y.length-1;j>=0;j--){let s=y[j];if([H,G,i,k,T]=s,n1=l4(k,n,c),n1===n)continue;if(!n1){if(J=`[Rip] Could not resolve import: ${k}`,n)J+=` (from ${n})`;console.warn(J);continue}if(!u.blobUrls?.[n1]){if(u.compiling?.[n1])continue;if(z=c.read(n1),z)await r1(z,_,c,n1,u)}if(D=u.blobUrls?.[n1],D){a=`${G}${D}${T}`,W=W.slice(0,s.index)+a+W.slice(s.index+H.length);for(let f1 of I2(i))O.add(f1)}}}l=/^\s*import\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let j of W.matchAll(l))for(let s of I2(j[1]))O.add(s);I={};for(let j in u.map){let s=u.map[j];if(O.has(j))continue;if(s!==n&&W.includes(`new ${j}(`)){if(!u.classes[j]){if(z=c.read(s),z){U=await r1(z,_,c,s,u),F=B2(U);for(let f1 in F){let c1=F[f1];u.classes[f1]=c1}}}if(u.classes[j])I[j]=!0}}if(S=Object.keys(I),S.length>0)Y=JSON.stringify(u.key),e=`const {${S.join(", ")}} = globalThis[${Y}];
|
|
2080
|
-
|
|
2081
|
-
`:"",Q)P+=1;if(M=Q+W,R&&P>0){if(o=globalThis?.__ripDebug?.offsetSourceMap,o)M=o(M,P)}if(w=new Blob([M],{type:"application/javascript"}),B=URL.createObjectURL(w),E=null,u&&n){if(u.blobUrls??={},E=u.blobUrls[n],E&&E!==B)try{URL.revokeObjectURL(E)}catch{}u.blobUrls[n]=B}if(Z=await import(B),A=!0,u){F=B2(Z);for(let j in F){let s=F[j];u.classes[j]=s}}if(c&&n)c.setCompiled(n,Z);return Z}finally{if(u&&n){if(u.compiling)delete u.compiling[n]}if(!A&&B&&u&&n){try{URL.revokeObjectURL(B)}catch{}if(u.blobUrls?.[n]===B)delete u.blobUrls[n]}}})()};var U4=function(f={}){let _,c,n,u,l,i,w,D,h,A,R,U,$,z,M,F,H,Q,O,W,K,Y,q,y,Z;if(v1("createRenderer"),{router:O,app:_,components:n,resolver:Q,compile:c,target:Y,onError:F}=f,u=typeof Y==="string"?document.querySelector(Y):Y||document.getElementById("app"),!u)u=document.createElement("div"),u.id="app",document.body.appendChild(u);return l=null,h=null,w=null,D=null,i=[],$=[],z=u,R=0,A=null,Z=null,U=function(J){let X,N;if(!Q)return;if(Q.blobUrls?.[J]){try{URL.revokeObjectURL(Q.blobUrls[J])}catch{}delete Q.blobUrls[J]}return Q.classes&&Q.map?(()=>{let S=[];for(let I in Q.map){let o=Q.map[I];S.push(o===J?delete Q.classes[I]:void 0)}return S})():void 0},y=function(){if(l){try{l.unmount?.({removeDOM:!1})}catch(J){console.error("[Rip] page unmount error:",J)}return l=null,h=null}},q=function(){let J;y();for(let X=$.length-1;X>=0;X--){let N=$[X];try{N.unmount?.({removeDOM:!0})}catch(S){console.error("[Rip] layout unmount error:",S)}}return $=[],z=u,w=null,D=null,i=[]},W=function(J,X){let N,S;if(!(J&&X))return!1;if(Object.keys(J).length!==Object.keys(X).length)return!1;for(let I in J){let o=J[I];if(X[I]!==o)return!1}return!0},M=async function(J,X=!1){let N,S,I,o,T,G,e,P,E,a,d,k,n1,B,g,j,s,f1,c1,m,x,_1,p,b,V,L,r,l1,v,u1,A1;if({route:r,params:p,layouts:k,query:L}=J,!r)return;if(l1=r.file===h&&W(p,w),l1&&!X){if(!W(L,D)){if(D=L,l?.load)try{await l.load(p,L)}catch(h1){if(console.error(`Renderer: error in query-only load for ${r.file}:`,h1),F)F({status:500,message:h1.message,error:h1})}}return}return e=++R,O.navigating=!0,await(async()=>{try{if(u1=n.read(r.file),!u1){if(F)F({status:404,message:`File not found: ${r.file}`});O.navigating=!1;return}if(j=await r1(u1,c,n,r.file,Q),e!==R){O.navigating=!1;return}if(N=T2(j),!N){if(F)F({status:500,message:`No component found in ${r.file}`});O.navigating=!1;return}if(g=!v3(k,i),f1=l?._target,g)q();else y();if(w=p,D=L,s=g?u:z,g&&k.length>0){u.innerHTML="",s=u,G=globalThis.__ripComponent?.__pushComponent,o=globalThis.__ripComponent?.__popComponent,c1=null;for(let h1 of k){if(B=n.read(h1),!B)continue;if(n1=await r1(B,c,n,h1,Q),e!==R){O.navigating=!1;return}if(S=T2(n1),!S)continue;V=G?.(c1);try{E=new S({app:_,params:p,router:O})}finally{o?.(V)}if(E.beforeMount){I=G?.(E);try{E.beforeMount()}finally{o?.(I)}}A1=document.createElement("div"),A1.setAttribute("data-layout",h1),s.appendChild(A1),E.mount(A1),$.push(E),c1=E,v=A1.querySelector("#content")||A1,s=v}i=[...k],z=s}else if(g)u.innerHTML="",i=[],z=u;_1=document.createElement("div"),_1.setAttribute("data-component",r.file),s.appendChild(_1),G=globalThis.__ripComponent?.__pushComponent,o=globalThis.__ripComponent?.__popComponent,m=$[$.length-1]||null,x=G?.(m);try{a=new N({app:_,params:p,query:L,router:O})}finally{o?.(x)}if(a.beforeMount){T=G?.(a);try{a.beforeMount()}finally{o?.(T)}}if(a.mount(_1),l=a,h=r.file,a.load)await a.load(p,L);return f1?.remove(),O.navigating=!1}catch(h1){if(O.navigating=!1,console.error(`Renderer: error mounting ${r.file}:`,h1),F)F({status:500,message:h1.message,error:h1});P=!1;for(let s1=$.length-1;s1>=0;s1--){let q1=$[s1];if(q1.onError)try{q1.onError(h1),P=!0;break}catch(t1){console.error("Renderer: error boundary failed:",t1)}}return(()=>{if(!P)return q(),b=document.createElement("pre"),b.style.cssText="color:red;padding:1em",b.textContent=h1.stack||h1.message,u.innerHTML="",u.appendChild(b)})()}})()},K=!1,H={start(){if(K)return H;return K=!0,A=I1(function(){let J;return J=O.current,J.route?M(J):void 0}),Z=n?.watch(function(J,X){return(Array.isArray(["change","delete"])?["change","delete"].includes(J):(J in["change","delete"]))?U(X):void 0}),O.init(),H},stop(){let J,X;if(!K)return;if(K=!1,q(),A)A(),A=null;if(Z?.(),Z=null,Q?.blobUrls){for(let N in Q.blobUrls){if(!Object.hasOwn(Q.blobUrls,N))continue;let S=Q.blobUrls[N];try{URL.revokeObjectURL(S)}catch{}}Q.blobUrls={}}return u.innerHTML=""},remount(J=!1){let X,N;return N=typeof J==="object"?!!J.force:!!J,X=O.current,X.route?M(X,N):void 0}},H};t3=function(f){let _,c,n,u,l,i;return v1("connectWatch"),l=1000,u=30000,_=!1,n=null,i=null,c=function(){if(_)return;return n=new EventSource(f),n.addEventListener("connected",function(){return l=1000,console.log("[Rip] Hot reload connected")}),n.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),n.addEventListener("css",function(){let w,D,h=[];for(let A of document.querySelectorAll('link[rel="stylesheet"]'))w=new URL(A.href),w.searchParams.set("_t",Date.now()),A.href=w.toString();return h}),n.onerror=function(){if(n.close(),n=null,_)return;return i=setTimeout(c,l),l=Math.min(l*2,u)}},c(),function(){if(_)return;if(_=!0,i)clearTimeout(i),i=null;return n?.close(),n=null}};var z0=async function(f={}){let _,c,n,u,l,i,w,D,h,A,R,U,$,z,M,F,H,Q,O,W,K,Y,q,y,Z,J,X,N,S;if(v1("launch"),c=(f.base||"").replace(/\/+$/,""),X=f.target||"#app",w=f.compile||null,F=f.persist||!1,$=f.hash||!1,!w)w=globalThis?.compileToJS||null;if(!document.querySelector(X))A=document.createElement("div"),A.id=X.replace(/^#/,""),document.body.prepend(A);if(f.bundle)u=f.bundle;else if(f.bundleUrl){if(z={},U=`__rip_etag_${f.bundleUrl}`,l=sessionStorage.getItem(U),l)z["If-None-Match"]=l;if(O=await fetch(f.bundleUrl,{headers:z}),O.status===304)u=JSON.parse(sessionStorage.getItem(`${U}_data`));else if(O.ok){if(u=await O.json(),R=O.headers.get("etag"),R)sessionStorage.setItem(U,R),sessionStorage.setItem(`${U}_data`,JSON.stringify(u))}else throw Error(`launch: ${f.bundleUrl} (${O.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=i4({components:{},routes:{},data:{}}),globalThis.__ripApp=_,n=D4(),u.components)n.load(u.components);if(i=`__rip_${c.replace(/\//g,"_")||"app"}`,W={map:s3(n),classes:{},key:i},globalThis[i]=W.classes,Z=null,y="components/_lib/stash.rip",n.exists(y)){if(J=n.read(y),J)try{if(q=await r1(J,w,n,y,W),q?.stash)Z=q.stash}catch(I){console.error(`[Rip] Failed to load app/stash.rip: ${I.message}`,I)}}if(Z&&u.data)for(let I in u.data){let o=u.data[I];Z[I]=o}if(Y=Z??u.data,Y)_.data=Y;if(u.routes)_.routes=u.routes;if(H=null,F)H=h4(_,{local:F==="local",key:`__rip_${c}`});if(_.data.title)document.title=_.data.title;if(K=A4(n,{root:"components",base:c,hash:$,onError(I){return console.error(`[Rip] Error ${I.status}: ${I.message||I.path}`)}}),Q=U4({router:K,app:_,components:n,resolver:W,compile:w,target:X,onError(I){return console.error(`[Rip] ${I.message}`,I.error)}}),Q.start(),S=null,u.data?.watch)S=t3(`${c}/watch`);return h=!1,D=function(){if(h)return;if(h=!0,S?.(),Q.stop(),K.destroy(),H?.(),delete globalThis[i],delete globalThis.__ripApp,delete globalThis.__ripLaunched,window.app===_)delete window.app;return window.__RIP__?.app===_?delete window.__RIP__:void 0},window.app=_,window.__RIP__={app:_,components:n,router:K,renderer:Q,resolver:W,destroy:D,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:_,components:n,router:K,renderer:Q,destroy:D}};R1=function(f,_){if(!_)return;return f.preventDefault(),f.stopPropagation(),_()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;I3=function(f,_){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return R1(f,_.next);case"ArrowUp":return R1(f,_.prev);case"Home":case"PageUp":return R1(f,_.first);case"End":case"PageDown":return R1(f,_.last);case"Enter":case" ":return R1(f,_.select);case"Escape":return R1(f,_.dismiss);case"Tab":return _.tab?.();default:return f.key.length===1?_.char?.(f.key):void 0}})()};T3=function(f,_,c,n=[],u=null){let l,i,w,D,h;if(i=function(A){return typeof A==="function"?A():A},h=i(_),h&&h.__ariaPopupDismiss)h.__ariaPopupDismiss(),h.__ariaPopupDismiss=null;if(!(f&&h))return;return w=(A)=>{return![h,...n.map(i)].some(function(R){return R?.contains(A.target)})?c():void 0},D=(A)=>{if(h?.contains(A.target))return;return u?u():c()},document.addEventListener("mousedown",w),window.addEventListener("scroll",D,!0),l=function(){return document.removeEventListener("mousedown",w),window.removeEventListener("scroll",D,!0)},h.__ariaPopupDismiss=l,l};a3=function(f=250){let _;return _=0,{block(c=f){return _=Date.now()+c},canOpen(){return Date.now()>=_}}};E3=function(f,_,c,n=null){let u,l,i,w,D,h,A,R,U,$,z;if(w=function(M){return typeof M==="function"?M():M},u=function(){let M,F;if(M=document.activeElement,M&&M!==document.body)return M;if(F=globalThis.__ariaLastFocusedEl,F?.isConnected!==!1)return F;return null},i=w(_),!i)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(A=null,z=function(M){if(M){i.hidden=!1;try{i.inert=!1}catch{}return i.removeAttribute("aria-hidden")}else{try{i.inert=!0}catch{}return i.setAttribute("aria-hidden","true"),i.hidden=!0}},R=function(){let M,F;if(F=A,A=null,!F?.focus)return;return M=function(H=6){if(F.isConnected===!1)return;try{F.focus({preventScroll:!0})}catch{F.focus()}if(document.activeElement===F||H<=1)return;return setTimeout(function(){return M(H-1)},16)},requestAnimationFrame(function(){return M()})},i.__ariaBindPopover)i.removeEventListener("toggle",i.__ariaBindPopover),i.__ariaBindPopover=null;if(D=function(M){let F;if(F=M.newState==="open",F)A=w(n)||u(),z(!0);else z(!1),R();return c?.(F)},i.addEventListener("toggle",D),i.__ariaBindPopover=D,U=i.matches(":popover-open"),l=!!f,U!==l){if($=w(n),l)A=$||u(),z(!0);h=$&&l?{force:l,source:$}:{force:l};try{i.togglePopover(h)}catch{}}else z(l);return function(){return i.removeEventListener("toggle",D),i.__ariaBindPopover===D?i.__ariaBindPopover=null:void 0}};b3=function(f,_,c,n=!0){let u,l,i,w,D,h,A,R,U,$;if(i=function(z){return typeof z==="function"?z():z},u=function(){let z,M;if(z=document.activeElement,z&&z!==document.body)return z;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},l=i(_),!l?.showModal)return;if(R=null,$=function(z){if(z){l.hidden=!1;try{l.inert=!1}catch{}return l.removeAttribute("aria-hidden")}else{try{l.inert=!0}catch{}return l.setAttribute("aria-hidden","true"),l.hidden=!0}},U=function(){let z,M;if(M=R,R=null,!M?.focus)return;return z=function(F=6){if(M.isConnected===!1)return;try{M.focus({preventScroll:!0})}catch{M.focus()}if(document.activeElement===M||F<=1)return;return setTimeout(function(){return z(F-1)},16)},requestAnimationFrame(function(){return z()})},l.__ariaBindDialog)[h,A]=l.__ariaBindDialog,l.removeEventListener("cancel",h),l.removeEventListener("close",A),l.__ariaBindDialog=null;if(w=function(z){if(!n){z.preventDefault();return}return c?.(!1)},D=function(){return c?.(!1),$(!1),U()},l.addEventListener("cancel",w),l.addEventListener("close",D),l.__ariaBindDialog=[w,D],f&&!l.open){if(!R)R=u();$(!0);try{l.showModal()}catch{}}else if(!f&&l.open)l.close();else $(!!f);return function(){return l.removeEventListener("cancel",w),l.removeEventListener("close",D),l.__ariaBindDialog?.[0]===w?l.__ariaBindDialog=null:void 0}};j3=function(f,_,c="vertical"){let n,u;if(f.isComposing)return;return u=c!=="horizontal",n=c!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?R1(f,_.next):void 0;case"ArrowUp":return u?R1(f,_.prev):void 0;case"ArrowRight":return n?R1(f,_.next):void 0;case"ArrowLeft":return n?R1(f,_.prev):void 0;case"Home":case"PageUp":return R1(f,_.first);case"End":case"PageDown":return R1(f,_.last);case"Enter":case" ":return R1(f,_.select);case"Escape":return R1(f,_.dismiss);default:return f.key.length===1?_.char?.(f.key):void 0}})()};C3=function(f,_,c=4,n=!0){let u,l;if(!(f&&_))return;if(l=f.getBoundingClientRect(),_.style.position="fixed",_.style.left=`${l.left}px`,_.style.top=`${l.bottom+c}px`,_.style.minWidth=`${l.width}px`,u=_.getBoundingClientRect(),u.bottom>window.innerHeight)_.style.top=`${l.top-u.height-c}px`;if(u.right>window.innerWidth)_.style.left=`${window.innerWidth-u.width-c}px`;return n?_.style.visibility="visible":void 0};var O0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';m3=function(f){let _;return _=function(c){let n,u,l;if(c.key!=="Tab")return;if(l=Array.from(f.querySelectorAll(O0)).filter(function(i){return i.offsetParent!==null}),!l.length)return;return n=l[0],u=l[l.length-1],c.shiftKey?document.activeElement===n?(c.preventDefault(),u.focus()):void 0:document.activeElement===u?(c.preventDefault(),n.focus()):void 0},f.addEventListener("keydown",_),function(){return f.removeEventListener("keydown",_)}};g3=function(f,_){let c,n;if(!f)return;if(n=f.querySelector("h1,h2,h3,h4,h5,h6"),n)n.id??=`${_}-title`,f.setAttribute("aria-labelledby",n.id);if(c=f.querySelector("p"),c)return c.id??=`${_}-desc`,f.setAttribute("aria-describedby",c.id)};C1=[];B3=function(f){let _;if(_=window.scrollY,C1.push({instance:f,scrollY:_}),C1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${_}px`,document.body.style.width="100%"};V3=function(f){let _,c;if(_=C1.findIndex(function(n){return n.instance===f}),_<0)return;if({scrollY:c}=C1.splice(_,1)[0],!C1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,c)};$2=!1;u2=!1;r2=function(){let f,_,c;if($2)return u2;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return f=document.createElement("div"),_=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",_.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(_),c=_.getBoundingClientRect(),f.remove(),_.remove(),u2=c.top>50,$2=!0,u2}catch{return $2=!0,u2=!1}})()};P3=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","positionAnchor","positionArea","positionTry","positionVisibility"];r3=function(f){let _,c=[];for(let n of P3)c.push(f.style[n]="");return c};L3=function(f,_,c={}){let n,u,l,i,w,D,h,A;if(!(f&&_))return;if(w=c.placement??"bottom start",i=c.offset??4,u=c.matchWidth??!1,r3(_),r2()){if(l=`--anchor-${_.id||Math.random().toString(36).slice(2,8)}`,D=_.__ariaPrevTrigger,D&&D!==f)try{D.style.anchorName=""}catch{}switch(_.__ariaPrevTrigger=f,f.style.anchorName=l,_.style.positionAnchor=l,_.style.position="fixed",_.style.inset="auto",_.style.margin="0",_.style.positionArea=w,_.style.positionTry="flip-block, flip-inline, flip-block flip-inline",_.style.positionVisibility="anchors-visible",[A]=w.split(" "),A){case"bottom":_.style.marginTop=`${i}px`;break;case"top":_.style.marginBottom=`${i}px`;break;case"left":_.style.marginRight=`${i}px`;break;case"right":_.style.marginLeft=`${i}px`;break}return u?_.style.minWidth="anchor-size(width)":void 0}else{switch(h=f.getBoundingClientRect(),_.style.position="fixed",_.style.inset="auto",_.style.margin="0",[A,n]=w.split(" "),n??="start",A){case"bottom":_.style.top=`${h.bottom+i}px`;break;case"top":_.style.bottom=`${window.innerHeight-h.top+i}px`;break;case"left":_.style.right=`${window.innerWidth-h.left+i}px`;break;case"right":_.style.left=`${h.right+i}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(A):(A in["bottom","top"]))switch(n){case"start":_.style.left=`${h.left}px`;break;case"center":_.style.left=`${h.left+h.width/2}px`,_.style.transform="translateX(-50%)";break;case"end":_.style.right=`${window.innerWidth-h.right}px`;break}else switch(n){case"start":_.style.top=`${h.top}px`;break;case"center":_.style.top=`${h.top+h.height/2}px`,_.style.transform="translateY(-50%)";break;case"end":_.style.bottom=`${window.innerHeight-h.bottom}px`;break}return u?_.style.minWidth=`${h.width}px`:void 0}};N3=function(...f){return function(){let _,c=[];for(let n of f)c.push((()=>{try{return n?.()}catch{return null}})());return c}};globalThis.__aria??={listNav:I3,rovingNav:j3,popupDismiss:T3,popupGuard:a3,bindPopover:E3,bindDialog:b3,positionBelow:C3,trapFocus:m3,wireAria:g3,lockScroll:B3,unlockScroll:V3,position:L3,hasAnchor:r2,combine:N3};globalThis.ARIA??=globalThis.__aria;E1.modules["app.rip"]=z2;for(let[f,_]of Object.entries(z2))if(typeof _==="function")globalThis[f]=_;})();
|
|
2081
|
+
`+w+"]"}if(h==="object"){let A=Object.getPrototypeOf(l);if(A!==Object.prototype&&A!==null)return null;let w=Object.keys(l);if(w.length===0)return"{}";let D=" ".repeat(c+1),$=" ".repeat(c);return`{
|
|
2082
|
+
`+D+w.map((U)=>n(U)+": "+(u(l[U],c+1)??"null")).join(`
|
|
2083
|
+
`+D)+`
|
|
2084
|
+
`+$+"}"}return null};return(l)=>{let c=u(l,0);return c!==null?console.log(c):console.dir(l,{depth:null,colors:!0}),l}})();globalThis.raise??=(f,_)=>{throw _!==void 0?new f(_):Error(f)};globalThis.rand??=(f,_)=>_!==void 0?(f>_&&([f,_]=[_,f]),Math.floor(Math.random()*(_-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((_)=>setTimeout(_,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((_,i)=>f.map((n)=>n[i]));({__state:U1,__computed:B3,__effect:X1,__batch:v2}=globalThis.__rip);z2=globalThis.__ripComponent||{};var R0=function(f,_){return z2.setContext(f,_)},F0=function(f){return z2.getContext(f)},M0=function(f){return z2.hasContext(f)};t1=function(f){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${f}' requires a browser environment`)};a2=new WeakMap;C2=new WeakMap;F2=0;u2=U1(0);F1=0;m2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};l4=function(f){return/^-?\d+$/.test(f)};t2=function(f,_){let i;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(i=f[Symbol.for("signals")].get(_),!i)i=U1(f[_]),f[Symbol.for("signals")].set(_,i);return i};G1=function(f){return t2(f,Symbol.for("keys"))};h4=function(f){let _;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(_=a2.get(f),_)return _;return s2(f)};s2=function(f){let _,i;return i=null,_={get(n,u){let l,c,h;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return n;if(typeof u==="symbol")return Reflect.get(n,u);if(u==="length"&&Array.isArray(n))return G1(n).value,n.length;if(!F1&&m2(u))return B1(i,u);if(l=c4(i,u),l)return l;if(c=t2(n,u),h=c.value,h!=null&&typeof h==="object")return h4(h);return h},set(n,u,l){let c,h,A,w,D;if(!F1&&m2(u))return j1(i,u,l),!0;if(Array.isArray(n)&&u==="length"){if(A=n.length,c=+l,n.length=c,c!==A){if(n[Symbol.for("signals")]){for(let $ of((U,R)=>Array.from({length:Math.max(0,Math.abs(R-U))},(z,M)=>U+M*(U<=R?1:-1)))(Math.min(A,c),Math.max(A,c)))if(D=n[Symbol.for("signals")].get(String($)),D!=null)D.value=n[$]}G1(n).value=++F2,u2.value++}return!0}if(h=n[u],w=l?.[Symbol.for("raw")]?l[Symbol.for("raw")]:l,w===h)return!0;if(n[u]=w,n[Symbol.for("signals")]?.has(u))n[Symbol.for("signals")].get(u).value=w;if(h===void 0&&w!==void 0)G1(n).value=++F2;return u2.value++,!0},deleteProperty(n,u){let l;if(delete n[u],l=n[Symbol.for("signals")]?.get(u),l!=null)l.value=void 0;return G1(n).value=++F2,u2.value++,!0},ownKeys(n){return G1(n).value,Reflect.ownKeys(n)}},i=new Proxy(f,_),a2.set(f,i),i};N3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;a1=function(f){let _,i,n,u,l;n=("."+f).split(N3),n.shift(),l=[],i=0;while(i<n.length){if(u=n[i],_=u[0],_==="."||_==="/")l.push(u.slice(1));else if(_==="[")if(u[1]==='"'||u[1]==="'")l.push(u.slice(2,-2));else l.push(+u.slice(1,-1));i+=2}return l};m1=function(f,_){let i;if(typeof f==="number"&&f<0){if(i=v1(_),Array.isArray(i))return i.length+f}return f};B1=function(f,_){let i,n;return n=a1(_),i=f,F1++,(()=>{try{for(let u of n){if(i==null)return;i=i[m1(u,i)]}return i}finally{F1--}})()};j1=function(f,_,i){let n,u,l,c;return c=a1(_),l=f,F1++,(()=>{try{for(let h=0;h<c.length;h++){let A=c[h];if(n=m1(A,l),h===c.length-1)l[n]=i;else{if(l[n]==null)u=c[h+1],l[n]=typeof u==="number"||l4(u)?[]:{};l=l[n]}}return i}finally{F1--}})()};b3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};c4=function(f,_){let i,n;if(!b3[_])return;if(i=C2.get(f),!i)i={},C2.set(f,i);if(i[_])return i[_];return n=(()=>{switch(_){case"inc":return function(u,l=1){let c;return c=B1(f,u)??0,j1(f,u,c+l)};case"dec":return function(u,l=1){let c;return c=B1(f,u)??0,j1(f,u,c-l)};case"flip":return function(u){let l;return l=B1(f,u)??!1,j1(f,u,!l)};case"join":return function(u,l){return v2(function(){let c;if(c=B1(f,u),!(c!=null&&typeof c==="object"))j1(f,u,{}),c=B1(f,u);return F1++,(()=>{try{return(()=>{let h=[];for(let A in l){let w=l[A];h.push(c[A]=w)}return h})()}finally{F1--}})()})};case"keys":return function(u){let l,c,h;return F1++,(()=>{try{c=a1(u),l=f;for(let A of c){if(l==null)return[];l=l[m1(A,l)]}if(!(l!=null&&typeof l==="object"))return[];return h=v1(l),G1(h).value,Object.keys(h)}finally{F1--}})()};case"has":return function(u){let l,c,h,A;return F1++,(()=>{try{if(h=a1(u),!(h.length>0))return!1;c=f;for(let w=0;w<h.length;w++){let D=h[w];if(l=m1(D,c),w===h.length-1)return A=v1(c),G1(A).value,Object.prototype.hasOwnProperty.call(A,l);if(c==null)return!1;c=c[l]}return!1}finally{F1--}})()};case"del":return function(u){let l,c,h;return F1++,(()=>{try{if(h=a1(u),!(h.length>0))return;return c=f,(()=>{let A=[];for(let w=0;w<h.length;w++){let D=h[w];if(l=m1(D,c),w===h.length-1){delete c[l];return}if(c==null)return;A.push(c=c[l])}return A})()}finally{F1--}})()}}})(),i[_]=n,n};function w4(f={}){return s2(f)}function v1(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f}function A4(f,_={}){let i,n,u,l,c,h,A,w;return t1("persistStash"),w=v1(f)||f,function(){return w[Symbol.for("persisted")]?null:void 0};w[Symbol.for("persisted")]=!0,h=_.local?localStorage:sessionStorage,A=_.key||"__rip_app";try{if(l=h.getItem(A),l){c=JSON.parse(l);for(let D in c){let $=c[D];f.data[D]=$}}}catch{}return i=function(){return(()=>{try{return h.setItem(A,JSON.stringify(v1(f.data)))}catch{return null}})()},u=X1(function(){let D;return u2.value,D=setTimeout(i,2000),function(){return clearTimeout(D)}}),window.addEventListener("beforeunload",i),n=!1,function(){if(n)return;return n=!0,u?.(),window.removeEventListener("beforeunload",i),i(),w[Symbol.for("persisted")]=!1}}function z0(f,_={}){let i,n,u,l,c,h,A,w;if(i=U1(_.initial??null),u=U1(!1),n=U1(null),h=0,l=null,A=async function(){let D,$;return l?.abort(),l=typeof AbortController<"u"?new AbortController:null,D=++h,u.value=!0,n.value=null,await(async()=>{try{if($=await f(l?.signal),D!==h)return;return i.value=$,$}catch(U){if(D!==h)return;if(U?.name==="AbortError")return;throw n.value=U,U}finally{if(D===h)u.value=!1}})()},c=function(){return h++,l?.abort(),l=null,u.value=!1,n.value=null},w={data:void 0,loading:void 0,error:void 0,refetch:A,dispose:c},Object.defineProperty(w,"data",{get(){return i.value}}),Object.defineProperty(w,"loading",{get(){return u.value}}),Object.defineProperty(w,"error",{get(){return n.value}}),!_.lazy)A().catch(function(){return null});return w}l2=function(f){return typeof f==="function"?f:function(){return f.value}};g1=function(f,_){return Object.defineProperty(f,"dispose",{value(){return _?.()},configurable:!0,writable:!0}),f};f2=function(f,_,i){let n;return n={read(){return f.read()}},Object.defineProperty(n,"value",{get(){return f.value},set(u){return _.value=u}}),g1(n,i)};var D4=function(f,_){let i,n,u;return n=l2(_),u=U1(!!n()),i=X1(function(){let l;if(n())return l=setTimeout(function(){return u.value=!0},f),function(){return clearTimeout(l)};else return u.value=!1}),typeof _!=="function"?f2(u,_,i):g1(u,i)},W0=function(f,_){let i,n,u;return n=l2(_),u=U1(n()),i=X1(function(){let l,c;return c=n(),l=setTimeout(function(){return u.value=c},f),function(){return clearTimeout(l)}}),typeof _!=="function"?f2(u,_,i):g1(u,i)},O0=function(f,_){let i,n,u,l;return n=l2(_),l=U1(n()),u=0,i=X1(function(){let c,h,A,w;if(w=n(),c=Date.now(),h=f-(c-u),h<=0)return l.value=w,u=c;else return A=setTimeout(function(){return l.value=n(),u=Date.now()},h),function(){return clearTimeout(A)}}),typeof _!=="function"?f2(l,_,i):g1(l,i)},H0=function(f,_){let i,n,u;return n=l2(_),u=U1(!!n()),i=X1(function(){let l;if(n())return u.value=!0;else return l=setTimeout(function(){return u.value=!1},f),function(){return clearTimeout(l)}}),typeof _!=="function"?f2(u,_,i):g1(u,i)};function U4(){let f,_,i,n;return _=new Map,n=new Set,f=new Map,i=function(u,l){let c=[];for(let h of Array.from(n))c.push((()=>{try{return h(u,l)}catch(A){return console.error("[Rip] watcher error:",A)}})());return c},{read(u){return _.get(u)},write(u,l){let c;return c=!_.has(u),_.set(u,l),f.delete(u),i(c?"create":"change",u)},del(u){return _.delete(u),f.delete(u),i("delete",u)},exists(u){return _.has(u)},size(){return _.size},list(u=""){let l,c,h;h=[],l=u?u+"/":"";for(let[A]of _)if(A.startsWith(l)){if(c=A.slice(l.length),c.includes("/"))continue;h.push(A)}return h},listAll(u=""){let l,c;c=[],l=u?u+"/":"";for(let[h]of _)if(h.startsWith(l))c.push(h);return c},load(u){let l=[];for(let c in u){let h=u[c];_.set(c,h),l.push(f.delete(c))}return l},watch(u){let l;return n.add(u),l=!1,function(){if(l)return;return l=!0,n.delete(u)}},getCompiled(u){return f.get(u)},setCompiled(u,l){return f.set(u,l)}}}u4=function(f){let _;if(_=f.replace(/\.rip$/,""),_=_.replace(/\[\.\.\.(\w+)\]/g,"*$1"),_=_.replace(/\[(\w+)\]/g,":$1"),_==="index")return"/";return _=_.replace(/\/index$/,""),"/"+_};i4=function(f){let _,i,n;return i=[],_=f.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),n=_.replace(/\*(\w+)/g,function(u,l){return i.push(l),"(.*)"}).replace(/:(\w+)/g,function(u,l){return i.push(l),"([^/]+)"}),{regex:new RegExp("^"+n+"$"),names:i}};_4=function(f,_){let i,n;for(let u of _)if(i=f.match(u.regex.regex),i){n={};for(let l=0;l<u.regex.names.length;l++){let c=u.regex.names[l];n[c]=decodeURIComponent(i[l+1])}return{route:u,params:n}}return null};M2=function(f,_="_route"){let i,n,u,l,c,h,A,w,D;A=[],u=new Map,i=f.listAll(_);for(let $ of i){if(h=$.slice(_.length+1),!h.endsWith(".rip"))continue;if(l=h.split("/").pop(),l==="_layout.rip"){n=h==="_layout.rip"?"":h.slice(0,-12),u.set(n,$);continue}if(l.startsWith("_"))continue;if(w=h.split("/"),w.length>1&&w.some(function(U,R){return R<w.length-1&&U.startsWith("_")}))continue;D=u4(h),c=i4(D),A.push({pattern:D,regex:c,file:$,rel:h})}return A.sort(function($,U){let R,z,M,F;if(z=($.pattern.match(/:/g)||[]).length,F=(U.pattern.match(/:/g)||[]).length,R=$.pattern.includes("*")?1:0,M=U.pattern.includes("*")?1:0,R!==M)return R-M;if(z!==F)return z-F;return $.pattern.localeCompare(U.pattern)}),{routes:A,layouts:u}};f4=function(f,_,i){let n,u,l,c;if(n=[],l=f.slice(_.length+1),c=l.split("/"),u="",i.has(""))n.push(i.get(""));for(let h=0;h<c.length;h++){let A=c[h];if(h===c.length-1)break;if(u=u?u+"/"+A:A,i.has(u))n.push(i.get(u))}return n};function $4(f,_={}){let i,n,u,l,c,h,A,w,D,$,U,R,z,M,F,H,K,W,O,Q,Y,J,Z,q,G,P,L,I,e,p,N,X,u1,b,B,T,k,x;if(t1("createRouter"),p=_.root||"_route",H=_.base||"",W=_.hash||!1,J=_.onError||null,B=function(y){if(!H)return y;if(y===H)return"/";if(y.startsWith(H+"/"))return y.slice(H.length);return y},$=function(y){return H?H+y:y},I=function(){let y;if(W){if(y=location.hash.slice(1),!y)return"/";return y[0]==="/"?y:"/"+y}else return location.pathname+location.search+location.hash},x=function(y){return W?y==="/"?location.pathname:"#"+y.slice(1):$(y)},A=U1(B(W?I():location.pathname)),h=U1({}),D=U1(null),u=U1([]),w=U1({}),n=U1(""),l=D4(100,U1(!1)),c=U1(A.value),T=M2(f,p),O=new Set,k=f.watch(function(y,m){if(!m.startsWith(p+"/"))return;return T=M2(f,p)}),e=function(y){let m,l1,E,j,s,g,n1;if(s=y.split("?")[0].split("#")[0],E=B(s),E=E[0]==="/"?E:"/"+E,j=y.split("?")[1]?.split("#")[0]||"",l1=y.includes("#")?y.split("#")[1]:"",g=_4(E,T.routes),g){if(m=E,j)m+=`?${j}`;if(l1)m+=`#${l1}`;v2(function(){return A.value=E,h.value=g.params,D.value=g.route,u.value=f4(g.route.file,p,T.layouts),w.value=Object.fromEntries(new URLSearchParams(j)),n.value=l1,c.value=m}),n1=Array.from(O);for(let c1 of n1)try{c1(N.current)}catch(C){console.error("[Rip] router onNavigate callback error:",C)}return!0}if(J)J({status:404,path:E});return!1},P=null,typeof history<"u"&&"scrollRestoration"in history)P=history.scrollRestoration,history.scrollRestoration="manual";if(L=function(y){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(y):setTimeout(y,16)},R=function(y){let m,l1;if(typeof window>"u")return;return m=0,l1=function(){let E;return E=Math.max(0,(document?.documentElement?.scrollHeight||0)-window.innerHeight),window.scrollTo(0,Math.min(y,E)),m+=1,y>E&&m<20?L(l1):void 0},L(l1)},u1=null,q=function(){if(u1||typeof window>"u")return;return u1=setTimeout(function(){return u1=null,(()=>{try{return history.replaceState({...history.state||{},_ripScroll:window.scrollY},"",location.href)}catch{}})()},100)},typeof window<"u")window.addEventListener("scroll",q,{passive:!0});if(Z=function(y){let m;return m=y?.state?._ripScroll,e(I()),typeof m==="number"?R(m):void 0},typeof window<"u")window.addEventListener("popstate",Z);if(b=function(y){let m;if(!y?.href)return!0;if(m=(()=>{try{return new URL(y.href,location.origin)}catch{return null}})(),!m)return!0;if(m.origin!==location.origin)return!0;if(y.target==="_blank")return!0;if(y.hasAttribute("download"))return!0;if(y.hasAttribute("data-router-ignore"))return!0;if(H&&!W){if(!(m.pathname===H||m.pathname.startsWith(H+"/")))return!0}return!1},Y=function(y){let m,l1,E,j;if(y.defaultPrevented)return;if(y.button!==0||y.metaKey||y.ctrlKey||y.shiftKey||y.altKey)return;E=y.target;while(E&&E.tagName!=="A")E=E.parentElement;if(!E)return;if(b(E))return;return j=new URL(E.href,location.origin),y.preventDefault(),m=W&&j.hash?j.hash.slice(1)||"/":j.pathname+j.search+j.hash,l1=E.hasAttribute("data-router-noscroll"),N.push(m,{noScroll:l1})},typeof document<"u")document.addEventListener("click",Y);return G=new WeakSet,Q=function(y){let m;if(m=y.split("?")[0].split("#")[0],m=decodeURIComponent(m),m=B(m),m[0]!=="/")m="/"+m;if(m.length>1&&m.endsWith("/"))m=m.slice(0,-1);return m},K=function(){let y;if(y=W?B(I()).split("?")[0].split("#")[0]:A.value.split("?")[0].split("#")[0],y[0]!=="/")y="/"+y;if(y.length>1&&y.endsWith("/"))y=y.slice(0,-1);return y},U=function(){let y,m,l1,E,j,s;if(typeof document>"u")return;m=K(),y=document.querySelectorAll("a[href]");for(let g of y){if(b(g))continue;if(s=(()=>{try{return new URL(g.href,location.origin)}catch{return null}})(),!s)continue;if(j=Q(s.pathname+s.search+s.hash),l1=null,j===m)l1="page";if(!l1&&m!=="/"&&m.startsWith(j+"/")&&j!=="")l1="true";if(E=g.getAttribute("aria-current"),l1){if(E&&!G.has(g))continue;g.setAttribute("aria-current",l1),G.add(g)}else if(G.has(g))g.removeAttribute("aria-current"),G.delete(g)}return},M=null,F=!1,X=function(){let y;if(F)return;return F=!0,y=function(){return F=!1,U()},typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(y):setTimeout(y,0)},z=X1(function(){let y;if(typeof document>"u")return;if(K(),X(),!M)M=new MutationObserver(function(){return X()}),y=document.body||document.documentElement,M.observe(y,{childList:!0,subtree:!0});return}),N={push(y,m){let l1;if(l1=typeof window<"u"?window.scrollY:0,e(y)){try{history.replaceState({...history.state||{},_ripScroll:l1},"",location.href)}catch{}return history.pushState({_ripScroll:0},"",x(c.read())),!m?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0}},replace(y,m){if(e(y))return history.replaceState({_ripScroll:0},"",x(c.read())),!m?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0},back(){return history.back()},forward(){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(y){return O.add(y),function(){return O.delete(y)}},rebuild(){return T=M2(f,p)},routes:void 0,init(){return e(I()),N},destroy(){if(typeof window<"u")window.removeEventListener("popstate",Z);if(typeof window<"u")window.removeEventListener("scroll",q);if(typeof document<"u")document.removeEventListener("click",Y);if(P!==null&&typeof history<"u")history.scrollRestoration=P;return M?.disconnect(),M=null,z?.(),k?.(),k=null,l?.dispose?.(),O.clear()}},i=B3(function(){return{path:A.value,params:h.value,route:D.value,layouts:u.value,query:w.value,hash:n.value}}),Object.defineProperty(N,"current",{get(){return i.value}}),Object.defineProperty(N,"path",{get(){return A.value}}),Object.defineProperty(N,"params",{get(){return h.value}}),Object.defineProperty(N,"route",{get(){return D.value}}),Object.defineProperty(N,"layouts",{get(){return u.value}}),Object.defineProperty(N,"query",{get(){return w.value}}),Object.defineProperty(N,"hash",{get(){return n.value}}),Object.defineProperty(N,"navigating",{get(){return l.value},set(y){return l.value=y}}),Object.defineProperty(N,"routes",{get(){return T.routes}}),N}d3=function(f,_){if(f.length!==_.length)return!1;for(let i=0;i<f.length;i++)if(f[i]!==_[i])return!1;return!0};r2=function(f){if(typeof f.default==="function"&&(f.default.prototype?.mount||f.default.prototype?._create))return f.default;for(let _ in f){let i=f[_];if(typeof i==="function"&&(i.prototype?.mount||i.prototype?._create))return i}return typeof f.default==="function"?f.default:void 0};V2=function(f){let _;_={};for(let i in f){let n=f[i];if(typeof n==="function"&&(n.prototype?.mount||n.prototype?._create))_[i]=n}return _};e3=function(f){let _;return _=f.split("/").pop().replace(/\.rip$/,""),_.replace(/(^|[-_])([a-z])/g,function(i,n,u){return u.toUpperCase()})};k3=function(f,_=["_app","_lib","_pkg","_route"]){let i,n,u,l,c;n={},c=Array.isArray(_)?_:[_],l=[];for(let h of c)for(let A of f.listAll(h))l.push(A);for(let h of l){if(!h.endsWith(".rip"))continue;if(i=h.split("/").pop(),i.startsWith("_"))continue;if(u=e3(h),n[u])console.warn(`[Rip] Component name collision: ${u} (${n[u]} vs ${h})`);n[u]=h}return n};n4=function(f,_,i){let n,u,l,c;if(u=f.replace(/^(\.\.\/|\.\/)+/,""),_){l=_.split("/"),l.pop();for(let h of f.split("/"))if(h==="..")l.pop();else if(h!==".")l.push(h);if(n=l.join("/"),i.exists(n))return n}if(i.exists(u))return u;for(let h of["_pkg","_lib","_app","_route"])if(c=`${h}/${u}`,i.exists(c))return c;return null};j2=function(f){let _,i,n,u,l,c,h;if(!f)return[];if(c=f.trim(),!c)return[];if(u=[],_=c.indexOf("{"),_>=0){if(i=c.lastIndexOf("}"),i<0)return u;n=c.slice(_+1,i);for(let A of n.split(",")){if(h=A.trim(),!h)continue;u.push(h.split(/\s+as\s+/).pop().trim())}c=c.slice(0,_).replace(/,\s*$/,"").trim()}for(let A of c.split(",")){if(l=A.trim(),!l)continue;if(/^\*\s+as\s+/.test(l))u.push(l.replace(/^\*\s+as\s+/,"").trim());else u.push(l)}return u};r1=async function(f,_,i=null,n=null,u=null){let l,c,h,A,w,D,$,U,R,z,M,F,H,K,W,O,Q,Y,J,Z,q,G,P,L,I,e,p,N,X,u1,b,B,T,k;if(i&&n){if(D=i.getCompiled(n),D)return D}if(u&&n)u.compiling??={},u.compiling[n]=!0;return await(async()=>{try{if(U=globalThis?.__ripDebug?.enabled&&n,N=0,O=U?_(f,{sourceMap:"inline",filename:n}):_(f),u){if(W=new Set,L=u.packages||{},Object.keys(L).length>0)c=/^(\s*import\s+(?:.*?\s+from\s+)?['"])(@rip-lang\/[^\/'"]+)((?:\/[^'"]*)?)(['"];?\s*)$/gm,O=O.replace(c,function(x,y,m,l1,E){let j,s;if(j=L[m],!j)return x;return s=!l1?`_pkg/${j.short}/${j.entry}`:l1.endsWith(".rip")?`_pkg/${j.short}${l1}`:`_pkg/${j.short}${l1}.rip`,`${y}${s}${E}`});if(i){b=/^(\s*import\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,Y=Array.from(O.matchAll(b));for(let x=Y.length-1;x>=0;x--){let y=Y[x];if([H,e,h,B,I]=y,T=n4(B,n,i),T===n)continue;if(!T){if(Z=`[Rip] Could not resolve import: ${B}`,n)Z+=` (from ${n})`;console.warn(Z);continue}if(!u.blobUrls?.[T]){if(u.compiling?.[T])continue;if(z=i.read(T),z)await r1(z,_,i,T,u)}if(w=u.blobUrls?.[T],w){u1=`${e}${w}${I}`,O=O.slice(0,y.index)+u1+O.slice(y.index+H.length);for(let m of j2(h))W.add(m)}}}l=/^\s*import\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let x of O.matchAll(l))for(let y of j2(x[1]))W.add(y);G={};for(let x in u.map){let y=u.map[x];if(W.has(x))continue;if(y!==n&&O.includes(`new ${x}(`)){if(!u.classes[x]){if(z=i.read(y),z){R=await r1(z,_,i,y,u),F=V2(R);for(let m in F){let l1=F[m];u.classes[m]=l1}}}if(u.classes[x])G[x]=!0}}if(q=Object.keys(G),q.length>0)Q=JSON.stringify(u.key),p=`const {${q.join(", ")}} = globalThis[${Q}];
|
|
2085
|
+
`,O=p+O,N+=1}if(K=n?`// ${n}
|
|
2086
|
+
`:"",K)N+=1;if(M=K+O,U&&N>0){if(P=globalThis?.__ripDebug?.offsetSourceMap,P)M=P(M,N)}if(A=new Blob([M],{type:"application/javascript"}),k=URL.createObjectURL(A),X=null,u&&n){if(u.blobUrls??={},X=u.blobUrls[n],X&&X!==k)try{URL.revokeObjectURL(X)}catch{}u.blobUrls[n]=k}if(J=await import(k),$=!0,u){F=V2(J);for(let x in F){let y=F[x];u.classes[x]=y}}if(i&&n)i.setCompiled(n,J);return J}finally{if(u&&n){if(u.compiling)delete u.compiling[n]}if(!$&&k&&u&&n){try{URL.revokeObjectURL(k)}catch{}if(u.blobUrls?.[n]===k)delete u.blobUrls[n]}}})()};function R4(f){let _,i,n,u,l,c,h,A,w,D,$,U,R,z,M,F,H,K,W,O,Q,Y,J,Z,q;if(t1("createRenderer"),{router:W,app:_,components:n,resolver:K,compile:i,target:Y,onError:F}=f,u=typeof Y==="string"?document.querySelector(Y):Y||document.getElementById("app"),!u)u=document.createElement("div"),u.id="app",document.body.appendChild(u);return l=null,w=null,h=null,A=null,c=[],R=[],z=u,$=0,D=null,q=null,U=function(G){if(!K)return;if(K.blobUrls?.[G]){try{URL.revokeObjectURL(K.blobUrls[G])}catch{}delete K.blobUrls[G]}return K.classes&&K.map?(()=>{let P=[];for(let L in K.map){let I=K.map[L];P.push(I===G?delete K.classes[L]:void 0)}return P})():void 0},Z=function(){if(l){try{l.unmount?.({removeDOM:!1})}catch(G){console.error("[Rip] page unmount error:",G)}return l=null,w=null}},J=function(){Z();for(let G=R.length-1;G>=0;G--){let P=R[G];try{P.unmount?.({removeDOM:!0})}catch(L){console.error("[Rip] layout unmount error:",L)}}return R=[],z=u,h=null,A=null,c=[]},O=function(G,P){if(!(G&&P))return!1;if(Object.keys(G).length!==Object.keys(P).length)return!1;for(let L in G){let I=G[L];if(P[L]!==I)return!1}return!0},M=async function(G,P=!1){let L,I,e,p,N,X,u1,b,B,T,k,x,y,m,l1,E,j,s,g,n1,c1,C,d,h1,_1,S,a,t,o,f1;if({route:S,params:C,layouts:k,query:_1}=G,!S)return;if(a=S.file===w&&O(C,h),a&&!P){if(!O(_1,A)){if(A=_1,l?.load)try{await l.load(C,_1)}catch(V){if(console.error(`Renderer: error in query-only load for ${S.file}:`,V),F)F({status:500,message:V.message,error:V})}}return}return u1=++$,W.navigating=!0,await(async()=>{try{if(o=n.read(S.file),!o){if(F)F({status:404,message:`File not found: ${S.file}`});W.navigating=!1;return}if(l1=await r1(o,i,n,S.file,K),u1!==$){W.navigating=!1;return}if(L=r2(l1),!L){if(F)F({status:500,message:`No component found in ${S.file}`});W.navigating=!1;return}if(m=!d3(k,c),j=l?._target,m)J();else Z();if(h=C,A=_1,E=m?u:z,m&&k.length>0){u.innerHTML="",E=u,X=globalThis.__ripComponent?.__pushComponent,p=globalThis.__ripComponent?.__popComponent,s=null;for(let V of k){if(y=n.read(V),!y)continue;if(x=await r1(y,i,n,V,K),u1!==$){W.navigating=!1;return}if(I=r2(x),!I)continue;h1=X?.(s);try{B=new I({app:_,params:C,router:W})}finally{p?.(h1)}if(B.beforeMount){e=X?.(B);try{B.beforeMount()}finally{p?.(e)}}f1=document.createElement("div"),f1.setAttribute("data-layout",V),E.appendChild(f1),B.mount(f1),R.push(B),s=B,t=f1.querySelector("#content")||f1,E=t}c=[...k],z=E}else if(m)u.innerHTML="",c=[],z=u;c1=document.createElement("div"),c1.setAttribute("data-component",S.file),E.appendChild(c1),X=globalThis.__ripComponent?.__pushComponent,p=globalThis.__ripComponent?.__popComponent,g=R[R.length-1]||null,n1=X?.(g);try{T=new L({app:_,params:C,query:_1,router:W})}finally{p?.(n1)}if(T.beforeMount){N=X?.(T);try{T.beforeMount()}finally{p?.(N)}}if(T.mount(c1),l=T,w=S.file,T.load)await T.load(C,_1);return j?.remove(),W.navigating=!1}catch(V){if(W.navigating=!1,console.error(`Renderer: error mounting ${S.file}:`,V),F)F({status:500,message:V.message,error:V});b=!1;for(let i1=R.length-1;i1>=0;i1--){let A1=R[i1];if(A1.onError)try{A1.onError(V),b=!0;break}catch(M1){console.error("Renderer: error boundary failed:",M1)}}return(()=>{if(!b)return J(),d=document.createElement("pre"),d.style.cssText="color:red;padding:1em",d.textContent=V.stack||V.message,u.innerHTML="",u.appendChild(d)})()}})()},Q=!1,H={start(){if(Q)return H;return Q=!0,D=X1(function(){let G;return G=W.current,G.route?M(G):void 0}),q=n?.watch(function(G,P){return(Array.isArray(["change","delete"])?["change","delete"].includes(G):(G in["change","delete"]))?U(P):void 0}),W.init(),H},stop(){if(!Q)return;if(Q=!1,J(),D)D(),D=null;if(q?.(),q=null,K?.blobUrls){for(let G in K.blobUrls){if(!Object.hasOwn(K.blobUrls,G))continue;let P=K.blobUrls[G];try{URL.revokeObjectURL(P)}catch{}}K.blobUrls={}}return u.innerHTML=""},remount(G=!1){let P,L;return L=typeof G==="object"?!!G.force:!!G,P=W.current,P.route?M(P,L):void 0}},H}p3=function(f){let _,i,n,u,l,c;return t1("connectWatch"),l=1000,u=30000,_=!1,n=null,c=null,i=function(){if(_)return;return n=new EventSource(f),n.addEventListener("connected",function(){return l=1000,console.log("[Rip] Hot reload connected")}),n.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),n.addEventListener("css",function(){let h,A;A=document.querySelectorAll('link[rel="stylesheet"]');let w=[];for(let D of A)h=new URL(D.href),h.searchParams.set("_t",Date.now()),D.href=h.toString();return w}),n.onerror=function(){if(n.close(),n=null,_)return;return c=setTimeout(i,l),l=Math.min(l*2,u)}},i(),function(){if(_)return;if(_=!0,c)clearTimeout(c),c=null;return n?.close(),n=null}};async function K0(f={}){let _,i,n,u,l,c,h,A,w,D,$,U,R,z,M,F,H,K,W,O,Q,Y,J,Z,q,G,P,L;if(t1("launch"),i=(f.base||"").replace(/\/+$/,""),G=f.target||"#app",h=f.compile||null,M=f.persist||!1,R=f.hash||!1,!h)h=globalThis?.compileToJS||null;if(!document.querySelector(G))D=document.createElement("div"),D.id=G.replace(/^#/,""),document.body.prepend(D);if(f.bundle)u=f.bundle;else if(f.bundleUrl){if(z={},U=`__rip_etag_${f.bundleUrl}`,l=sessionStorage.getItem(U),l)z["If-None-Match"]=l;if(K=await fetch(f.bundleUrl,{headers:z}),K.status===304)u=JSON.parse(sessionStorage.getItem(`${U}_data`));else if(K.ok){if(u=await K.json(),$=K.headers.get("etag"),$)sessionStorage.setItem(U,$),sessionStorage.setItem(`${U}_data`,JSON.stringify(u))}else throw Error(`launch: ${f.bundleUrl} (${K.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=w4({components:{},routes:{},data:{}}),globalThis.__ripApp=_,n=U4(),u.modules)n.load(u.modules);if(c=`__rip_${i.replace(/\//g,"_")||"app"}`,W={map:k3(n),classes:{},key:c,packages:u.packages||{}},globalThis[c]=W.classes,Z=null,J="_app/stash.rip",n.exists(J)){if(q=n.read(J),q)try{if(Y=await r1(q,h,n,J,W),Y?.stash)Z=Y.stash}catch(I){console.error(`[Rip] Failed to load app/stash.rip: ${I.message}`,I)}}if(Z&&u.data)for(let I in u.data){let e=u.data[I];Z[I]=e}if(Q=Z??u.data,Q)_.data=Q;if(u.routes)_.routes=u.routes;if(F=null,M)F=A4(_,{local:M==="local",key:`__rip_${i}`});if(_.data.title)document.title=_.data.title;if(O=$4(n,{root:"_route",base:i,hash:R,onError(I){return console.error(`[Rip] Error ${I.status}: ${I.message||I.path}`)}}),H=R4({router:O,app:_,components:n,resolver:W,compile:h,target:G,onError(I){return console.error(`[Rip] ${I.message}`,I.error)}}),H.start(),P=null,u.data?.watch)P=p3(`${i}/watch`);return L=window,w=!1,A=function(){if(w)return;if(w=!0,P?.(),H.stop(),O.destroy(),F?.(),delete globalThis[c],delete globalThis.__ripApp,delete globalThis.__ripLaunched,L.app===_)delete L.app;return L.__RIP__?.app===_?delete L.__RIP__:void 0},L.app=_,L.__RIP__={app:_,components:n,router:O,renderer:H,resolver:W,destroy:A,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:_,components:n,router:O,renderer:H,destroy:A}}R1=function(f,_){if(!_)return;return f.preventDefault(),f.stopPropagation(),_()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;j3=function(f,_){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return R1(f,_.next);case"ArrowUp":return R1(f,_.prev);case"Home":case"PageUp":return R1(f,_.first);case"End":case"PageDown":return R1(f,_.last);case"Enter":case" ":return R1(f,_.select);case"Escape":return R1(f,_.dismiss);case"Tab":return _.tab?.();default:return f.key.length===1?_.char?.(f.key):void 0}})()};r3=function(f,_,i,n=[],u=null){let l,c,h,A,w;if(c=function(D){return typeof D==="function"?D():D},w=c(_),w&&w.__ariaPopupDismiss)w.__ariaPopupDismiss(),w.__ariaPopupDismiss=null;if(!(f&&w))return;return h=(D)=>{return![w,...n.map(c)].some(function($){return $?.contains(D.target)})?i():void 0},A=(D)=>{if(w?.contains(D.target))return;return u?u():i()},document.addEventListener("mousedown",h),window.addEventListener("scroll",A,!0),l=function(){return document.removeEventListener("mousedown",h),window.removeEventListener("scroll",A,!0)},w.__ariaPopupDismiss=l,l};m3=function(f=250){let _;return _=0,{block(i=f){return _=Date.now()+i},canOpen(){return Date.now()>=_}}};L3=function(f,_,i,n=null){let u,l,c,h,A,w,D,$,U,R,z;if(h=function(M){return typeof M==="function"?M():M},u=function(){let M,F;if(M=document.activeElement,M&&M!==document.body)return M;if(F=globalThis.__ariaLastFocusedEl,F?.isConnected!==!1)return F;return null},c=h(_),!c)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(D=null,z=function(M){if(M){c.hidden=!1;try{c.inert=!1}catch{}return c.removeAttribute("aria-hidden")}else{try{c.inert=!0}catch{}return c.setAttribute("aria-hidden","true"),c.hidden=!0}},$=function(){let M,F;if(F=D,D=null,!F?.focus)return;return M=function(H=6){if(F.isConnected===!1)return;try{F.focus({preventScroll:!0})}catch{F.focus()}if(document.activeElement===F||H<=1)return;return setTimeout(function(){return M(H-1)},16)},requestAnimationFrame(function(){return M()})},c.__ariaBindPopover)c.removeEventListener("toggle",c.__ariaBindPopover),c.__ariaBindPopover=null;if(A=function(M){let F;if(F=M.newState==="open",F)D=h(n)||u(),z(!0);else z(!1),$();return i?.(F)},c.addEventListener("toggle",A),c.__ariaBindPopover=A,U=c.matches(":popover-open"),l=!!f,U!==l){if(R=h(n),l)D=R||u(),z(!0);w=R&&l?{force:l,source:R}:{force:l};try{c.togglePopover(w)}catch{}}else z(l);return function(){return c.removeEventListener("toggle",A),c.__ariaBindPopover===A?c.__ariaBindPopover=null:void 0}};T3=function(f,_,i,n=!0){let u,l,c,h,A,w,D,$,U,R;if(c=function(z){return typeof z==="function"?z():z},u=function(){let z,M;if(z=document.activeElement,z&&z!==document.body)return z;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},l=c(_),!l?.showModal)return;if($=null,R=function(z){if(z){l.hidden=!1;try{l.inert=!1}catch{}return l.removeAttribute("aria-hidden")}else{try{l.inert=!0}catch{}return l.setAttribute("aria-hidden","true"),l.hidden=!0}},U=function(){let z,M;if(M=$,$=null,!M?.focus)return;return z=function(F=6){if(M.isConnected===!1)return;try{M.focus({preventScroll:!0})}catch{M.focus()}if(document.activeElement===M||F<=1)return;return setTimeout(function(){return z(F-1)},16)},requestAnimationFrame(function(){return z()})},l.__ariaBindDialog)[w,D]=l.__ariaBindDialog,l.removeEventListener("cancel",w),l.removeEventListener("close",D),l.__ariaBindDialog=null;if(h=function(z){if(!n){z.preventDefault();return}return i?.(!1)},A=function(){return i?.(!1),R(!1),U()},l.addEventListener("cancel",h),l.addEventListener("close",A),l.__ariaBindDialog=[h,A],f&&!l.open){if(!$)$=u();R(!0);try{l.showModal()}catch{}}else if(!f&&l.open)l.close();else R(!!f);return function(){return l.removeEventListener("cancel",h),l.removeEventListener("close",A),l.__ariaBindDialog?.[0]===h?l.__ariaBindDialog=null:void 0}};t3=function(f,_,i="vertical"){let n,u;if(f.isComposing)return;return u=i!=="horizontal",n=i!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?R1(f,_.next):void 0;case"ArrowUp":return u?R1(f,_.prev):void 0;case"ArrowRight":return n?R1(f,_.next):void 0;case"ArrowLeft":return n?R1(f,_.prev):void 0;case"Home":case"PageUp":return R1(f,_.first);case"End":case"PageDown":return R1(f,_.last);case"Enter":case" ":return R1(f,_.select);case"Escape":return R1(f,_.dismiss);default:return f.key.length===1?_.char?.(f.key):void 0}})()};v3=function(f,_,i=4,n=!0){let u,l;if(!(f&&_))return;if(l=f.getBoundingClientRect(),_.style.position="fixed",_.style.left=`${l.left}px`,_.style.top=`${l.bottom+i}px`,_.style.minWidth=`${l.width}px`,u=_.getBoundingClientRect(),u.bottom>window.innerHeight)_.style.top=`${l.top-u.height-i}px`;if(u.right>window.innerWidth)_.style.left=`${window.innerWidth-u.width-i}px`;return n?_.style.visibility="visible":void 0};var Q0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';s3=function(f){let _;return _=function(i){let n,u,l,c;if(i.key!=="Tab")return;if(c=f.querySelectorAll(Q0),l=Array.from(c).filter(function(h){return h.offsetParent!==null}),!l.length)return;return n=l[0],u=l[l.length-1],i.shiftKey?document.activeElement===n?(i.preventDefault(),u.focus()):void 0:document.activeElement===u?(i.preventDefault(),n.focus()):void 0},f.addEventListener("keydown",_),function(){return f.removeEventListener("keydown",_)}};x3=function(f,_){let i,n;if(!f)return;if(n=f.querySelector("h1,h2,h3,h4,h5,h6"),n)n.id??=`${_}-title`,f.setAttribute("aria-labelledby",n.id);if(i=f.querySelector("p"),i)return i.id??=`${_}-desc`,f.setAttribute("aria-describedby",i.id)};V1=[];V3=function(f){let _;if(_=window.scrollY,V1.push({instance:f,scrollY:_}),V1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${_}px`,document.body.style.width="100%"};o3=function(f){let _,i;if(_=V1.findIndex(function(n){return n.instance===f}),_<0)return;if({scrollY:i}=V1.splice(_,1)[0],!V1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,i)};R2=!1;e1=!1;g2=function(){let f,_,i;if(R2)return e1;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return f=document.createElement("div"),_=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",_.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(_),i=_.getBoundingClientRect(),f.remove(),_.remove(),e1=i.top>50,R2=!0,e1}catch{return R2=!0,e1=!1}})()};I3=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","positionAnchor","positionArea","positionTry","positionVisibility"];g3=function(f){let _=[];for(let i of I3)_.push(f.style[i]="");return _};a3=function(f,_,i={}){let n,u,l,c,h,A,w,D;if(!(f&&_))return;if(h=i.placement??"bottom start",c=i.offset??4,u=i.matchWidth??!1,g3(_),g2()){if(l=`--anchor-${_.id||Math.random().toString(36).slice(2,8)}`,A=_.__ariaPrevTrigger,A&&A!==f)try{A.style.anchorName=""}catch{}switch(_.__ariaPrevTrigger=f,f.style.anchorName=l,_.style.positionAnchor=l,_.style.position="fixed",_.style.inset="auto",_.style.margin="0",_.style.positionArea=h,_.style.positionTry="flip-block, flip-inline, flip-block flip-inline",_.style.positionVisibility="anchors-visible",[D]=h.split(" "),D){case"bottom":_.style.marginTop=`${c}px`;break;case"top":_.style.marginBottom=`${c}px`;break;case"left":_.style.marginRight=`${c}px`;break;case"right":_.style.marginLeft=`${c}px`;break}return u?_.style.minWidth="anchor-size(width)":void 0}else{switch(w=f.getBoundingClientRect(),_.style.position="fixed",_.style.inset="auto",_.style.margin="0",[D,n]=h.split(" "),n??="start",D){case"bottom":_.style.top=`${w.bottom+c}px`;break;case"top":_.style.bottom=`${window.innerHeight-w.top+c}px`;break;case"left":_.style.right=`${window.innerWidth-w.left+c}px`;break;case"right":_.style.left=`${w.right+c}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(D):(D in["bottom","top"]))switch(n){case"start":_.style.left=`${w.left}px`;break;case"center":_.style.left=`${w.left+w.width/2}px`,_.style.transform="translateX(-50%)";break;case"end":_.style.right=`${window.innerWidth-w.right}px`;break}else switch(n){case"start":_.style.top=`${w.top}px`;break;case"center":_.style.top=`${w.top+w.height/2}px`,_.style.transform="translateY(-50%)";break;case"end":_.style.bottom=`${window.innerHeight-w.bottom}px`;break}return u?_.style.minWidth=`${w.width}px`:void 0}};C3=function(...f){return function(){let _=[];for(let i of f)_.push((()=>{try{return i?.()}catch{return null}})());return _}};globalThis.__aria??={listNav:j3,rovingNav:t3,popupDismiss:r3,popupGuard:m3,bindPopover:L3,bindDialog:T3,positionBelow:v3,trapFocus:s3,wireAria:x3,lockScroll:V3,unlockScroll:o3,position:a3,hasAnchor:g2,combine:C3};globalThis.ARIA??=globalThis.__aria;I1.modules["app.rip"]=W2;for(let[f,_]of Object.entries(W2))if(typeof _==="function")globalThis[f]=_;})();
|