rip-lang 3.15.3 → 3.15.4
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/docs/dist/rip.js +246 -12
- package/docs/dist/rip.min.js +208 -207
- package/docs/dist/rip.min.js.br +0 -0
- package/package.json +1 -1
- package/src/browser.js +30 -15
- package/src/compiler.js +28 -4
- package/src/sourcemap-merge.js +287 -0
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var{defineProperty:
|
|
1
|
+
(()=>{var{defineProperty:c2,getOwnPropertyNames:t3,getOwnPropertyDescriptor:p3}=Object,e3=Object.prototype.hasOwnProperty;function u4(f){return this[f]}var f4=(f)=>{var l=(I2??=new WeakMap).get(f),h;if(l)return l;if(l=c2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var w of t3(f))if(!e3.call(l,w))c2(l,w,{get:u4.bind(f,w),enumerable:!(h=p3(f,w))||h.enumerable})}return I2.set(f,l),l},I2;var _4=(f)=>f;function l4(f,l){this[f]=_4.bind(null,l)}var y2=(f,l)=>{for(var h in l)c2(f,h,{get:l[h],enumerable:!0,configurable:!0,set:l4.bind(l,h)})};var _0={};y2(_0,{rip:()=>W3,processRipScripts:()=>z3,parser:()=>M1,importRip:()=>J1,getStdlibCode:()=>m1,getReactiveRuntime:()=>v1,getComponentRuntime:()=>g1,formatSExpr:()=>z1,formatErrorHTML:()=>O2,formatError:()=>Z1,compileToJS:()=>H1,compile:()=>f2,VERSION:()=>R3,RipError:()=>D1,Lexer:()=>i1,Compiler:()=>j1,CodeEmitter:()=>w1,BUILD_DATE:()=>M3});var B2=`
|
|
2
2
|
// ---- Rip Schema Runtime ----------------------------------------------------
|
|
3
3
|
// Four layers, lazy compilation:
|
|
4
4
|
// 1 (descriptor) object passed to __schema({...}). Raw metadata.
|
|
@@ -44,7 +44,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
|
|
|
44
44
|
})();
|
|
45
45
|
|
|
46
46
|
// === End Schema Runtime ===
|
|
47
|
-
`,
|
|
47
|
+
`,D2=`class SchemaError extends Error {
|
|
48
48
|
constructor(issues, schemaName, schemaKind) {
|
|
49
49
|
super(__schemaFormatIssues(issues, schemaName));
|
|
50
50
|
this.name = 'SchemaError';
|
|
@@ -881,32 +881,32 @@ function __schemaDestroy() { throw new Error("schema instance.destroy() is no
|
|
|
881
881
|
function __schemaTableName(m) { return null; } // returned only for :model normalize; never used downstream in browser
|
|
882
882
|
function __schemaPluralize(w) { return w; } // identity — relations work for type-resolution but never query
|
|
883
883
|
function __schemaFkName(m) { return ''; } // ditto
|
|
884
|
-
`;var _4={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,Schema:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[112,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,147,148,149,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,165,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,169,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,172,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,179,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,180,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,181,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,192,191,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,203,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,94,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,211,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,212,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,145,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,214,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,144,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,222,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,63,14,1,3,1,1,1,6,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,244,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,245,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,246,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,262,263,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,86,264,1,86,265,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,288,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,290,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,6,57,5,1,1,2,1,307,110,111,304,305,306,114,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,308,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,317,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,330,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,331,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,336,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,337,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,7,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,363,263,2,60,1,364,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,365,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,367,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,371,370,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,374,373,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,377,376,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,380,379,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,387,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,393,391,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,394,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,414,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,417,418,422,423,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,424,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,448,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,2,6,146,112,452,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,453,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,5,6,63,1,5,36,-189,-189,-189,-189,-189,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,111,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,464,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,60,1,465,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,466,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,473,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,483,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,493,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,57,5,1,2,1,1,307,110,111,494,495,306,4,62,1,2,2,-61,-61,-61,-61,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,496,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,498,497,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,514,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,515,-48,-48,-48,-70,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,523,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,532,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,537,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,548,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,554,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,555,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,556,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,557,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,560,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,562,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,568,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,570,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,132,133,134,101,102,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,130,-271,-271,-271,-271,-271,-271,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,598,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,604,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,5,6,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,6,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,612,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,63,50,614,615,613,37,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,86,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,617,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,620,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,629,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,632,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,644,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,647,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,648,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,649,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,650,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,653,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,654,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,657,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,663,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,667,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,119,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,678,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,677,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,696,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,697,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,113,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-363,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-363,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,728,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,36,-190,-190,-190,-190,-190,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,86,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,738,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,741,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,745,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,749,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,771,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,776,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,777,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,778,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,779,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,780,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,788,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-261,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,810,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,813,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,821,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,822,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,823,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,824,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,4,6,64,5,19,-165,-165,-165,-165,1,94,827,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,828,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,840,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,841,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,3,6,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,863,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,864,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,882,-334,890,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,103,891,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],l=[],c=0,h,u,_,i;while(c<f.length){h=f[c++],u={},_=0,i=[];while(h--)_+=f[c++],i.push(_);for(_ of i)u[_]=f[c++];l.push(u)}return l})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,182,1,182,3,101,1,101,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,l,c,h)=>{let u=l,_=l.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[_]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[_]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[_-2],u[_]];case 5:case 63:case 201:case 363:return u[_-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[_];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[_]];case 60:return["str",...u[_-1]];case 62:case 195:case 199:case 297:return[...u[_-1],u[_]];case 64:case 237:case 241:case 381:case 410:return u[_-2];case 65:return"";case 68:return["regex",u[_-1]];case 69:return["regex-index",u[_-2],u[_]];case 70:return["regex-index",u[_],null];case 71:case 125:return["=",u[_-2],u[_]];case 72:return["=",u[_-3],u[_]];case 73:case 126:return["=",u[_-4],u[_-1]];case 74:return["state",u[_-2],u[_]];case 75:return["state",u[_-3],u[_]];case 76:return["state",u[_-4],u[_-1]];case 77:case 79:return["computed",u[_-2],u[_]];case 78:return["computed",u[_-3],u[_]];case 80:return["readonly",u[_-2],u[_]];case 81:return["readonly",u[_-3],u[_]];case 82:return["readonly",u[_-4],u[_-1]];case 83:case 85:return["effect",u[_-2],u[_]];case 84:return["effect",u[_-3],u[_]];case 86:case 87:case 88:return["effect",null,u[_]];case 94:case 107:case 145:return[".",u[_-2],u[_]];case 95:case 108:case 146:return["?.",u[_-2],u[_]];case 96:case 98:case 109:case 147:return["[]",u[_-3],u[_-1]];case 97:case 99:case 110:case 148:return["[]",u[_-5],u[_-2]];case 100:case 149:return[".{}",u[_-4],...u[_-2]];case 101:case 150:return["?.{}",u[_-4],...u[_-2]];case 102:case 151:return[".{}",u[_-6],...u[_-3]];case 103:case 152:return["?.{}",u[_-6],...u[_-3]];case 104:return[u[_-1][0],u[_-3],...u[_-1].slice(1)];case 105:return["optindex",u[_-4],u[_-1]];case 106:return["optindex",u[_-6],u[_-2]];case 111:return["object-comprehension",u[_-8],u[_-6],[["for-of",u[_-4],u[_-2],!1]],[]];case 112:return["object-comprehension",u[_-10],u[_-8],[["for-of",u[_-6],u[_-4],!1]],[u[_-2]]];case 113:return["object-comprehension",u[_-9],u[_-7],[["for-of",u[_-4],u[_-2],!0]],[]];case 114:return["object-comprehension",u[_-11],u[_-9],[["for-of",u[_-6],u[_-4],!0]],[u[_-2]]];case 115:return["object",...u[_-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[_-3],u[_]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[_-5],...u[_-2]];case 121:return[null,u[_],u[_]];case 123:case 160:return[":",u[_-2],u[_]];case 124:case 161:return[":",u[_-4],u[_-1]];case 131:return["dynamicKey",u[_-1]];case 132:return["[]","this",u[_-1]];case 134:case 135:case 162:case 230:return["...",u[_]];case 141:case 234:return["super",...u[_]];case 142:case 143:case 144:case 232:case 235:return[u[_-1],...u[_]];case 153:return["map-literal"];case 154:return["map-literal",...u[_-2]];case 166:return[u[_],u[_],null];case 167:return[u[_-2],u[_],null];case 168:return[u[_-2],u[_-2],u[_]];case 169:return[u[_-4],u[_-2],u[_]];case 186:return["array"];case 187:return["array",...u[_-1]];case 188:return["array",...u[_-2],...u[_-1]];case 190:return[...u[_-2],...u[_]];case 191:return[...u[_-3],...u[_]];case 192:return[...u[_-2],...u[_-1]];case 193:return[...u[_-5],...u[_-4],...u[_-2],...u[_-1]];case 197:return[...u[_]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[_-2],u[_-3],u[_-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[_-1],u[_-2],u[_]];case 206:return[u[_],u[_-1],null];case 207:return[u[_-1],null,u[_]];case 208:return[u[_],null,null];case 209:return["def",u[_-4],u[_-2],u[_]];case 210:return["def",u[_-1],[],u[_]];case 211:case 213:return[u[_-1],u[_-3],u[_]];case 212:case 214:return[u[_-1],[],u[_]];case 223:case 346:return["default",u[_-2],u[_]];case 224:return["rest",u[_]];case 225:return["expansion"];case 231:return["tagged-template",u[_-1],u[_]];case 233:return["optcall",u[_-2],...u[_]];case 249:case 250:return"this";case 251:return[".","this",u[_]];case 252:return[".","super",u[_]];case 253:return["[]","super",u[_-1]];case 254:return["[]","super",u[_-2]];case 255:return[".","new",u[_]];case 256:return[".","import",u[_]];case 257:return["block"];case 258:return["block",...u[_-1]];case 259:return u[_-1].length===1?u[_-1][0]:["block",...u[_-1]];case 260:return u[_-2].length===1?u[_-2][0]:["block",...u[_-2]];case 263:return["return",u[_]];case 264:return["return",u[_-1]];case 265:return["return"];case 266:return["throw",u[_]];case 267:return["throw",u[_-1]];case 268:return["yield"];case 269:return["yield",u[_]];case 270:return["yield",u[_-1]];case 271:return["yield-from",u[_]];case 272:return["if",u[_-1],u[_]];case 273:return u[_-4].length===3?["if",u[_-4][1],u[_-4][2],["if",u[_-1],u[_]]]:[...u[_-4],["if",u[_-1],u[_]]];case 274:return["if",["!",u[_-1]],u[_]];case 275:return["if",["!",u[_-3]],u[_-2],u[_]];case 277:return u[_-2].length===3?["if",u[_-2][1],u[_-2][2],u[_]]:[...u[_-2],u[_]];case 279:case 280:return["if",u[_],[u[_-2]]];case 281:return["?:",u[_-4],u[_-6],u[_-1]];case 282:return["?:",u[_-2],u[_-4],u[_]];case 283:case 284:return["if",["!",u[_]],[u[_-2]]];case 285:return["try",u[_]];case 286:return["try",u[_-1],u[_]];case 287:return["try",u[_-2],u[_]];case 288:return["try",u[_-3],u[_-2],u[_]];case 289:case 290:case 417:case 420:case 422:return[u[_-1],u[_]];case 291:return[null,u[_]];case 292:return["switch",u[_-3],u[_-1],null];case 293:return["switch",u[_-5],u[_-3],u[_-1]];case 294:return["switch",null,u[_-1],null];case 295:return["switch",null,u[_-3],u[_-1]];case 298:return["when",u[_-1],u[_]];case 299:return["when",u[_-2],u[_-1]];case 300:return["while",u[_]];case 301:return["while",u[_-2],u[_]];case 302:return["while",["!",u[_]]];case 303:return["while",["!",u[_-2]],u[_]];case 304:return u[_-1].length===2?[u[_-1][0],u[_-1][1],u[_]]:[u[_-1][0],u[_-1][1],u[_-1][2],u[_]];case 305:case 306:return u[_].length===2?[u[_][0],u[_][1],[u[_-1]]]:[u[_][0],u[_][1],u[_][2],[u[_-1]]];case 308:return["loop",u[_]];case 309:return["loop",[u[_]]];case 310:return["loop-n",u[_-1],u[_]];case 311:return["for-in",u[_-3],u[_-1],null,null,u[_]];case 312:return["for-in",u[_-5],u[_-3],null,u[_-1],u[_]];case 313:return["for-in",u[_-5],u[_-3],u[_-1],null,u[_]];case 314:return["for-in",u[_-7],u[_-5],u[_-1],u[_-3],u[_]];case 315:return["for-in",u[_-7],u[_-5],u[_-3],u[_-1],u[_]];case 316:return["for-of",u[_-3],u[_-1],!1,null,u[_]];case 317:return["for-of",u[_-5],u[_-3],!1,u[_-1],u[_]];case 318:return["for-of",u[_-3],u[_-1],!0,null,u[_]];case 319:return["for-of",u[_-5],u[_-3],!0,u[_-1],u[_]];case 320:return["for-as",u[_-3],u[_-1],!1,null,u[_]];case 321:return["for-as",u[_-5],u[_-3],!1,u[_-1],u[_]];case 322:case 324:return["for-as",u[_-3],u[_-1],!0,null,u[_]];case 323:case 325:return["for-as",u[_-5],u[_-3],!0,u[_-1],u[_]];case 326:return["for-in",[],u[_-1],null,null,u[_]];case 327:return["for-in",[],u[_-3],u[_-1],null,u[_]];case 328:return["comprehension",u[_-4],[["for-in",u[_-2],u[_],null]],[]];case 329:return["comprehension",u[_-6],[["for-in",u[_-4],u[_-2],null]],[u[_]]];case 330:return["comprehension",u[_-6],[["for-in",u[_-4],u[_-2],u[_]]],[]];case 331:return["comprehension",u[_-8],[["for-in",u[_-6],u[_-4],u[_]]],[u[_-2]]];case 332:return["comprehension",u[_-8],[["for-in",u[_-6],u[_-4],u[_-2]]],[u[_]]];case 333:return["comprehension",u[_-4],[["for-of",u[_-2],u[_],!1]],[]];case 334:return["comprehension",u[_-6],[["for-of",u[_-4],u[_-2],!1]],[u[_]]];case 335:return["comprehension",u[_-5],[["for-of",u[_-2],u[_],!0]],[]];case 336:return["comprehension",u[_-7],[["for-of",u[_-4],u[_-2],!0]],[u[_]]];case 337:return["comprehension",u[_-4],[["for-as",u[_-2],u[_],!1,null]],[]];case 338:return["comprehension",u[_-6],[["for-as",u[_-4],u[_-2],!1,null]],[u[_]]];case 339:return["comprehension",u[_-5],[["for-as",u[_-2],u[_],!0,null]],[]];case 340:return["comprehension",u[_-7],[["for-as",u[_-4],u[_-2],!0,null]],[u[_]]];case 341:return["comprehension",u[_-4],[["for-as",u[_-2],u[_],!0,null]],[]];case 342:return["comprehension",u[_-6],[["for-as",u[_-4],u[_-2],!0,null]],[u[_]]];case 343:return["comprehension",u[_-2],[["for-in",[],u[_],null]],[]];case 344:return["comprehension",u[_-4],[["for-in",[],u[_-2],u[_]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[_-2],u[_]];case 349:return["class",null,null];case 350:return["class",null,null,u[_]];case 351:return["class",null,u[_]];case 352:return["class",null,u[_-1],u[_]];case 353:return["class",u[_],null];case 354:return["class",u[_-1],null,u[_]];case 355:return["class",u[_-2],u[_]];case 356:return["class",u[_-3],u[_-1],u[_]];case 357:return["enum",u[_-1],u[_]];case 358:return["schema",u[_]];case 359:return["component",null,["block",...u[_-1]]];case 360:return["component",u[_-3],["block",...u[_-1]]];case 367:return["offer",u[_]];case 368:return["accept",u[_]];case 369:case 370:return["render",u[_]];case 371:case 374:return["import","{}",u[_]];case 372:case 373:return["import",u[_-2],u[_]];case 375:return["import",u[_-4],u[_]];case 376:return["import",u[_-4],u[_-2],u[_]];case 377:return["import",u[_-7],u[_-4],u[_]];case 388:return["*",u[_]];case 389:return["export","{}"];case 390:return["export",u[_-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[_]];case 395:return["export",["=",u[_-2],u[_]]];case 396:return["export",["=",u[_-3],u[_]]];case 397:return["export",["=",u[_-4],u[_-1]]];case 402:return["export-default",u[_]];case 403:return["export-default",u[_-1]];case 404:return["export-all",u[_]];case 405:return["export-from","{}",u[_]];case 406:return["export-from",u[_-4],u[_]];case 418:case 419:case 421:case 457:return["do-iife",u[_]];case 423:return["-",u[_]];case 424:return["+",u[_]];case 425:return["?",u[_-1]];case 426:return["presence",u[_-1]];case 427:return["await",u[_]];case 428:return["await",u[_-1]];case 429:return["--",u[_],!1];case 430:return["++",u[_],!1];case 431:return["--",u[_-1],!0];case 432:return["++",u[_-1],!0];case 433:return["+",u[_-2],u[_]];case 434:return["-",u[_-2],u[_]];case 436:return["**",u[_-2],u[_]];case 439:return["&",u[_-2],u[_]];case 440:return["^",u[_-2],u[_]];case 441:return["|",u[_-2],u[_]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[_-1],u[_-2],u[_]];case 448:return["&&",u[_-2],u[_]];case 449:return["||",u[_-2],u[_]];case 450:return["??",u[_-2],u[_]];case 451:return["|>",u[_-2],u[_]];case 453:return["?:",u[_-4],u[_-2],u[_]];case 455:return[u[_-3],u[_-4],u[_-1]];case 456:return[u[_-2],u[_-3],u[_]]}},parseError(f,l){let c,h,u,_,i,w,n;if(l.recoverable)return this.trace(f);else throw u=(l.line||0)+1,c=l.loc?.c||0,n=l.token?` (token: ${l.token})`:"",w=l.text?` near '${l.text}'`:"",_=`line ${u}, column ${c}`,i=`Parse error at ${_}${n}${w}: ${f}`,h=Error(i),h.hash=l,h},parse(f){let l,c,h,u,_,i,w,n,D,A,$,R,M,F,O,z,U,H,W,Q,q,K,Y,J,G,S,N,v;[q,v,$]=[[0],[null],[]],[F,S,J,Y,U]=[this.parseTable,"",0,0,0],[c,l]=[2,1],D=Object.create(this.lexer),W={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let T=this.ctx[L];W.ctx[L]=T}if(D.setInput(f,W.ctx),[W.ctx.lexer,W.ctx.parser]=[D,this],D.loc==null)D.loc={};G=D.loc,$.push(G),this.parseError=typeof W.ctx.parseError==="function"?W.ctx.parseError:Object.getPrototypeOf(this).parseError,n=()=>{let L;if(L=D.lex()||l,typeof L!=="number")L=this.symbolIds[L]||L;return L},K=O=Q=h=z=M=w=R=_=null,H={};while(!0){if(Q=q[q.length-1],K==null)K=n();if(h=F[Q]?.[K],h==null){if(u="",!U)_=(()=>{let L=[];for(let T in F[Q]){if(!Object.hasOwn(F[Q],T))continue;if(this.tokenNames[T]&&T>c)L.push(`'${this.tokenNames[T]}'`)}return L})();throw u=(()=>{if(D.showPosition)return`Parse error on line ${J+1}:
|
|
885
|
-
${
|
|
886
|
-
Expecting ${_.join(", ")}, got '${this.tokenNames[K]||K}'`;else return`Parse error on line ${J+1}: Unexpected ${K===l?"end of input":`'${this.tokenNames[K]||K}'`}`,this.parseError(u,{text:D.match,token:this.tokenNames[K]||K,line:D.line,loc:G,expected:_})})(),Error(u)}if(h>0)if(q.push(K,h),v.push(D.text),$.push(D.loc),K=null,!O){if([Y,S,J,G]=[D.len,D.text,D.line,D.loc],U>0)U--}else[K,O]=[O,null];else if(h<0){if(w=this.ruleTable[-h*2+1],H.$=v[v.length-w],A=$[$.length-(w||1)],H._$={r:A.r,c:A.c},z=this.ruleActions.call(H,-h,v,$,W.ctx),z!=null)H.$=z;if(Array.isArray(H.$))H.$.loc=H._$;if(w)q.length-=w*2,v.length-=w,$.length-=w;q.push(this.ruleTable[-h*2]),v.push(H.$),$.push(H._$),R=F[q[q.length-2]][q[q.length-1]],q.push(R)}else if(h===0)return v[v.length-1]}},trace(){},ctx:{}},l4=(f={})=>{let l=Object.create(_4);return Object.defineProperty(l,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),l},A1=l4();var o5=A1.parse.bind(A1);var D2=null;function V2(f){D2=f}var c4=new Set(["input","shape","model","mixin","enum"]),j2="input",h4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),w4=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function s1(f,l){if(f)f.prototype.rewriteSchema=function(){i4(this)},T1._LexerCtor=f;if(l)l.prototype.emitSchema=function(c,h,u){return q4(this,c,h,u)},l.prototype.getSchemaRuntime=function(){let c=this.options?.schemaMode||"migration";return V4({mode:c})}}var T2=new Set(["defaultMaxString"]);function i4(f){let l=f.tokens,c={defaultMaxString:null},h=0,u=0;while(u<l.length){let _=l[u];if(_[0]==="INDENT")h++;else if(_[0]==="OUTDENT")h--;let i=n4(l,u,c,h);if(i>0){l.splice(u,i);continue}if(D4(l,u))A4(f,l,u,c);u++}}function n4(f,l,c,h){let u=f[l];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[l+1]?.[0]!==".")return 0;let _=f[l+2];if(!_||_[0]!=="PROPERTY")return 0;if(f[l+3]?.[0]!=="=")return 0;let i=f[l-1];if(i){let $=i[0];if($!=="TERMINATOR"&&$!=="INDENT"&&$!=="OUTDENT")return 0}let w=_[1];if(!T2.has(w))throw b(_,`Unknown schema pragma 'schema.${w}'. Known pragmas: ${[...T2].join(", ")}.`);if(h>0)throw b(_,`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 n=f[l+4];if(!n||n[0]!=="NUMBER")throw b(n||_,`Pragma 'schema.${w}' requires a number literal. Example: schema.${w} = 100.`);let D=Number(n[1]);if(!Number.isFinite(D)||D<0||!Number.isInteger(D))throw b(n,`Pragma 'schema.${w}' expects a non-negative integer (got ${n[1]}). Use 0 to disable.`);c[w]=D===0?null:D;let A=l+5;if(f[A]?.[0]==="TERMINATOR")A++;return A-l}function D4(f,l){let c=f[l];if(!c||c[0]!=="IDENTIFIER"||c[1]!=="schema")return!1;let h=f[l-1];if(h){let _=h[0];if(_==="."||_==="?.")return!1;if(h[0]==="IDENTIFIER"||h[0]==="PROPERTY"||h[0]===")"||h[0]==="]"||h[0]==="}"||h[0]==="STRING"||h[0]==="NUMBER"){if(!w4.has(_))return!1}}let u=l+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 A4(f,l,c,h){let u=l[c],_=null,i=j2,w=c+1;if(l[w]?.[0]==="SYMBOL"){_=l[w];let M=_[1];if(!c4.has(M))throw b(_,`Unknown schema kind :${M}. Expected one of :input, :shape, :model, :mixin, :enum.`);i=M,w++}let n,D;if(l[w]?.[0]==="TERMINATOR"&&l[w][1]===";"){let M=w+1,F=M,O=0,z=l[M]?.loc?.r??null;while(F<l.length){let U=l[F],H=U[0];if(O===0&&z!=null&&U.loc&&U.loc.r>z)break;if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="PARAM_START")O++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="PARAM_END")O--;else if(O===0&&H==="TERMINATOR"&&U[1]!==";")break;else if(O===0&&(H==="INDENT"||H==="OUTDENT"))break;else if(O===0&&H==="->")throw b(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(O===0&&H==="EFFECT")throw b(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(O===0&&H==="UNARY_MATH"&&U[1]==="!"&&l[F+1]?.[0]==="COMPARE"&&l[F+1][1]===">")throw b(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");F++}while(F>M&&l[F-1][0]==="TERMINATOR")F--;if(n=l.slice(M,F),D=F,!n.length)throw b(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${_?" :"+i:""};' or switch to the indented form.`)}else{if(l[w]?.[0]==="TERMINATOR")w++;if(l[w]?.[0]!=="INDENT")throw b(u,`Expected indented schema body after 'schema${_?" :"+i:""}'.`);let M=w,F=T4(l,M);if(F<0)throw b(l[M],"Unterminated schema body.");n=l.slice(M+1,F),D=F+1}let A=$4(i,n,{schemaLoc:u.loc,kindLoc:_?.loc??null,kind:i,defaultMaxString:h?.defaultMaxString??null}),$=A2("SCHEMA","schema",u),R=A2("SCHEMA_BODY",i,u);R.data={descriptor:A},l.splice(c,D-c,$,R)}function $4(f,l,c){let h=[],u=M4(l);if(f===j2&&!c.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",c.kind="enum";if(f==="enum")for(let _ of u)K4(_,h);else{for(let _ of u)U4(f,_,h,c);if(f==="mixin")for(let _ of h){if(_.tag==="method"||_.tag==="computed"||_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:mixin schemas are fields-only. '${_.name}' is a ${_.tag}; move it to a :shape or :model.`);if(_.tag==="ensure")throw b({loc:_.headerLoc||_.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(_.tag==="directive"&&_.name!=="mixin")throw b({loc:_.loc},`:mixin schemas only accept '@mixin Name' directives. '@${_.name}' is not allowed.`)}else if(f==="input")for(let _ of h){if(_.tag==="method"||_.tag==="computed"||_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:input schemas are fields-only. '${_.name}' is a ${_.tag}; use :shape or :model if you need behavior.`);if(_.tag==="directive"&&_.name!=="mixin")throw b({loc:_.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${_.name}' is not allowed.`)}else if(f==="shape")for(let _ of h){if(_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:shape schemas don't have lifecycle hooks. '${_.name}' runs only on :model; move it or remove it.`);if(_.tag==="directive"&&_.name!=="mixin")throw b({loc:_.loc},`:shape schemas only accept '@mixin Name'. '@${_.name}' is :model-only.`)}}return{kind:f,loc:c.schemaLoc,kindLoc:c.kindLoc,entries:h}}function M4(f){let l=[],c=[],h=0;for(let u of f){let _=u[0];if(_==="INDENT")h++;if(_==="OUTDENT")h--;if(_==="TERMINATOR"&&h===0){if(c.length)l.push(c),c=[];continue}c.push(u)}if(c.length)l.push(c);return l}var R4=new Set(["string","email","url","phone","zip"]);function U4(f,l,c,h){let u=l[0];if(!u)return;if(u[0]==="@"){let K=l[1];if(!K||K[0]!=="IDENTIFIER"&&K[0]!=="PROPERTY")throw b(u,"Expected directive name after '@'.");let Y=l.slice(2),J=K[1];if(J==="ensure"){let S=O4(Y,u);for(let N of S)c.push({tag:"ensure",name:"ensure",message:N.message,paramTokens:N.paramTokens,bodyTokens:N.bodyTokens,loc:N.loc,headerLoc:u.loc});return}let G=null;if(J==="belongs_to"||J==="has_many"||J==="has_one"||J==="one"||J==="many"||J==="mixin"){let S=Y[0];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")){let N=S.data?.predicate===!0;if(!N&&Y[1]?.[0]==="?")N=!0;G=[{target:S[1],optional:N}]}}c.push({tag:"directive",name:J,args:G,argTokens:Y,loc:u.loc});return}if(u[0]==="PROPERTY"){W4(f,u,l,c);return}if(u[0]!=="IDENTIFIER")throw b(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let _=u[1];if(l[1]?.[0]===":")throw b(l[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let i=L4(u),w=1;while(w<l.length){let K=l[w];if(!(l[w-1]&&!l[w-1].spaced))break;if(K[0]==="#"||K[0]==="?"||K[0]==="!"){i.push(K[0]),w++;continue}break}let n=l[w];if(n?.[0]===":")throw b(n,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let D="string",A=null;if(n?.[0]==="IDENTIFIER")D=n[1],w++;else if(n?.[0]==="STRING"){A=[JSON.parse(n[1])],w++;while(l[w]?.[0]==="|"&&l[w+1]?.[0]==="STRING")w++,A.push(JSON.parse(l[w][1])),w++;if(l[w]?.[0]==="|"){let K=l[w+1],Y=K?.[0]??"<end>";throw b(K||l[w],`Literal unions contain string literals only. '${Y}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(A.length<2)throw b(n,`Literal union needs at least two string literals. Use '${JSON.stringify(A[0])}' as a default with '[${JSON.stringify(A[0])}]' instead.`);D="literal-union"}let $=!1,R=l[w]?.[0],M=l[w+1]?.[0];if((R==="["||R==="INDEX_START")&&(M==="]"||M==="INDEX_END"))$=!0,w+=2;let F=l.slice(w);if((n?.[0]==="IDENTIFIER"||n?.[0]==="STRING")&&F[0]?.[0]==="->")throw b(F[0],`Field '${_}' has a transform after the type; a comma is required before '->'. Write '${_} ${D}, -> …'.`);let z=null,U=null,H=null,W=null,Q=null;if(F.length>0){if(F[0]?.[0]===",")F=F.slice(1);let K=C1(F);for(let Y=0;Y<K.length;Y++){let J=K[Y];while(J.length&&(J[0][0]==="INDENT"||J[0][0]==="TERMINATOR"))J=J.slice(1);if(!J.length)continue;if(J[0][0]!=="->"){let S=F4(J);if(S>0)throw b(J[S],`Field '${_}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let G=J[0];if(G[0]!=="->"){while(J.length&&(J[J.length-1][0]==="OUTDENT"||J[J.length-1][0]==="TERMINATOR"))J=J.slice(0,-1);if(!J.length)continue;G=J[0]}if(G[0]==="["||G[0]==="INDEX_START"){if(z)throw b(G,`Field '${_}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);z=J}else if(G[0]==="{"){if(U)throw b(G,`Field '${_}' has more than one '{…}' attrs bracket.`);U=J}else if(z4(J)){if(H)throw b(G,`Field '${_}' has more than one range constraint. Only one 'min..max' per field.`);H=J}else if(G[0]==="REGEX"&&J.length===1){if(W)throw b(G,`Field '${_}' has more than one regex constraint.`);W=G}else if(G[0]==="->"){if(Y!==K.length-1)throw b(G,`Transform '-> …' must be the last element on the field line for '${_}'.`);Q=J.slice(1)}else throw b(G,`Unexpected trailer for field '${_}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if($&&A)throw b(n,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let q=null;if(h?.defaultMaxString!=null&&!W&&!A&&R4.has(D))q=h.defaultMaxString;c.push({tag:"field",name:_,modifiers:i,typeName:D,array:$,literals:A,constraintTokens:z,attrsTokens:U,rangeTokens:H,regexToken:W,transformTokens:Q,defaultMax:q,loc:u.loc})}function F4(f){let l=0;for(let c=0;c<f.length;c++){let h=f[c][0];if(h==="("||h==="["||h==="{"||h==="CALL_START"||h==="INDEX_START"||h==="PARAM_START")l++;else if(h===")"||h==="]"||h==="}"||h==="CALL_END"||h==="INDEX_END"||h==="PARAM_END")l--;else if(l===0&&h==="->")return c}return-1}function z4(f){let l=0,c=!1;if(f[l]?.[0]==="-"&&f[l+1]?.[0]==="NUMBER")l+=2,c=!0;else if(f[l]?.[0]==="NUMBER")l++,c=!0;if(f[l]?.[0]!=="..")return!1;l++;let h=!1;if(f[l]?.[0]==="-"&&f[l+1]?.[0]==="NUMBER")l+=2,h=!0;else if(f[l]?.[0]==="NUMBER")l++,h=!0;return(c||h)&&l===f.length}function W4(f,l,c,h){let u=l[1],_=c[1];if(!_||_[0]!==":")throw b(l,`Expected ':' after '${u}' before arrow.`);let i=c[2],w=c[3],n,D,A;if(i&&i[0]==="->")n="->",D=i.loc,A=3;else if(i&&i[0]==="EFFECT")n="~>",D=i.loc,A=3;else if(i&&i[0]==="UNARY_MATH"&&i[1]==="!"&&w&&w[0]==="COMPARE"&&w[1]===">"&&!i.spaced)n="!>",D=i.loc,A=4;else throw b(_,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let $=c.slice(A),R=h4.has(u),M;if(n==="~>")M="computed";else if(n==="!>")M="derived";else if(f==="model"&&R)M="hook";else M="method";h.push({tag:M,name:u,arrow:n,paramTokens:[],bodyTokens:$,headerLoc:l.loc,arrowLoc:D})}function O4(f,l){let c=f;if(!c.length)throw b(l,"@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 b(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let h=c[0];if(h[0]==="["||h[0]==="INDEX_START"){let _=H4(c,h),i=Q4(_);if(i.length===0)throw b(h,"@ensure [...] must contain at least one 'message, fn' pair.");if(i.length%2!==0)throw b(h,`@ensure [...] must have pairs of 'message, fn' (got ${i.length} elements; odd count).`);let w=[];for(let n=0;n<i.length;n+=2)w.push(C2(i[n],i[n+1],h));return w}let u=C1(c);if(u.length<2)throw b(h,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw b(h,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[C2(u[0],u[1],h)]}function H4(f,l){let c=0,h=[];for(let u=0;u<f.length;u++){let _=f[u],i=_[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 b(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(h.length>=2&&h[0][0]==="INDENT"&&h[h.length-1][0]==="OUTDENT"){let w=0,n=!1;for(let D=0;D<h.length;D++)if(h[D][0]==="INDENT")w++;else if(h[D][0]==="OUTDENT"){if(w--,w===0&&D===h.length-1){n=!0;break}if(w===0)break}if(n)h=h.slice(1,-1)}return h}}if(c>=1)h.push(_)}throw b(l,"@ensure: unclosed '['.")}function Q4(f){let l=[],c=[],h=0;for(let u of f){let _=u[0];if(_==="("||_==="["||_==="{"||_==="CALL_START"||_==="INDEX_START"||_==="PARAM_START"||_==="INDENT")h++;if(_===")"||_==="]"||_==="}"||_==="CALL_END"||_==="INDEX_END"||_==="PARAM_END"||_==="OUTDENT")h--;if(h===0&&(_===","||_==="TERMINATOR")){if(c.length)l.push(c),c=[];continue}c.push(u)}if(c.length)l.push(c);return l}function C2(f,l,c){if(!f||!f.length)throw b(c,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw b(f[0]||c,"@ensure: each refinement's first element must be a string literal message.");let h=f[0],u=JSON.parse(h[1]);if(!l||!l.length)throw b(h,"@ensure: missing function after message.");let _=l[0];if(_[0]!=="("&&_[0]!=="PARAM_START")throw b(_,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let i=1,w=1,n=[];while(w<l.length&&i>0){let $=l[w],R=$[0];if(R==="("||R==="PARAM_START")i++;if(R===")"||R==="PARAM_END"){if(i--,i===0){w++;break}}n.push($),w++}if(i!==0)throw b(_,"@ensure: unclosed '(' in predicate parameters.");let D=l[w];if(!D||D[0]!=="->")throw b(D||l[w-1]||h,"@ensure: expected '->' after predicate parameters.");let A=l.slice(w+1);if(!A.length)throw b(D,"@ensure: predicate function body is empty.");return{message:u,paramTokens:n,bodyTokens:A,loc:h.loc}}function Y4(f,l){if(!f.length)return[];return C1(f).map((h)=>{let u=h.filter((_)=>_[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw b(u[0]||l,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function K4(f,l){let c=f[0];if(!c)return;if(c[0]==="@"){let _=f[1],i=_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY")?_[1]:"directive";throw b(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 b(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 h=c[1],u=f[1];if(!u){l.push({tag:"enum-member",name:h,value:void 0,loc:c.loc});return}if(u[0]===":")throw b(u,`Enum member ':${h}' — drop the ':' before the value. Use ':${h} value'.`);if(f.length>2)throw b(f[2],`Extra tokens after enum member ':${h}' value.`);l.push({tag:"enum-member",name:h,value:C4(u),loc:c.loc})}function q4(f,l,c,h){let u=c[0],_=G4(u);if(!_)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let i=f._schemaName||null,w=[`kind: ${JSON.stringify(_.kind)}`];if(i)w.push(`name: ${JSON.stringify(i)}`);return w.push(`entries: [${_.entries.map((n)=>J4(f,n)).join(", ")}]`),`__schema({${w.join(", ")}})`}function G4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function J4(f,l){switch(l.tag){case"field":{let c=['tag: "field"',`name: ${JSON.stringify(l.name)}`,`modifiers: ${JSON.stringify(l.modifiers)}`,`typeName: ${JSON.stringify(l.typeName)}`,`array: ${l.array?"true":"false"}`];if(l.literals)c.push(`literals: ${JSON.stringify(l.literals)}`);let h=l.rangeTokens?I4(l.rangeTokens,l):null,u=l.constraintTokens?P4(l.constraintTokens,l):null,_=l.regexToken?N4(l.regexToken):null,i=E4(h,u,_,l);if(i)c.push(`constraints: ${i}`);if(l.transformTokens)c.push(`transform: ${Z4(f,l.transformTokens)}`);return`{${c.join(", ")}}`}case"directive":{let c=['tag: "directive"',`name: ${JSON.stringify(l.name)}`],h=B4(l.name,l.argTokens||[]);if(h)c.push(`args: ${h}`);return`{${c.join(", ")}}`}case"ensure":{let c=X4(f,l);return`{${['tag: "ensure"',`message: ${JSON.stringify(l.message)}`,`fn: ${c}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let c=S4(f,l);return`{${[`tag: ${JSON.stringify(l.tag)}`,`name: ${JSON.stringify(l.name)}`,`fn: ${c}`].join(", ")}}`}case"enum-member":{let c=['tag: "enum-member"',`name: ${JSON.stringify(l.name)}`];if(l.value!==void 0)c.push(`value: ${JSON.stringify(l.value)}`);return`{${c.join(", ")}}`}default:return'{tag: "unknown"}'}}function S4(f,l){let c=T1(l.bodyTokens);if(!c)return"(function() {})";let h=["->",[],c];return f.emit(h,"value")}function Z4(f,l){let c=T1(l);if(!c)return"(function() { return undefined; })";let h=["->",[],c];return f.emit(h,"value")}function X4(f,l){let c=T1(l.bodyTokens);if(!c)return"(function() { return undefined; })";let u=["->",Y4(l.paramTokens,l),c];return f.emit(u,"value")}function P4(f,l){let c=f.slice(1,-1),h=C1(c);if(!h.length)return{c:null};let u=h.map((_)=>m2(_,l));if(u.length===1){let _=u[0];if(_ instanceof RegExp)throw b(f[0],`Regex constraints are written bare, not in brackets. Replace '[${_}]' with '${_}'.`);return{c:{default:_}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw b(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every((_)=>typeof _==="number"))throw b(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 b(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function N4(f){let l=f[1],c=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(l);if(!c)throw b(f,`Invalid regex literal ${JSON.stringify(l)}.`);try{return new RegExp(c[1],c[2])}catch(h){throw b(f,`Invalid regex '${l}': ${h.message}`)}}function I4(f,l){let c=0,h=()=>{let w=1;if(f[c]?.[0]==="-")w=-1,c++;let n=f[c++],D=m2([n],l);if(typeof D!=="number")throw b(n,"Range endpoints must be numeric literals.");return w*D},u;if(f[c]?.[0]!=="..")u=h();c++;let _;if(c<f.length)_=h();if(u!==void 0&&_!==void 0&&u>_)throw b(f[0],`Range '${u}..${_}' is reversed. Write the smaller endpoint first.`);let i={};if(u!==void 0)i.min=u;if(_!==void 0)i.max=_;return i}function E4(f,l,c,h){let u=l&&l.c||{},_=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if(_&&u.min===void 0&&h?.modifiers?.includes("!"))u.min=1}if(c)u.regex=c;if(h?.defaultMax!=null&&u.max===void 0)u.max=h.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=${h?.defaultMax}`;throw b({loc:h?.loc},`Field '${h?.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 y4(u)}function y4(f){let l=[];if(f.min!==void 0)l.push(`min: ${n2(f.min)}`);if(f.max!==void 0)l.push(`max: ${n2(f.max)}`);if(f.default!==void 0)l.push(`default: ${n2(f.default)}`);if(f.regex!==void 0)l.push(`regex: ${f.regex.toString()}`);return l.length?`{${l.join(", ")}}`:null}function n2(f){if(f===null)return"null";if(f===void 0)return"undefined";if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||typeof f==="boolean")return String(f);if(f instanceof RegExp)return f.toString();return JSON.stringify(f)}function B4(f,l){if(f==="idStart"&&!l.length)throw b(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!l.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let c=l[0];if(!c||c[0]!=="IDENTIFIER"&&c[0]!=="PROPERTY")throw b(c||l[l.length-1],`@${f} requires a target name.`);let h=c[1],u=c.data?.predicate===!0,_=1;if(!u&&l[_]?.[0]==="?")u=!0,_++;let i=[`target: ${JSON.stringify(h)}`];if(u)i.push("optional: true");return`[{${i.join(", ")}}]`}if(f==="index"){let c=[],h=!1,u=0;if(l[u]?.[0]==="IDENTIFIER"||l[u]?.[0]==="PROPERTY")c.push(l[u][1]),u++;else if(l[u]?.[0]==="["||l[u]?.[0]==="INDEX_START"){let i=[],w=1;u++;while(u<l.length&&w>0){let n=l[u];if(n[0]==="["||n[0]==="INDEX_START")w++;if(n[0]==="]"||n[0]==="INDEX_END"){if(w--,w===0){u++;break}}i.push(n),u++}for(let n of C1(i))if(n[0]&&(n[0][0]==="IDENTIFIER"||n[0][0]==="PROPERTY"))c.push(n[0][1])}if(l[u]?.[0]==="#")h=!0;let _=[`fields: ${JSON.stringify(c)}`];if(h)_.push("unique: true");return`[{${_.join(", ")}}]`}if(f==="idStart"){let c=l[0],h=1,u=c;if(c&&c[0]==="-"&&l[1]&&l[1][0]==="NUMBER")h=-1,u=l[1];if(!u||u[0]!=="NUMBER")throw b(c||l[l.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let _=h*Number(u[1]);if(!Number.isInteger(_))throw b(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+_+"}]"}return null}function m2(f,l){if(!f.length)throw b(null,"Empty constraint value.");let c=f[0],h=c[0];if(f.length===1){if(h==="NUMBER")return Number(c[1]);if(h==="STRING")return JSON.parse(c[1]);if(h==="BOOL")return c[1]==="true";if(h==="NULL")return null;if(h==="UNDEFINED")return;if(h==="REGEX")return b4(c[1]);if(h==="SYMBOL")return c[1]}if(f.length===2&&h==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw b(c,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${h}.`)}function b4(f){let l=typeof f==="string"?f:String(f),c=l.match(/^\/(.*)\/([gimsuy]*)$/s);return c?new RegExp(c[1],c[2]):new RegExp(l)}function T1(f){if(!f||!f.length)return null;let l=T1._LexerCtor;if(!l)throw Error("schema: parseBodyTokens called before Lexer was wired");let c=Object.create(l.prototype),h=f.slice();if(h.length>=2&&h[0]?.[0]==="INDENT"){let D=0,A=-1;for(let $=0;$<h.length;$++)if(h[$][0]==="INDENT")D++;else if(h[$][0]==="OUTDENT"){if(D--,D===0){A=$;break}}if(A===h.length-1)h=h.slice(1,-1)}if(c.tokens=h,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(A2("TERMINATOR",`
|
|
887
|
-
`,f[f.length-1]));try{
|
|
888
|
-
`+L2;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(B2+l+b2).trimStart()}V2(g2);var j4=g2({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(j4)}catch{}function x2(f){let l=f.prototype;l.rewriteTypes=function(){let c=this.tokens,h=this.typeRefNames=new Set,u=(_,i,w)=>{let n=[_,i];if(n.pre=0,n.data=null,n.loc=w?.loc??{r:0,c:0,n:0},n.spaced=!1,n.newLine=!1,n.generated=!0,w)n.origin=w;return n};this.scanTokens((_,i,w)=>{let n=_[0];if(n==="IDENTIFIER"){let D=w[i+1];if(D&&D[0]==="COMPARE"&&D[1]==="<"&&!D.spaced){let A=w[i-1]?.[0]==="DEF",$=r2(w,i+1);if($){let R=i+1+$.length,M=!A&&w[R]?.[0]==="="&&w[R+1]?.[0]==="COMPONENT";if(A||M){if(!_.data)_.data={};if(_.data.typeParams=W1($),w.splice(i+1,$.length),A&&w[i+1]?.[0]==="("){w[i+1][0]="CALL_START";let F=1,O=i+2;while(O<w.length&&F>0){if(w[O][0]==="("||w[O][0]==="CALL_START")F++;if(w[O][0]===")"||w[O][0]==="CALL_END")F--;if(F===0)w[O][0]="CALL_END";O++}}}}}}if(n==="TYPE_ANNOTATION"){let D=w[i-1];if(!D)return 1;let A=v2(w,i+1),$=W1(A),R=D,M="type";if(D[0]==="CALL_END"||D[0]===")"){let O=1,z=i-2;while(z>=0&&O>0){let U=w[z][0];if(U==="CALL_END"||U===")")O++;if(U==="CALL_START"||U==="(")O--;z--}if(z>=0)R=w[z];M="returnType"}else if(D[0]==="PARAM_END"){let O=i+1+A.consumed,z=w[O];if(z&&(z[0]==="->"||z[0]==="=>"))R=z;M="returnType"}else if(D[0]==="IDENTIFIER"&&i>=2&&w[i-2]?.[0]==="DEF")M="returnType";if(!R.data)R.data={};R.data[M]=$;for(let O of A)if(O[0]==="IDENTIFIER")h.add(O[1]);let F=1+A.consumed;return w.splice(i,F),0}if(n==="IDENTIFIER"&&_[1]==="type"){let D=w[i-1]?.[0];if(!(!D||D==="TERMINATOR"||D==="INDENT"||D==="EXPORT"))return 1;let $=i+1,R=w[$];if(!R||R[0]!=="IDENTIFIER")return 1;let M=R[1],F=D==="EXPORT",O=F?i-1:i,z=$+1;if(w[z]?.[0]==="COMPARE"&&w[z]?.[1]==="<"&&!w[z].spaced){let q=r2(w,z);if(q){if(!R.data)R.data={};R.data.typeParams=W1(q),w.splice(z,q.length)}}if(w[z]?.[0]!=="=")return 1;let U=(q)=>{let K=u("TYPE_DECL",M,R);if(K.data={name:M,typeText:q,exported:F},R.data?.typeParams)K.data.typeParams=R.data.typeParams;return K},H=z+1,W=w[H];if(W&&(W[0]==="TERMINATOR"||W[0]==="INDENT")){let q=m4(w,H);if(q)return w.splice(O,q.endIdx-O+1,U(q.typeText)),0}if(W&&W[0]==="INDENT"){let q=M2(w,H);return w.splice(O,q-O+1,U($2(w,H))),0}let Q=v2(w,H);return w.splice(O,H+Q.consumed-O,U(W1(Q))),0}if(n==="INTERFACE"){let D=i>=1&&w[i-1]?.[0]==="EXPORT",A=i+1,$=w[A];if(!$)return 1;let R=$[1],M=null,F=A+1;if(w[F]?.[0]==="EXTENDS")M=w[F+1]?.[1],F=F+2;if(w[F]?.[0]==="INDENT"){let O=$2(w,F),z=M2(w,F),U=u("TYPE_DECL",R,$);U.data={name:R,kind:"interface",extends:M,typeText:O,exported:D};let H=D?i-1:i,W=z-H+1;return w.splice(H,W,U),0}return 1}return 1});for(let _=c.length-1;_>=0;_--){if(c[_][0]!=="DEF")continue;let i=c[_+1];if(!i||i[0]!=="IDENTIFIER")continue;let w=_+2;if(c[w]?.[0]!=="CALL_START")continue;let n=1;w++;while(w<c.length&&n>0){if(c[w][0]==="CALL_START")n++;if(c[w][0]==="CALL_END")n--;w++}let D=w-1,A=c[w];if(A&&A[0]!=="TERMINATOR")continue;let $=i.data?.returnType;if(!$){for(let U=_+2;U<=D;U++)if(c[U].data?.type){$=!0;break}}if(!$)continue;let R=c.slice(_,w+1),M=_>=1&&c[_-1]?.[0]==="EXPORT",F=M?_-1:_,O=w+1-F,z=u("TYPE_DECL",i[1],i);if(z.data={name:i[1],kind:"overload",overloadTokens:R,exported:M},i.data?.typeParams)z.data.typeParams=i.data.typeParams;c.splice(F,O,z)}}}function v2(f,l){let c=[],h=0,u=l;while(l<f.length){let _=f[l],i=_[0],w=i==="("||i==="["||i==="{"||i==="CALL_START"||i==="PARAM_START"||i==="INDEX_START"||i==="COMPARE"&&_[1]==="<",n=i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="PARAM_END"||i==="INDEX_END"||i==="COMPARE"&&_[1]===">";if(i==="SHIFT"&&_[1]===">>"&&h>=2){h-=2,c.push(_),l++;continue}if(w){h++,c.push(_),l++;continue}if(n){if(h>0){h--,c.push(_),l++;continue}break}if(h===0){if(i==="INDENT"&&c.length>0&&c[c.length-1][0]==="=>"){l++;let D=1;while(l<f.length&&D>0)if(f[l][0]==="INDENT")D++,l++;else if(f[l][0]==="OUTDENT")D--,l++;else c.push(f[l]),l++;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=l-u,c}function W1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let l=f.map((c)=>c[1]).join(" ").replace(/\s+/g," ").trim();return l=l.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,": "),l}function r2(f,l){if(l>=f.length)return null;let c=f[l];if(c[0]!=="COMPARE"||c[1]!=="<")return null;let h=[c],u=1,_=l+1;while(_<f.length&&u>0){let i=f[_];if(h.push(i),i[0]==="COMPARE"&&i[1]==="<")u++;else if(i[0]==="COMPARE"&&i[1]===">")u--;_++}return u===0?h:null}function $2(f,l){let c=[],h=l+1,u=1;while(h<f.length&&u>0){let _=f[h];if(_[0]==="INDENT"){u++,h++;continue}if(_[0]==="OUTDENT"){if(u--,u===0)break;h++;continue}if(_[0]==="TERMINATOR"){h++;continue}if(u===1&&_[0]==="["){let w=[];h++;while(h<f.length&&f[h][0]!=="]")w.push(f[h]),h++;if(h++,f[h]?.[1]===":"||f[h]?.[0]==="TYPE_ANNOTATION")h++;let n=[];while(h<f.length){let $=f[h];if($[0]==="TERMINATOR"||$[0]==="OUTDENT")break;n.push($),h++}let D=W1(w),A=W1(n);c.push(`[${D}]: ${A}`);continue}let i=_[0]==="PROPERTY"||_[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test(_[1])&&f[h+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&i){let w=_[1],n=!1,D=!1;if(h++,w==="readonly"&&f[h]&&(f[h][0]==="PROPERTY"||f[h][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[h][1])&&f[h+1]?.[0]==="TYPE_ANNOTATION")){if(D=!0,w=f[h][1],f[h].data?.predicate)n=!0;h++}if(_.data?.predicate)n=!0;if(f[h]?.[1]==="?"&&!f[h]?.spaced)n=!0,h++;if(f[h]?.[1]===":"||f[h]?.[0]==="TYPE_ANNOTATION")h++;let A=[],$=0;while(h<f.length){let O=f[h];if(O[0]==="IDENTIFIER"&&O[1]==="type"&&f[h+1]?.[0]==="INDENT"){h++;let z=$2(f,h);A.push(["",z]);let U=1;h++;while(h<f.length&&U>0){if(f[h][0]==="INDENT")U++;if(f[h][0]==="OUTDENT")U--;h++}continue}if(O[0]==="INDENT"){$++,h++;continue}if(O[0]==="OUTDENT"){if($>0){$--,h++;continue}break}if(O[0]==="TERMINATOR"&&$===0)break;A.push(O),h++}let R=W1(A),M=D?"readonly ":"",F=n?"?":"";c.push(`${M}${w}${F}: ${R}`)}else h++}return"{ "+c.join("; ")+" }"}function M2(f,l){let c=0;for(let h=l;h<f.length;h++){if(f[h][0]==="INDENT")c++;if(f[h][0]==="OUTDENT"){if(c--,c===0)return h}}return f.length-1}function m4(f,l){let c=l;if(f[c]?.[0]==="TERMINATOR")c++;if(f[c]?.[0]!=="INDENT")return null;let h=c;c++;while(c<f.length&&f[c][0]==="TERMINATOR")c++;if(!f[c]||f[c][1]!=="|")return null;let u=[],_=1;c=h+1;while(c<f.length&&_>0){let w=f[c];if(w[0]==="INDENT"){_++,c++;continue}if(w[0]==="OUTDENT"){if(_--,_===0)break;c++;continue}if(w[0]==="TERMINATOR"){c++;continue}if(w[1]==="|"&&_===1){c++;let n=[];while(c<f.length){let D=f[c];if(D[0]==="TERMINATOR"||D[0]==="OUTDENT"||D[1]==="|"&&_===1)break;n.push(D),c++}if(n.length>0)u.push(W1(n));continue}c++}if(u.length===0)return null;let i=M2(f,h);return{typeText:u.join(" | "),endIdx:i}}var a2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),s2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),U2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},d2=new Set(Object.keys(U2)),g4=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),v4=new Set(["break","continue","debugger"]),r4=new Set(["NEW","TYPEOF","DELETE"]),x4=new Set(["IN","OF","INSTANCEOF"]),t1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),k1=new Set([...t1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),d1=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"]),a4=new Set(["+","-"]),s4=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),d4=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),O1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),U1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),o4={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},o2=new Set(["CATCH","THEN","ELSE","FINALLY",...U1]),R2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),t4=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),k4=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),p4=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"]),t2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),e4=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),P1=new Set(["INDENT","OUTDENT","TERMINATOR"]),H1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",o1=(f,l)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&l?.spaced===!1&&!l?.newLine;return!1},k2=new Set([".","?."]),p2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),u5=new Set([...k1,"++","--"]),e2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),f5=new Set(["*","/","%","//","%%"]),_5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),l5=new Set(["<<",">>",">>>"]),c5=new Set(["!","~"]),h5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,w5=/^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,i5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,n5=/^[^\n\S]+/,D5=/^(?:\n[^\n\S]*)+/,A5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,$5=/^[-=]>/,M5=/^(?:~[=>]|=!)/,R5=/^(?:'''\\|"""\\|'''|"""|'|")/,U5=/^(?:[^\\']|\\[\s\S])*/,F5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,z5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,W5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,u3=/\n+([^\n\S]*)(?=\S)/g,O5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,f3=/^\w*/,H5=/^(?!.*(.).*\1)[gimsuy]*$/,Q5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,Y5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,K5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,q5=/\s+$/,_3=/^\s*(?:,|\??\.(?![.\d]))/,G5=65279;function p1(f,l,{pre:c=0,row:h=0,col:u=0,len:_=0,data:i=null}={}){let w=[f,l];return w.pre=c,w.data=i,w.loc={r:h,c:u,n:_},w.spaced=c>0,w.newLine=!1,w}function $1(f,l,c){let h=p1(f,l);if(h.generated=!0,c)h.origin=c;return h}function M1(f,{row:l=0,col:c=0,len:h=1}={}){let u=SyntaxError(f);throw u.location={first_line:l,first_column:c,last_column:c+h-1},u}function J5(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 F1{tokenize(f,l={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=l.row||0,this.col=l.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)M1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(c),l.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];M1(`missing ${c.tag}`,{row:this.row,col:this.col})}if(l.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===G5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
889
|
-
`),f=f.replace(
|
|
890
|
-
`+f;return f}advance(f){let l=this.code.slice(this.pos,this.pos+f);for(let
|
|
891
|
-
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,l,{len:
|
|
892
|
-
`)return 0;let l=this.prev();if(l)if(f)l.spaced=!0,l.pre=f[0].length;else l.newLine=!0;return f?f[0].length:0}lineToken(){let f=
|
|
893
|
-
`);if(this.isUnfinished()){if(
|
|
894
|
-
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&_3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let
|
|
895
|
-
`)u--;u++;let _=this.chunk.slice(u,
|
|
896
|
-
`)}if(_===0&&l?.length===3)n=n.replace(/^\n/,"");if(_===f.length-1&&l?.length===3)n=n.replace(/\n[^\S\n]*$/,"");if(u)n=n.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${n}"`,{len:w.length,data:{quote:l}})}}if(f.length>1)this.emit("STRING_END",")",{len:l?.length||0});return h}numberToken(){let f=w5.exec(this.chunk);if(!f)return 0;let l=f[0],c=l.length,h={row:this.row,col:this.col};if(/^0[BOX]/.test(l))M1(`radix prefix in '${l}' must be lowercase`,{...h,col:h.col+1});if(/^0\d*[89]/.test(l))M1(`decimal literal '${l}' must not be prefixed with '0'`,{...h,len:c});if(/^0\d+/.test(l))M1(`octal literal '${l}' must be prefixed with '0o'`,{...h,len:c});let u=J5(l),_=u===1/0?"INFINITY":"NUMBER",i={parsedValue:u};if(_==="INFINITY")i.original=l;return this.emit(_,l,{len:c,data:i}),c}regexToken(){let f=this.matchWithInterpolations(Q5,"///");if(f){let{tokens:D,index:A}=f,[$]=f3.exec(this.chunk.slice(A)),R=A+$.length;if(D.length===1||!D.some((M)=>M[0]==="TOKENS")){let M=(D[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${M}/${$}`,{len:R,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(D,{quote:"///",endOffset:R-$.length}),$)this.emit(",",",",{len:0}),this.emit("STRING",`"${$}"`,{len:$.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return R}let l=O5.exec(this.chunk);if(!l)return 0;let[c,h,u]=l,_=this.prev();if(_){if(_.spaced&&t1.has(_[0])&&(!u||/^\/=?\s/.test(c)))return 0;if(u5.has(_[0])&&!(_.spaced&&t1.has(_[0])))return 0}if(!u)M1("missing / (unclosed regex)",{row:this.row,col:this.col});let i=c.length,[w]=f3.exec(this.chunk.slice(i)),n=i+w.length;if(!H5.test(w))M1(`invalid regular expression flags ${w}`,{row:this.row,col:this.col+i,len:w.length});return this.emit("REGEX",`/${h}/${w}`,{len:n,data:{delimiter:"/"}}),n}jsToken(){if(this.chunk[0]!=="`")return 0;let f=K5.exec(this.chunk)||Y5.exec(this.chunk);if(!f)return 0;let l=f[1],c=f[0].length;return this.emit("JS",l,{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,h=c!==f,u=1,_=3;while(_<this.chunk.length&&u>0){let D=this.chunk[_];if(D==="\\"){_+=2;continue}if(h&&D===f)u++;if(D===c)u--;if(u>0)_++}if(u!==0)return 0;let i=this.chunk.slice(3,_),w=_+1,n=[];if(i.trim()){let D=i.trim().split(/(?<!\\)\s+/);for(let A of D)n.push(A.replace(/\\ /g," "))}this.emit("[","[",{len:w});for(let D=0;D<n.length;D++){if(D>0)this.emit(",",",");this.emit("STRING",`"${n[D]}"`)}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 l=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!l)return 0;let c=l[1],h=c.length+1;return this.emit("SYMBOL",c,{len:h}),h}literalToken(){let f=this.wordLiteral();if(f)return f;let l=this.symbolToken();if(l)return l;let c=i5.exec(this.chunk),h=c?c[0]:this.chunk.charAt(0),u=h,_=this.prev();if($5.test(h))this.tagParameters();if(h==="="&&_&&_[1]==="."&&!_.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 n=i.slice(w,i.length-1);_[0]="=",_[1]="=";for(let D of n)this.tokens.push(p1(D[0],D[1],{pre:0,row:D[2],col:D[3],len:D[4]}));return this.tokens.push(p1(".",".",{pre:0,row:this.row,col:this.col,len:1})),h.length}}if(_&&(h==="="||e2.has(h))){if(h==="="&&(_[1]==="||"||_[1]==="&&"||_[1]==="??")&&!_.spaced)return _[0]="COMPOUND_ASSIGN",_[1]+="=",h.length}if(h==="("&&_?.[0]==="IMPORT")_[0]="DYNAMIC_IMPORT";if(h==="{"&&this.seenImport)this.importSpecifierList=!0;if(h==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(h==="{"&&_?.[0]==="EXPORT")this.exportSpecifierList=!0;if(h==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(h===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(h==="|>")u="PIPE";else if(h==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(h==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(h==="~=")u="COMPUTED_ASSIGN";else if(h===":=")u="REACTIVE_ASSIGN";else if(h==="<=>")u="BIND";else if(h==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(h==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(h==="*>"&&(!_||_[0]==="TERMINATOR"||_[0]==="INDENT"||_[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 D=w[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let A=this.emit("PROPERTY","assign");return A.spaced=!0,this.emit("@","@"),this.emit(",",","),3+D.length+1}let n=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(i);if(n){let D=n[1],A=n[2],$=D[0]==="@",R=$?D.slice(1):D,M=R?R.split("."):[],F=()=>{if($){if(this.emit("@","@"),M.length>0)this.emit("PROPERTY",M[0])}else this.emit("IDENTIFIER",M[0]);for(let z=1;z<M.length;z++)this.emit(".","."),this.emit("PROPERTY",M[z])};F(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),F(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let O=this.prev();return O.mergeClose=!0,2+D.length+A.length+1}}else if(h==="*"&&_?.[0]==="EXPORT")u="EXPORT_ALL";else if(f5.has(h))u="MATH";else if(_5.has(h))u="COMPARE";else if(e2.has(h))u="COMPOUND_ASSIGN";else if(c5.has(h))u="UNARY_MATH";else if(l5.has(h))u="SHIFT";else if(h==="?"&&_?.spaced)u="TERNARY";else if(h==="?!"&&_&&!_.spaced)u="PRESENCE";else if(h==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if(_){if(h==="("&&!_.spaced&&t1.has(_[0])){if(_[0]==="?.")_[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(h==="["&&!_.spaced&&k1.has(_[0])){if(u="INDEX_START",_[0]==="?.")_[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(h==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(h==="("||h==="{"||h==="[")this.ends.push({tag:o4[h],origin:[u,h]});else if(h===")"||h==="}"||h==="]")this.pair(h);return this.emit(u,h,{len:h.length}),h.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,l=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let c=this.tokens[f];if(c[0]===")")l.push(c);else if(c[0]==="("||c[0]==="CALL_START")if(l.length)l.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 l=this.tokens[f??this.tokens.length-1];if(l?.[0]==="DO")l[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 l=0;l<f.length;l++){if(f[l][0]!=="MATH"||f[l][1]!=="*")continue;let c=f[l+1];if(!c||c[0]!=="{")continue;if(f[l].spaced||f[l].newLine)continue;let h=f[l-1];if(h&&k1.has(h[0]))continue;f.splice(l,1),f[l][0]="MAP_START";let u=1;for(let _=l+1;_<f.length&&u>0;_++){let i=f[_][0];if(i==="{"||i==="MAP_START")u++;if(i==="}"){if(u--,u===0)f[_][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let l=0;l<f.length;l++){let c=f[l][0];if(c!=="."&&c!=="?.")continue;let h=f[l+1];if(!h||h[0]!=="{")continue;if(f[l].spaced||f[l].newLine)continue;let u=f[l-1];if(!u||!k1.has(u[0]))continue;let _=c==="?.";f.splice(l,1),f[l][0]=_?"OPTPICK_START":"PICK_START";let i=1;for(let w=l+1;w<f.length&&i>0;w++){let n=f[w][0];if(n==="{"||n==="PICK_START"||n==="OPTPICK_START")i++;else if(n==="}"){if(i--,i===0){f[w][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,l)=>{if(f[0]==="CALL_START")this.detectEnd(l+1,(c)=>c[0]===")"||c[0]==="CALL_END",(c)=>c[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,l)=>{if(f[0]==="INDEX_START")this.detectEnd(l+1,(c)=>c[0]==="]"||c[0]==="INDEX_END",(c,h)=>{if(this.tokens[h+1]?.[0]===":")f[0]="[",c[0]="]";else c[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,l=null,c=null,h=(_,i)=>{return _[1]!==";"&&e4.has(_[0])&&!(_[0]==="TERMINATOR"&&o2.has(this.tokens[i+1]?.[0]))&&!(_[0]==="ELSE"&&f!=="THEN")||_[0]==="INDENT"&&!_.generated&&(f==="->"||f==="=>")||_[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(i)&&!this.commaInImplicitObject(i)||k2.has(_[0])&&(this.tokens[i-1]?.newLine||this.tokens[i-1]?.[0]==="OUTDENT")},u=(_,i)=>{let w=this.tokens[i-1]?.[0]===","?i-1:i;this.tokens.splice(w,0,c)};this.scanTokens((_,i,w)=>{let[n]=_;if(n==="TERMINATOR"){if(this.tokens[i+1]?.[0]==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")return w.splice(i,1,...this.makeIndentation()),1;if(o2.has(this.tokens[i+1]?.[0]))return w.splice(i,1),0}if(n==="CATCH")for(let D=1;D<=2;D++){let A=this.tokens[i+D]?.[0];if(A==="OUTDENT"||A==="TERMINATOR"||A==="FINALLY")return w.splice(i+D,0,...this.makeIndentation()),2+D}if((n==="->"||n==="=>")&&(this.tokens[i+1]?.[0]===","||this.tokens[i+1]?.[0]==="]"))return[l,c]=this.makeIndentation(),w.splice(i+1,0,l,c),1;if(t2.has(n)&&this.tokens[i+1]?.[0]!=="INDENT"&&!(n==="ELSE"&&this.tokens[i+1]?.[0]==="IF")&&!(n==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")){if(f=n,[l,c]=this.makeIndentation(),n==="THEN")l.fromThen=!0;if(w.splice(i+1,0,l),n==="THEN"&&this.singleLineOwner(i)==="LEADING_WHEN")this.detectWhenThenEnd(i+2,h,u);else this.detectEnd(i+2,h,u);if(n==="THEN")w.splice(i,1);return 1}return 1})}singleLineOwner(f){let l=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let c=f-1;c>=0;c--){let h=this.tokens[c],u=h?.[0];if(l.has(u))return u;if(P1.has(u)||h?.newLine)return null}return null}detectWhenThenEnd(f,l,c){let h=0,u=0;while(f<this.tokens.length){let _=this.tokens[f],i=_[0];if(h===0){if(i==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(i==="ELSE"&&u>0)u--;else if(l.call(this,_,f))return c.call(this,_,f)}if(O1.has(i))h++;if(U1.has(i))h--;if(h<0)return c.call(this,_,f);f++}}tagPostfixConditionals(){let f=null,l=(h,u)=>{return h[0]==="TERMINATOR"||h[0]==="INDENT"&&!t2.has(this.tokens[u-1]?.[0])},c=(h)=>{if(h[0]!=="INDENT"||h.generated&&!h.fromThen)f[0]="POST_"+f[0]};this.scanTokens((h,u)=>{if(h[0]!=="IF"&&h[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=h,this.detectEnd(u+1,l,c),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let l=f.length-2;l>=0;l--)if(f[l][0]==="IDENTIFIER"&&f[l][1]==="$"&&(f[l+1]?.[0]==="STRING"||f[l+1]?.[0]==="STRING_START")){let c=f[l-1];if(c&&t4.has(c[0])){if(f.splice(l,1),c.spaced=!1,f[l].spaced=!1,f[l].pre=0,f[l].newLine)f[l].newLine=!1}}}addImplicitBracesAndParens(){let f=[],l=!1;this.scanTokens((c,h,u)=>{let[_]=c,i=u[h-1]||[],w=u[h+1]||[],[n]=i,[D]=w,A=h,$=(G)=>h-A+G,R=()=>f[f.length-1],M=(G)=>G?.[2]?.ours,F=()=>M(R())&&R()?.[0]==="(",O=()=>M(R())&&R()?.[0]==="{",z=(G)=>{f.push(["(",G,{ours:!0}]),u.splice(G,0,$1("CALL_START","("))},U=()=>{f.pop(),u.splice(h,0,$1("CALL_END",")")),h+=1},H=(G,S={})=>{f.push(["{",G,{sameLine:!0,startsLine:S.startsLine??!0,ours:!0}]);let N=$1("{","{");if(!N.data)N.data={};N.data.generated=!0,u.splice(G,0,N)},W=(G)=>{G=G??h,f.pop(),u.splice(G,0,$1("}","}")),h+=1},Q=_==="FOR"&&!c.newLine&&p4.has(n);if((F()||O())&&k4.has(_)&&!Q)return f.push(["CONTROL",h,{ours:!0}]),$(1);if(_==="INDENT"&&M(R())){if(n!=="=>"&&n!=="->"&&n!=="["&&n!=="("&&n!==","&&n!=="{"&&n!=="ELSE"&&n!=="=")while(F()||O()&&n!==":")if(F())U();else W();if(R()?.[2]?.ours&&R()[0]==="CONTROL")f.pop();return f.push([_,h]),$(1)}if(O1.has(_))return f.push([_,h]),$(1);if(U1.has(_)){while(M(R()))if(F())U();else if(O())W();else f.pop();f.pop()}let q=!1;if(D==="-"&&!w.spaced&&!w.newLine&&H1(c))for(let G=h;G<u.length-2;G+=2){if(!o1(u[G+1],u[G+2]))break;if(!H1(u[G+2]))break;if(u[G+3]?.[0]===":"){q=!0;break}}if(!q&&R2.has(_)&&c.spaced&&(d1.has(D)||D==="..."&&d1.has(u[h+2]?.[0])||a4.has(D)&&!w.spaced&&!w.newLine)&&!((_==="]"||_==="}")&&(D==="->"||D==="=>")))return z(h+1),$(2);if(R2.has(_)&&this.tokens[h+1]?.[0]==="INDENT"&&this.looksObjectish(h+2)&&!this.findTagsBackwards(h,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return z(h+1),f.push(["INDENT",h+2]),$(3);if(_==="TERNARY")l=!0;if(_===":"){if(l)return l=!1,$(1);if(H1(u[h-1])&&o1(u[h-2],u[h-1])){let N=h-2;while(N>=2&&o1(u[N],u[N+1])&&H1(u[N-1]))N-=2;if(N+=1,H1(u[N])){let v="";for(let T=N;T<h;T++)v+=u[T][1];let L=$1("STRING",`"${v}"`,u[N]);L.pre=u[N].pre,L.spaced=u[N].spaced,L.newLine=u[N].newLine,L.loc=u[N].loc,u.splice(N,h-N,L),h=N+1}}let G=U1.has(this.tokens[h-1]?.[0])?f[f.length-1]?.[1]??h-1:h-1;if(this.tokens[h-2]?.[0]==="@")G=h-2;let S=G<=0||P1.has(this.tokens[G-1]?.[0])||this.tokens[G-1]?.newLine;if(R()){let[N,v]=R(),L=f[f.length-2],T=(Z)=>Z==="{"||Z==="MAP_START"||Z==="PICK_START"||Z==="OPTPICK_START";if((T(N)||N==="INDENT"&&T(L?.[0])&&!M(L))&&(S||this.tokens[G-1]?.[0]===","||T(this.tokens[G-1]?.[0])||T(this.tokens[G]?.[0])))return $(1)}return H(G,{startsLine:!!S}),$(2)}if(P1.has(_))for(let G=f.length-1;G>=0;G--){if(!M(f[G]))break;if(f[G][0]==="{")f[G][2].sameLine=!1}let K=n==="OUTDENT"||i.newLine,Y=_==="||"||_==="&&",J=!1;if(Y){let G=h+1,S=u[G]?.[0];if(S==="("||S==="["||S==="{"){for(let N=1;++G<u.length&&N>0;)if(S=u[G][0],S==="("||S==="["||S==="{")N++;else if(S===")"||S==="]"||S==="}")N--}else if(S&&S!=="TERMINATOR"&&S!=="OUTDENT"&&S!==",")G++;J=u[G]?.[0]===","}if(s4.has(_)&&!J||k2.has(_)&&K)while(M(R())){let[G,,{sameLine:S,startsLine:N}]=R();if(F()&&n!==",")U();else if(O()&&!Y&&S&&_!=="TERMINATOR"&&n!==":")W();else if(O()&&_==="TERMINATOR"&&n!==","&&!(N&&this.looksObjectish(h+1)))W();else if(R()?.[2]?.ours&&R()[0]==="CONTROL"&&u[R()[1]]?.[0]==="CLASS"&&_==="TERMINATOR")f.pop();else break}if(_===","&&!this.looksObjectish(h+1)&&O()&&(D!=="TERMINATOR"||!this.looksObjectish(h+2))){let G=D==="OUTDENT"?1:0;while(O())W(h+G)}return $(1)})}addImplicitCallCommas(){let f=0,l=0,c=this.tokens;while(l<c.length){let h=c[l][0],u=l>0?c[l-1][0]:null;if(h==="CALL_START"||h==="(")f++;if(h==="CALL_END"||h===")")f--;if(f>0&&(h==="->"||h==="=>")&&d4.has(u))c.splice(l,0,$1(",",",")),l++;l++}}scanTokens(f){let l=0;while(l<this.tokens.length)l+=f.call(this,this.tokens[l],l,this.tokens)}detectEnd(f,l,c,h={}){let u=0;while(f<this.tokens.length){let _=this.tokens[f];if(u===0&&l.call(this,_,f))return c.call(this,_,f);if(O1.has(_[0]))u++;if(U1.has(_[0]))u--;if(u<0){if(h.returnOnNegativeLevel)return;return c.call(this,_,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let l=0;l<f.length;l++){if(!f[l].mergeClose)continue;let c=0;for(let h=l+1;h<f.length;h++){let u=f[h][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(h,0,$1("CALL_END",")",f[h-1]));break}if(h===f.length-1){f.splice(h+1,0,$1("CALL_END",")",f[h]));break}}}}commaInImplicitCall(f){let l=0;for(let c=f-1;c>=0;c--){let h=this.tokens[c][0];if(U1.has(h)){l++;continue}if(O1.has(h)){if(h==="INDENT")return!1;if(l--,l<0)return!1;continue}if(l>0)continue;if(R2.has(h)&&this.tokens[c].spaced){let u=this.tokens[c+1]?.[0];return d1.has(u)||u==="..."&&d1.has(this.tokens[c+2]?.[0])}}return!1}commaInImplicitObject(f){let l=0;for(let c=f-1;c>=0;c--){let h=this.tokens[c][0];if(U1.has(h)){l++;continue}if(O1.has(h)){if(l--,l<0)return!1;continue}if(l>0)continue;if(h===":"&&c>0&&this.tokens[c-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(P1.has(h))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(H1(this.tokens[f]))for(let l=f+1;l<this.tokens.length;l+=2){if(!o1(this.tokens[l],this.tokens[l+1]))break;if(!H1(this.tokens[l+1]))break;if(this.tokens[l+2]?.[0]===":")return!0}if(O1.has(this.tokens[f]?.[0])){let l=null;if(this.detectEnd(f+1,(c)=>U1.has(c[0]),(c,h)=>l=h),l&&this.tokens[l+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,l){let c=new Set(l),h=[];while(f>=0){let u=this.tokens[f]?.[0];if(!h.length&&c.has(u))return!0;if(U1.has(u))h.push(u);if(O1.has(u)&&h.length)h.pop();if(!h.length&&(O1.has(u)&&!this.tokens[f]?.generated||P1.has(u)))break;f--}return!1}makeIndentation(f){let l=$1("INDENT",2),c=$1("OUTDENT",2);if(f)l.generated=c.generated=!0,l.origin=c.origin=f;else l.explicit=c.explicit=!0;return[l,c]}}x2(F1);s1(F1);var S5=["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"],l3=new Set(S5);var Z5=["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 X5=["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"],P5=["math","param","portal"],c3=new Set([...Z5,...P5]),Q1=new Set(X5),Y1=new Set([...c3,...Q1]);var h3="__bind_",w3="__",F2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),N5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),z2="http://www.w3.org/2000/svg";function I5(f){for(let l of f){if(!Array.isArray(l))continue;let c=l[1]instanceof String?l[1].valueOf():l[1],h=l[2]instanceof String?l[2].valueOf():l[2];if(c==="type"&&typeof h==="string")return h.replace(/^["']|["']$/g,"")}return null}function K1(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 W2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function O2(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 i3(f,l){let c=(w,n)=>w instanceof String?w[n]:void 0,h=l.prototype.classifyKeyword;l.prototype.classifyKeyword=function(w,n,D){if(w==="offer"||w==="accept"){let A=0;for(let $=this.tokens.length-1;$>=0;$--){let R=this.tokens[$][0];if(R==="OUTDENT")A++;else if(R==="INDENT")A--;if(A<0&&this.tokens[$-1]?.[0]==="COMPONENT")return w.toUpperCase()}return n}return h.call(this,w,n,D)},l.prototype.rewriteRender=function(){let w=(U,H,W)=>{let Q=[U,H];if(Q.pre=0,Q.data=null,Q.loc=W?.loc??{r:0,c:0,n:0},Q.spaced=!1,Q.newLine=!1,Q.generated=!0,W)Q.origin=W;return Q},n=!1,D=0,A=0,$=[],R=(U)=>{let H=U.split("#")[0];return Y1.has(H)},M=(U)=>{if(!U||typeof U!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(U)},F=(U)=>{return R(U)||M(U)},O=(U,H,W,Q)=>{let q=1,K=H;while(K>=0&&q>0){let Y=U[K][0];if(Y===W)q++;else if(Y===Q)q--;if(q>0)K--}return K},z=(U,H)=>{let W=H;while(W>0){let Q=U[W-1][0];if(Q==="TERMINATOR"||Q==="RENDER")break;if(Q==="INDENT"||Q==="OUTDENT"){let q=U[W][0];if(q==="CALL_END"||q===")"){W=O(U,W-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(Q==="CALL_END"||Q===")"){W=O(U,W-2,Q,Q==="CALL_END"?"CALL_START":"(");continue}if(Q==="INTERPOLATION_END"){W=O(U,W-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Q==="STRING_END"){W=O(U,W-2,"STRING_END","STRING_START");continue}W--}return U[W]&&U[W][0]==="IDENTIFIER"&&(F(U[W][1])||(W===0||U[W-1][0]==="INDENT"||U[W-1][0]==="TERMINATOR"||U[W-1][0]==="RENDER"))};this.scanTokens(function(U,H,W){let Q=U[0],q=H<W.length-1?W[H+1]:null;if(Q==="RENDER")return n=!0,D=A+1,1;if(Q==="INDENT")return A++,1;if(Q==="OUTDENT"){A--;let K=0;while($.length>0&&$[$.length-1]>A){let Y=w("CALL_END",")",U);W.splice(H+1+K,0,Y),$.pop(),K++}if(n&&A<D)n=!1;return 1+K}if(!n)return 1;if(Q==="="&&H>0){let K=W[H-1][0];if(K==="TERMINATOR"||K==="INDENT"||K==="RENDER"){let Y=w("IDENTIFIER","__text__",U),J=w("CALL_START","(",U);return W.splice(H,1,Y,J),this.detectEnd(H+2,(G)=>G[0]==="TERMINATOR"||G[0]==="OUTDENT",(G,S)=>W.splice(S,0,w("CALL_END",")",G)),{returnOnNegativeLevel:!0}),2}}if(Q==="UNARY_MATH"&&U[1]==="~"&&q&&q[0]==="IDENTIFIER"){U[0]="PROPERTY",U[1]="__transition__";let K=w(":",":",U),Y=w("STRING",`"${q[1]}"`,q);return W.splice(H+1,1,K,Y),1}if(Q==="PROPERTY"&&U[1][0]==="$"&&U[1].length>1)return U[0]="STRING",U[1]=`"data-${U[1].slice(1)}"`,1;if(Q==="IDENTIFIER"&&!U.spaced){let K=[U[1]],Y=H+1;while(Y+1<W.length){let J=W[Y],G=W[Y+1];if(J[0]==="-"&&!J.spaced&&(G[0]==="IDENTIFIER"||G[0]==="PROPERTY")){if(K.push(G[1]),Y+=2,G[0]==="PROPERTY")break}else break}if(K.length>1&&Y>H+1&&W[Y-1][0]==="PROPERTY"){let J=K.join("-");if(J[0]==="$")J="data-"+J.slice(1);return U[0]="STRING",U[1]=`"${J}"`,W.splice(H+1,Y-H-1),1}}if(Q==="."){let K=H>0?W[H-1]:null,Y=K?K[0]:null;if(Y==="INDENT"||Y==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let J=H+2<W.length?W[H+2]:null;if(!J||J[0]!==":"){let G=w("IDENTIFIER","div",U);return W.splice(H,0,G),2}}if(!q||q[0]!=="(")return U[0]="IDENTIFIER",U[1]="div",0}}if(Q==="IDENTIFIER"||Q==="PROPERTY"){let K=W[H+1],Y=W[H+2];if(K&&K[0]==="#"&&Y&&(Y[0]==="PROPERTY"||Y[0]==="IDENTIFIER")){if(U[1]=U[1]+"#"+Y[1],Y.spaced)U.spaced=!0;return W.splice(H+1,2),0}}if(Q==="BIND"){let K=H>0?W[H-1]:null,Y=W[H+1];if(K&&(K[0]==="IDENTIFIER"||K[0]==="PROPERTY")&&Y&&Y[0]==="IDENTIFIER")return K[1]=`__bind_${K[1]}__`,U[0]=":",U[1]=":",1}if(Q==="@"){let K=H+1;if(K<W.length&&W[K][0]==="PROPERTY"){K++;while(K+1<W.length&&W[K][0]==="."&&W[K+1][0]==="PROPERTY")K+=2;if(K>H+2&&K<W.length&&W[K][0]===":"){let Y=w("[","[",U);W.splice(H,0,Y);let J=w("]","]",W[K+1]);return W.splice(K+1,0,J),2}}}if(Q==="."&&q&&q[0]==="("){let K=H>0?W[H-1]:null,Y=K?K[0]:null,J=Y==="INDENT"||Y==="TERMINATOR",G=w("PROPERTY","__clsx",U);q[0]="CALL_START";let S=1;for(let N=H+2;N<W.length&&S>0;N++)if(W[N][0]==="("||W[N][0]==="CALL_START")S++;else if(W[N][0]===")"){if(S--,S===0)W[N][0]="CALL_END"}else if(W[N][0]==="CALL_END")S--;if(J){let N=w("IDENTIFIER","div",U);return W.splice(H,0,N),W.splice(H+2,0,G),3}else if(Y===":")return W[H]=w("IDENTIFIER","__clsx",U),1;else return W.splice(H+1,0,G),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(Q==="->"||Q==="=>"||Q==="CALL_START"||Q==="(")return 1;let K=!1,Y=H>0?W[H-1][0]:null,J=Y==="IF"||Y==="UNLESS"||Y==="WHILE"||Y==="UNTIL"||Y==="WHEN"||Y==="FORIN"||Y==="FOROF"||Y==="FORAS"||Y==="FORASAWAIT"||Y==="BY",G=!1;if(Q==="CALL_END"){let N=1;for(let v=H-1;v>=0&&N>0;v--)if(W[v][0]==="CALL_END")N++;else if(W[v][0]==="CALL_START"){if(N--,N===0&&v>0&&W[v-1][0]==="PROPERTY"&&W[v-1][1]==="__clsx")G=!0}}let S=Q==="IDENTIFIER"&&(Y==="INDENT"||Y==="TERMINATOR"||Y==="RENDER");if(G)K=!0;else if(Q==="IDENTIFIER"&&F(U[1])&&!J)K=!0;else if(Q==="IDENTIFIER"&&!J)K=S||z(W,H);else if(Q==="PROPERTY"||Q==="STRING"||Q==="STRING_END"||Q==="NUMBER"||Q==="BOOL"||Q==="CALL_END"||Q===")"||Q==="PRESENCE")K=z(W,H);if(K){let N=!1;if(Q==="PROPERTY"&&H>0&&W[H-1][0]==="."){let L=H;while(L>=2&&W[L-1][0]==="."&&W[L-2][0]==="PROPERTY")L-=2;if(L>=2&&W[L-1][0]==="."&&W[L-2][0]==="IDENTIFIER"&&F(W[L-2][1])){let T=L>=3?W[L-3][0]:null;if(!T||T==="INDENT"||T==="OUTDENT"||T==="TERMINATOR"||T==="RENDER")N=!0}}if(G||Q==="IDENTIFIER"&&(F(U[1])||S)||N){let L=w("CALL_START","(",U),T=w("->","->",U);return T.newLine=!0,W.splice(H+1,0,L,T),$.push(A+1),3}else{let L=w(",",",",U),T=w("->","->",U);return T.newLine=!0,W.splice(H+1,0,L,T),3}}}if(Q==="IDENTIFIER"&&M(U[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return W.splice(H+1,0,w("CALL_START","(",U),w("CALL_END",")",U)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(w){let n=w.split("#")[0];return Y1.has(n.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 n=[],D=w;while(this.is(D,".")){let M=D[2];if(typeof M==="string"||M instanceof String)n.unshift(M.valueOf());D=D[1]}let A=typeof D==="string"?D:D instanceof String?D.valueOf():null;if(A===null)return{tag:null,classes:n,id:void 0,base:D};let[$,R]=A.split("#");if(!$)$="div";return{tag:$,classes:n,id:R,base:D}};let _=(w)=>typeof w==="string"?w:w instanceof String?w.valueOf():null,i=(w,n)=>{if(!(w instanceof String))return n;let D=new String(n);if(w.predicate)D.predicate=!0;if(w.await)D.await=!0;return D.predicate||D.await?D:n};u.transformComponentMembers=function(w,n=new Set){let D=this._self;if(!Array.isArray(w)){let A=_(w);if(A&&n.has(A))return w;if(A&&this.reactiveMembers&&this.reactiveMembers.has(A))return[".",[".",D,A],i(w,"value")];if(A&&this.componentMembers&&this.componentMembers.has(A))return[".",D,i(w,A)];return w}if(w[0]==="."&&w[1]==="this"&&_(w[2])!=null){let A=w[2],$=_(A);if(this.reactiveMembers&&this.reactiveMembers.has($))return[".",[".",D,$],i(A,"value")];return this._factoryMode?[".",D,A]:w}if(w[0]==="."||w[0]==="?.")return[w[0],this.transformComponentMembers(w[1]),w[2]];if(w[0]==="->"){let A=w[1],$=new Set(n);if(Array.isArray(A))for(let R of A){let M=_(Array.isArray(R)&&R[0]==="default"?R[1]:R);if(M)$.add(M)}return["=>",w[1],this.transformComponentMembers(w[2],$)]}if(w[0]==="object"||w[0]==="map-literal")return[w[0],...w.slice(1).map((A)=>{if(Array.isArray(A)&&A[0]==="...")return["...",this.transformComponentMembers(A[1],n)];if(Array.isArray(A)&&A.length>=2){let $=A[1],R=Array.isArray($)?this.transformComponentMembers($,n):$,M=this.transformComponentMembers(A[2],n);return[A[0],R,M]}return this.transformComponentMembers(A,n)})];if(w[0]==="block"||w[0]==="program"){let A=new Set(n),$=[w[0]];for(let R=1;R<w.length;R++){let M=w[R];if(Array.isArray(M)&&M[0]==="="){let F=_(M[1]);if(F&&!(this.reactiveMembers&&this.reactiveMembers.has(F))){$.push(["=",M[1],this.transformComponentMembers(M[2],A)]),A.add(F);continue}}$.push(this.transformComponentMembers(M,A))}return $}return w.map((A)=>this.transformComponentMembers(A,n))},u.emitComponent=function(w,n,D,A){let[,$]=n,R=this.is($,"block")?$.slice(1):[],M=[],F=[],O=[],z=[],U=[],H=[],W=[],Q=[],q=null,K=new Set,Y=new Set;for(let X of R){if(!Array.isArray(X))continue;let[E]=X;if(E==="offer"){if(X=X[1],!Array.isArray(X))continue;E=X[0];let y=K1(X[1]);if(y)W.push(y)}if(E==="accept"){let y=typeof X[1]==="string"?X[1]:K1(X[1]);if(y)Q.push(y),K.add(y),Y.add(y)}else if(E==="."&&X[1]==="this"&&K1(X)){let y=typeof X[2]==="string"||X[2]instanceof String?X[2].valueOf():null;if(y)M.push({name:y,value:void 0,isPublic:!0,type:X[2]?.type||null,required:!0}),K.add(y),Y.add(y)}else if(E==="state"){let y=K1(X[1]);if(y)M.push({name:y,value:X[2],isPublic:W2(X[1]),type:O2(X[1])}),K.add(y),Y.add(y)}else if(E==="computed"){let y=K1(X[1]);if(y)F.push({name:y,expr:X[2],type:O2(X[1])}),K.add(y),Y.add(y)}else if(E==="readonly"){let y=K1(X[1]);if(y)O.push({name:y,value:X[2],isPublic:W2(X[1]),type:O2(X[1])}),K.add(y)}else if(E==="="){let y=K1(X[1]);if(y)if(F2.has(y))U.push({name:y,value:X[2]});else{let g=X[2];if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>"))z.push({name:y,func:g}),K.add(y);else M.push({name:y,value:g,isPublic:W2(X[1])}),K.add(y),Y.add(y)}}else if(E==="effect")H.push(X);else if(E==="render")q=X;else if(E==="object")for(let y=1;y<X.length;y++){let g=X[y];if(!Array.isArray(g))continue;let[,o,c1]=g;if(typeof o==="string"&&F2.has(o))U.push({name:o,value:c1});else if(typeof o==="string")z.push({name:o,func:c1}),K.add(o)}}let J=new Map;for(let{name:X}of z)if(/^on[A-Z]/.test(X)&&!F2.has(X)){let E=X[2].toLowerCase()+X.slice(3);if(l3.has(E))J.set(E,X)}let G=n[0]?.valueOf?.()??null,S=new Set;for(let{name:X,isPublic:E}of M)if(E)S.add(X);for(let{name:X,isPublic:E}of O)if(E)S.add(X);let N=this.componentMembers,v=this.reactiveMembers,L=this._autoEventHandlers,T=this._inheritsTag;if(this.componentMembers=K,this.reactiveMembers=Y,this._autoEventHandlers=J.size>0?J:null,this._inheritsTag=G||null,this.options.stubComponents){let X=(P)=>P?P.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,E=[],y=this._componentTypeParams||"";E.push(`class ${y}{`),E.push(" declare _root: Element | null; declare app: any;"),E.push(" emit(_name: string, _detail?: any): void {}");let g=[];for(let{name:P,type:B,isPublic:V,required:x}of M){if(!V)continue;let t=X(B),e=x?"":"?";g.push(`${P}${e}: ${t||"any"}`),g.push(`__bind_${P}__?: Signal<${t||"any"}>`)}for(let{name:P,type:B,isPublic:V}of O){if(!V)continue;let x=X(B);g.push(`${P}?: ${x||"any"}`)}{let B=g.length>0&&M.some((x)=>x.isPublic&&x.required)?"":"?",V=g.length>0?`{${g.join("; ")}}`:"{}";if(G)V+=` & __RipProps<'${G}'>`;E.push(` constructor(_props${B}: ${V}) {}`)}let o=(P)=>{let B=P?.valueOf?.()??P;if(typeof B!=="string")return null;if(B==="true"||B==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(B))return"number";if(B.startsWith('"')||B.startsWith("'"))return"string";return null};for(let{name:P,type:B,value:V}of M){let x=X(B)||o(V);E.push(x?` declare ${P}: Signal<${x}>;`:` declare ${P}: Signal<any>;`)}for(let{name:P,type:B,value:V}of O){let x=X(B)||o(V);E.push(x?` declare ${P}: ${x};`:` declare ${P}: any;`)}for(let{name:P,expr:B,type:V}of F){let x=X(V),t=x?`: Computed<${x}>`:"";if(this.is(B,"block")){let e=this.transformComponentMembers(B),C=this.emitFunctionBody(e);E.push(` ${P}${t} = __computed(() => ${C});`)}else{let e=this.emitInComponent(B,"value");E.push(` ${P}${t} = __computed(() => ${e});`)}}E.push(" _init(props) {");for(let{name:P,value:B,isPublic:V}of O){let x=this.emitInComponent(B,"value");E.push(V?` this.${P} = props.${P} ?? ${x};`:` this.${P} = ${x};`)}for(let{name:P,value:B,isPublic:V,required:x,type:t}of M)if(V&&x)E.push(` this.${P} = __state(props.__bind_${P}__ ?? props.${P});`);else if(V){let e=this.emitInComponent(B,"value");E.push(` this.${P} = __state(props.__bind_${P}__ ?? props.${P} ?? ${e});`)}else{let e=this.emitInComponent(B,"value");E.push(` this.${P} = __state(${e});`)}for(let P of H){let B=P[2],V=this.containsAwait(B)?"async ":"";if(this.is(B,"block")){let x=this.transformComponentMembers(B),t=this.emitFunctionBody(x,[],!0);E.push(` __effect(${V}() => ${t});`)}else{let x=this.emitInComponent(B,"value");E.push(` __effect(${V}() => { ${x}; });`)}}E.push(" }");let c1=new Map;for(let[P,B]of J)c1.set(B,P);if(q){let P=(B)=>{if(!Array.isArray(B))return;let V=B[0]?.valueOf?.()??B[0];if(typeof V==="string"&&V!=="object"&&V!=="switch"&&Y1.has(V.split(/[.#]/)[0]))for(let x=1;x<B.length;x++){let t=B[x],e=this.is(t,"object")?t:null;if(!e&&Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let C=1;C<t[2].length;C++)if(this.is(t[2][C],"object")){e=t[2][C];break}}if(!e)continue;for(let C=1;C<e.length;C++){let a=e[C];if(!Array.isArray(a)||a.length<2)continue;let[,d,p]=a;if(Array.isArray(d)&&d[0]==="."&&d[1]==="this"&&Array.isArray(p)&&p[0]==="."&&p[1]==="this"){let I=typeof d[2]==="string"?d[2]:d[2]?.valueOf?.(),r=typeof p[2]==="string"?p[2]:p[2]?.valueOf?.();if(I&&r&&!c1.has(r))c1.set(r,I)}}}for(let x=1;x<B.length;x++)P(B[x])};P(q)}for(let{name:P,func:B}of z)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,V,x]=B;if((!V||Array.isArray(V)&&V.length===0)&&this.containsIt(x))V=["it"];let t=Array.isArray(V)?V.map((p)=>{let I=this.formatParam(p);if(p?.type)I+=`: ${p.type}`;return I}).join(", "):"",e=c1.get(P);if(e&&Array.isArray(V)&&V.length>0){let p=V[0];if(!(p?.type||p instanceof String&&p.type)&&typeof(p?.valueOf?.()??p)==="string"){let r=p?.valueOf?.()??p;t=t.replace(r,`${r}: HTMLElementEventMap['${e}']`)}}let C=this.reactiveMembers?this.transformComponentMembers(x):x,a=this.containsAwait(x),d=this.emitFunctionBody(C,V||[]);E.push(` ${a?"async ":""}${P}(${t}) ${d}`)}for(let{name:P,value:B}of U)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,V,x]=B,t=Array.isArray(V)?V.map((d)=>this.formatParam(d)).join(", "):"",e=this.reactiveMembers?this.transformComponentMembers(x):x,C=this.containsAwait(x),a=this.emitFunctionBody(e,V||[]);E.push(` ${C?"async ":""}${P}(${t}) ${a}`)}if(q){let P=[],B=0,V=this.options.source?.split(`
|
|
897
|
-
`),
|
|
898
|
-
`)}this.usesTemplates=!0,this.usesReactivity=!0;let
|
|
884
|
+
`;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,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[112,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,147,148,149,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,165,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,169,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,172,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,179,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,180,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,181,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,192,191,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,203,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,94,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,211,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,212,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,145,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,214,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,144,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,222,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,63,14,1,3,1,1,1,6,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,244,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,245,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,246,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,262,263,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,86,264,1,86,265,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,288,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,290,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,6,57,5,1,1,2,1,307,110,111,304,305,306,114,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,308,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,317,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,330,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,331,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,336,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,337,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,7,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,363,263,2,60,1,364,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,365,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,367,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,371,370,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,374,373,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,377,376,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,380,379,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,387,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,393,391,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,394,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,414,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,417,418,422,423,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,424,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,448,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,2,6,146,112,452,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,453,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,5,6,63,1,5,36,-189,-189,-189,-189,-189,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,111,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,464,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,60,1,465,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,466,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,473,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,483,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,493,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,57,5,1,2,1,1,307,110,111,494,495,306,4,62,1,2,2,-61,-61,-61,-61,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,496,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,498,497,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,514,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,515,-48,-48,-48,-70,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,523,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,532,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,537,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,548,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,554,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,555,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,556,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,557,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,560,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,562,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,568,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,570,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,132,133,134,101,102,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,130,-271,-271,-271,-271,-271,-271,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,598,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,604,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,5,6,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,6,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,612,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,63,50,614,615,613,37,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,86,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,617,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,620,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,629,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,632,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,644,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,647,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,648,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,649,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,650,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,653,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,654,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,657,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,663,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,667,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,119,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,678,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,677,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,696,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,697,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,113,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-363,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-363,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,728,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,36,-190,-190,-190,-190,-190,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,12,3,10,2,1,2,2,1,7,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,86,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,738,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,741,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,745,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,749,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,771,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,776,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,777,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,778,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,779,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,780,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,788,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-261,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,810,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,813,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,821,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,822,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,823,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,824,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,4,6,64,5,19,-165,-165,-165,-165,1,94,827,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,828,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,840,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,841,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,3,6,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,863,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,864,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,882,-334,890,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,103,891,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],l=[],h=0,w,u,_,D;while(h<f.length){w=f[h++],u={},_=0,D=[];while(w--)_+=f[h++],D.push(_);for(_ of D)u[_]=f[h++];l.push(u)}return l})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,182,1,182,3,101,1,101,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,l,h,w)=>{let u=l,_=l.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[_]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[_]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[_-2],u[_]];case 5:case 63:case 201:case 363:return u[_-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[_];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[_]];case 60:return["str",...u[_-1]];case 62:case 195:case 199:case 297:return[...u[_-1],u[_]];case 64:case 237:case 241:case 381:case 410:return u[_-2];case 65:return"";case 68:return["regex",u[_-1]];case 69:return["regex-index",u[_-2],u[_]];case 70:return["regex-index",u[_],null];case 71:case 125:return["=",u[_-2],u[_]];case 72:return["=",u[_-3],u[_]];case 73:case 126:return["=",u[_-4],u[_-1]];case 74:return["state",u[_-2],u[_]];case 75:return["state",u[_-3],u[_]];case 76:return["state",u[_-4],u[_-1]];case 77:case 79:return["computed",u[_-2],u[_]];case 78:return["computed",u[_-3],u[_]];case 80:return["readonly",u[_-2],u[_]];case 81:return["readonly",u[_-3],u[_]];case 82:return["readonly",u[_-4],u[_-1]];case 83:case 85:return["effect",u[_-2],u[_]];case 84:return["effect",u[_-3],u[_]];case 86:case 87:case 88:return["effect",null,u[_]];case 94:case 107:case 145:return[".",u[_-2],u[_]];case 95:case 108:case 146:return["?.",u[_-2],u[_]];case 96:case 98:case 109:case 147:return["[]",u[_-3],u[_-1]];case 97:case 99:case 110:case 148:return["[]",u[_-5],u[_-2]];case 100:case 149:return[".{}",u[_-4],...u[_-2]];case 101:case 150:return["?.{}",u[_-4],...u[_-2]];case 102:case 151:return[".{}",u[_-6],...u[_-3]];case 103:case 152:return["?.{}",u[_-6],...u[_-3]];case 104:return[u[_-1][0],u[_-3],...u[_-1].slice(1)];case 105:return["optindex",u[_-4],u[_-1]];case 106:return["optindex",u[_-6],u[_-2]];case 111:return["object-comprehension",u[_-8],u[_-6],[["for-of",u[_-4],u[_-2],!1]],[]];case 112:return["object-comprehension",u[_-10],u[_-8],[["for-of",u[_-6],u[_-4],!1]],[u[_-2]]];case 113:return["object-comprehension",u[_-9],u[_-7],[["for-of",u[_-4],u[_-2],!0]],[]];case 114:return["object-comprehension",u[_-11],u[_-9],[["for-of",u[_-6],u[_-4],!0]],[u[_-2]]];case 115:return["object",...u[_-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[_-3],u[_]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[_-5],...u[_-2]];case 121:return[null,u[_],u[_]];case 123:case 160:return[":",u[_-2],u[_]];case 124:case 161:return[":",u[_-4],u[_-1]];case 131:return["dynamicKey",u[_-1]];case 132:return["[]","this",u[_-1]];case 134:case 135:case 162:case 230:return["...",u[_]];case 141:case 234:return["super",...u[_]];case 142:case 143:case 144:case 232:case 235:return[u[_-1],...u[_]];case 153:return["map-literal"];case 154:return["map-literal",...u[_-2]];case 166:return[u[_],u[_],null];case 167:return[u[_-2],u[_],null];case 168:return[u[_-2],u[_-2],u[_]];case 169:return[u[_-4],u[_-2],u[_]];case 186:return["array"];case 187:return["array",...u[_-1]];case 188:return["array",...u[_-2],...u[_-1]];case 190:return[...u[_-2],...u[_]];case 191:return[...u[_-3],...u[_]];case 192:return[...u[_-2],...u[_-1]];case 193:return[...u[_-5],...u[_-4],...u[_-2],...u[_-1]];case 197:return[...u[_]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[_-2],u[_-3],u[_-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[_-1],u[_-2],u[_]];case 206:return[u[_],u[_-1],null];case 207:return[u[_-1],null,u[_]];case 208:return[u[_],null,null];case 209:return["def",u[_-4],u[_-2],u[_]];case 210:return["def",u[_-1],[],u[_]];case 211:case 213:return[u[_-1],u[_-3],u[_]];case 212:case 214:return[u[_-1],[],u[_]];case 223:case 346:return["default",u[_-2],u[_]];case 224:return["rest",u[_]];case 225:return["expansion"];case 231:return["tagged-template",u[_-1],u[_]];case 233:return["optcall",u[_-2],...u[_]];case 249:case 250:return"this";case 251:return[".","this",u[_]];case 252:return[".","super",u[_]];case 253:return["[]","super",u[_-1]];case 254:return["[]","super",u[_-2]];case 255:return[".","new",u[_]];case 256:return[".","import",u[_]];case 257:return["block"];case 258:return["block",...u[_-1]];case 259:return u[_-1].length===1?u[_-1][0]:["block",...u[_-1]];case 260:return u[_-2].length===1?u[_-2][0]:["block",...u[_-2]];case 263:return["return",u[_]];case 264:return["return",u[_-1]];case 265:return["return"];case 266:return["throw",u[_]];case 267:return["throw",u[_-1]];case 268:return["yield"];case 269:return["yield",u[_]];case 270:return["yield",u[_-1]];case 271:return["yield-from",u[_]];case 272:return["if",u[_-1],u[_]];case 273:return u[_-4].length===3?["if",u[_-4][1],u[_-4][2],["if",u[_-1],u[_]]]:[...u[_-4],["if",u[_-1],u[_]]];case 274:return["if",["!",u[_-1]],u[_]];case 275:return["if",["!",u[_-3]],u[_-2],u[_]];case 277:return u[_-2].length===3?["if",u[_-2][1],u[_-2][2],u[_]]:[...u[_-2],u[_]];case 279:case 280:return["if",u[_],[u[_-2]]];case 281:return["?:",u[_-4],u[_-6],u[_-1]];case 282:return["?:",u[_-2],u[_-4],u[_]];case 283:case 284:return["if",["!",u[_]],[u[_-2]]];case 285:return["try",u[_]];case 286:return["try",u[_-1],u[_]];case 287:return["try",u[_-2],u[_]];case 288:return["try",u[_-3],u[_-2],u[_]];case 289:case 290:case 417:case 420:case 422:return[u[_-1],u[_]];case 291:return[null,u[_]];case 292:return["switch",u[_-3],u[_-1],null];case 293:return["switch",u[_-5],u[_-3],u[_-1]];case 294:return["switch",null,u[_-1],null];case 295:return["switch",null,u[_-3],u[_-1]];case 298:return["when",u[_-1],u[_]];case 299:return["when",u[_-2],u[_-1]];case 300:return["while",u[_]];case 301:return["while",u[_-2],u[_]];case 302:return["while",["!",u[_]]];case 303:return["while",["!",u[_-2]],u[_]];case 304:return u[_-1].length===2?[u[_-1][0],u[_-1][1],u[_]]:[u[_-1][0],u[_-1][1],u[_-1][2],u[_]];case 305:case 306:return u[_].length===2?[u[_][0],u[_][1],[u[_-1]]]:[u[_][0],u[_][1],u[_][2],[u[_-1]]];case 308:return["loop",u[_]];case 309:return["loop",[u[_]]];case 310:return["loop-n",u[_-1],u[_]];case 311:return["for-in",u[_-3],u[_-1],null,null,u[_]];case 312:return["for-in",u[_-5],u[_-3],null,u[_-1],u[_]];case 313:return["for-in",u[_-5],u[_-3],u[_-1],null,u[_]];case 314:return["for-in",u[_-7],u[_-5],u[_-1],u[_-3],u[_]];case 315:return["for-in",u[_-7],u[_-5],u[_-3],u[_-1],u[_]];case 316:return["for-of",u[_-3],u[_-1],!1,null,u[_]];case 317:return["for-of",u[_-5],u[_-3],!1,u[_-1],u[_]];case 318:return["for-of",u[_-3],u[_-1],!0,null,u[_]];case 319:return["for-of",u[_-5],u[_-3],!0,u[_-1],u[_]];case 320:return["for-as",u[_-3],u[_-1],!1,null,u[_]];case 321:return["for-as",u[_-5],u[_-3],!1,u[_-1],u[_]];case 322:case 324:return["for-as",u[_-3],u[_-1],!0,null,u[_]];case 323:case 325:return["for-as",u[_-5],u[_-3],!0,u[_-1],u[_]];case 326:return["for-in",[],u[_-1],null,null,u[_]];case 327:return["for-in",[],u[_-3],u[_-1],null,u[_]];case 328:return["comprehension",u[_-4],[["for-in",u[_-2],u[_],null]],[]];case 329:return["comprehension",u[_-6],[["for-in",u[_-4],u[_-2],null]],[u[_]]];case 330:return["comprehension",u[_-6],[["for-in",u[_-4],u[_-2],u[_]]],[]];case 331:return["comprehension",u[_-8],[["for-in",u[_-6],u[_-4],u[_]]],[u[_-2]]];case 332:return["comprehension",u[_-8],[["for-in",u[_-6],u[_-4],u[_-2]]],[u[_]]];case 333:return["comprehension",u[_-4],[["for-of",u[_-2],u[_],!1]],[]];case 334:return["comprehension",u[_-6],[["for-of",u[_-4],u[_-2],!1]],[u[_]]];case 335:return["comprehension",u[_-5],[["for-of",u[_-2],u[_],!0]],[]];case 336:return["comprehension",u[_-7],[["for-of",u[_-4],u[_-2],!0]],[u[_]]];case 337:return["comprehension",u[_-4],[["for-as",u[_-2],u[_],!1,null]],[]];case 338:return["comprehension",u[_-6],[["for-as",u[_-4],u[_-2],!1,null]],[u[_]]];case 339:return["comprehension",u[_-5],[["for-as",u[_-2],u[_],!0,null]],[]];case 340:return["comprehension",u[_-7],[["for-as",u[_-4],u[_-2],!0,null]],[u[_]]];case 341:return["comprehension",u[_-4],[["for-as",u[_-2],u[_],!0,null]],[]];case 342:return["comprehension",u[_-6],[["for-as",u[_-4],u[_-2],!0,null]],[u[_]]];case 343:return["comprehension",u[_-2],[["for-in",[],u[_],null]],[]];case 344:return["comprehension",u[_-4],[["for-in",[],u[_-2],u[_]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[_-2],u[_]];case 349:return["class",null,null];case 350:return["class",null,null,u[_]];case 351:return["class",null,u[_]];case 352:return["class",null,u[_-1],u[_]];case 353:return["class",u[_],null];case 354:return["class",u[_-1],null,u[_]];case 355:return["class",u[_-2],u[_]];case 356:return["class",u[_-3],u[_-1],u[_]];case 357:return["enum",u[_-1],u[_]];case 358:return["schema",u[_]];case 359:return["component",null,["block",...u[_-1]]];case 360:return["component",u[_-3],["block",...u[_-1]]];case 367:return["offer",u[_]];case 368:return["accept",u[_]];case 369:case 370:return["render",u[_]];case 371:case 374:return["import","{}",u[_]];case 372:case 373:return["import",u[_-2],u[_]];case 375:return["import",u[_-4],u[_]];case 376:return["import",u[_-4],u[_-2],u[_]];case 377:return["import",u[_-7],u[_-4],u[_]];case 388:return["*",u[_]];case 389:return["export","{}"];case 390:return["export",u[_-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[_]];case 395:return["export",["=",u[_-2],u[_]]];case 396:return["export",["=",u[_-3],u[_]]];case 397:return["export",["=",u[_-4],u[_-1]]];case 402:return["export-default",u[_]];case 403:return["export-default",u[_-1]];case 404:return["export-all",u[_]];case 405:return["export-from","{}",u[_]];case 406:return["export-from",u[_-4],u[_]];case 418:case 419:case 421:case 457:return["do-iife",u[_]];case 423:return["-",u[_]];case 424:return["+",u[_]];case 425:return["?",u[_-1]];case 426:return["presence",u[_-1]];case 427:return["await",u[_]];case 428:return["await",u[_-1]];case 429:return["--",u[_],!1];case 430:return["++",u[_],!1];case 431:return["--",u[_-1],!0];case 432:return["++",u[_-1],!0];case 433:return["+",u[_-2],u[_]];case 434:return["-",u[_-2],u[_]];case 436:return["**",u[_-2],u[_]];case 439:return["&",u[_-2],u[_]];case 440:return["^",u[_-2],u[_]];case 441:return["|",u[_-2],u[_]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[_-1],u[_-2],u[_]];case 448:return["&&",u[_-2],u[_]];case 449:return["||",u[_-2],u[_]];case 450:return["??",u[_-2],u[_]];case 451:return["|>",u[_-2],u[_]];case 453:return["?:",u[_-4],u[_-2],u[_]];case 455:return[u[_-3],u[_-4],u[_-1]];case 456:return[u[_-2],u[_-3],u[_]]}},parseError(f,l){let h,w,u,_,D,c,A;if(l.recoverable)return this.trace(f);else throw u=(l.line||0)+1,h=l.loc?.c||0,A=l.token?` (token: ${l.token})`:"",c=l.text?` near '${l.text}'`:"",_=`line ${u}, column ${h}`,D=`Parse error at ${_}${A}${c}: ${f}`,w=Error(D),w.hash=l,w},parse(f){let l,h,w,u,_,D,c,A,$,R,M,z,F,W,Q,i,U,Y,H,O,q,n,K,Z,G,J,N,g;[q,g,M]=[[0],[null],[]],[W,J,Z,K,U]=[this.parseTable,"",0,0,0],[h,l]=[2,1],$=Object.create(this.lexer),H={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let T=this.ctx[L];H.ctx[L]=T}if($.setInput(f,H.ctx),[H.ctx.lexer,H.ctx.parser]=[$,this],$.loc==null)$.loc={};G=$.loc,M.push(G),this.parseError=typeof H.ctx.parseError==="function"?H.ctx.parseError:Object.getPrototypeOf(this).parseError,A=()=>{let L;if(L=$.lex()||l,typeof L!=="number")L=this.symbolIds[L]||L;return L},n=Q=O=w=i=F=c=z=_=null,Y={};while(!0){if(O=q[q.length-1],n==null)n=A();if(w=W[O]?.[n],w==null){if(u="",!U)_=(()=>{let L=[];for(let T in W[O]){if(!Object.hasOwn(W[O],T))continue;if(this.tokenNames[T]&&T>h)L.push(`'${this.tokenNames[T]}'`)}return L})();throw u=(()=>{if($.showPosition)return`Parse error on line ${Z+1}:
|
|
885
|
+
${$.showPosition()}
|
|
886
|
+
Expecting ${_.join(", ")}, got '${this.tokenNames[n]||n}'`;else return`Parse error on line ${Z+1}: Unexpected ${n===l?"end of input":`'${this.tokenNames[n]||n}'`}`,this.parseError(u,{text:$.match,token:this.tokenNames[n]||n,line:$.line,loc:G,expected:_})})(),Error(u)}if(w>0)if(q.push(n,w),g.push($.text),M.push($.loc),n=null,!Q){if([K,J,Z,G]=[$.len,$.text,$.line,$.loc],U>0)U--}else[n,Q]=[Q,null];else if(w<0){if(c=this.ruleTable[-w*2+1],Y.$=g[g.length-c],R=M[M.length-(c||1)],Y._$={r:R.r,c:R.c},i=this.ruleActions.call(Y,-w,g,M,H.ctx),i!=null)Y.$=i;if(Array.isArray(Y.$))Y.$.loc=Y._$;if(c)q.length-=c*2,g.length-=c,M.length-=c;q.push(this.ruleTable[-w*2]),g.push(Y.$),M.push(Y._$),z=W[q[q.length-2]][q[q.length-1]],q.push(z)}else if(w===0)return g[g.length-1]}},trace(){},ctx:{}},w4=(f={})=>{let l=Object.create(h4);return Object.defineProperty(l,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),l},M1=w4();var w0=M1.parse.bind(M1);var $2=null;function V2(f){$2=f}var c4=new Set(["input","shape","model","mixin","enum"]),j2="input",D4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),A4=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 d1(f,l){if(f)f.prototype.rewriteSchema=function(){$4(this)},T1._LexerCtor=f;if(l)l.prototype.emitSchema=function(h,w,u){return Z4(this,h,w,u)},l.prototype.getSchemaRuntime=function(){let h=this.options?.schemaMode||"migration";return m4({mode:h})}}var T2=new Set(["defaultMaxString"]);function $4(f){let l=f.tokens,h={defaultMaxString:null},w=0,u=0;while(u<l.length){let _=l[u];if(_[0]==="INDENT")w++;else if(_[0]==="OUTDENT")w--;let D=R4(l,u,h,w);if(D>0){l.splice(u,D);continue}if(M4(l,u))U4(f,l,u,h);u++}}function R4(f,l,h,w){let u=f[l];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[l+1]?.[0]!==".")return 0;let _=f[l+2];if(!_||_[0]!=="PROPERTY")return 0;if(f[l+3]?.[0]!=="=")return 0;let D=f[l-1];if(D){let M=D[0];if(M!=="TERMINATOR"&&M!=="INDENT"&&M!=="OUTDENT")return 0}let c=_[1];if(!T2.has(c))throw b(_,`Unknown schema pragma 'schema.${c}'. Known pragmas: ${[...T2].join(", ")}.`);if(w>0)throw b(_,`Schema pragma 'schema.${c}' 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[l+4];if(!A||A[0]!=="NUMBER")throw b(A||_,`Pragma 'schema.${c}' requires a number literal. Example: schema.${c} = 100.`);let $=Number(A[1]);if(!Number.isFinite($)||$<0||!Number.isInteger($))throw b(A,`Pragma 'schema.${c}' expects a non-negative integer (got ${A[1]}). Use 0 to disable.`);h[c]=$===0?null:$;let R=l+5;if(f[R]?.[0]==="TERMINATOR")R++;return R-l}function M4(f,l){let h=f[l];if(!h||h[0]!=="IDENTIFIER"||h[1]!=="schema")return!1;let w=f[l-1];if(w){let _=w[0];if(_==="."||_==="?.")return!1;if(w[0]==="IDENTIFIER"||w[0]==="PROPERTY"||w[0]===")"||w[0]==="]"||w[0]==="}"||w[0]==="STRING"||w[0]==="NUMBER"){if(!A4.has(_))return!1}}let u=l+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 U4(f,l,h,w){let u=l[h],_=null,D=j2,c=h+1;if(l[c]?.[0]==="SYMBOL"){_=l[c];let F=_[1];if(!c4.has(F))throw b(_,`Unknown schema kind :${F}. Expected one of :input, :shape, :model, :mixin, :enum.`);D=F,c++}let A,$;if(l[c]?.[0]==="TERMINATOR"&&l[c][1]===";"){let F=c+1,W=F,Q=0,i=l[F]?.loc?.r??null;while(W<l.length){let U=l[W],Y=U[0];if(Q===0&&i!=null&&U.loc&&U.loc.r>i)break;if(Y==="("||Y==="["||Y==="{"||Y==="CALL_START"||Y==="INDEX_START"||Y==="PARAM_START")Q++;else if(Y===")"||Y==="]"||Y==="}"||Y==="CALL_END"||Y==="INDEX_END"||Y==="PARAM_END")Q--;else if(Q===0&&Y==="TERMINATOR"&&U[1]!==";")break;else if(Q===0&&(Y==="INDENT"||Y==="OUTDENT"))break;else if(Q===0&&Y==="->")throw b(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(Q===0&&Y==="EFFECT")throw b(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(Q===0&&Y==="UNARY_MATH"&&U[1]==="!"&&l[W+1]?.[0]==="COMPARE"&&l[W+1][1]===">")throw b(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");W++}while(W>F&&l[W-1][0]==="TERMINATOR")W--;if(A=l.slice(F,W),$=W,!A.length)throw b(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${_?" :"+D:""};' or switch to the indented form.`)}else{if(l[c]?.[0]==="TERMINATOR")c++;if(l[c]?.[0]!=="INDENT")throw b(u,`Expected indented schema body after 'schema${_?" :"+D:""}'.`);let F=c,W=V4(l,F);if(W<0)throw b(l[F],"Unterminated schema body.");A=l.slice(F+1,W),$=W+1}let R=F4(D,A,{schemaLoc:u.loc,kindLoc:_?.loc??null,kind:D,defaultMaxString:w?.defaultMaxString??null}),M=R2("SCHEMA","schema",u),z=R2("SCHEMA_BODY",D,u);z.data={descriptor:R},l.splice(h,$-h,M,z)}function F4(f,l,h){let w=[],u=z4(l);if(f===j2&&!h.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",h.kind="enum";if(f==="enum")for(let _ of u)G4(_,w);else{for(let _ of u)i4(f,_,w,h);if(f==="mixin")for(let _ of w){if(_.tag==="method"||_.tag==="computed"||_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:mixin schemas are fields-only. '${_.name}' is a ${_.tag}; move it to a :shape or :model.`);if(_.tag==="ensure")throw b({loc:_.headerLoc||_.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(_.tag==="directive"&&_.name!=="mixin")throw b({loc:_.loc},`:mixin schemas only accept '@mixin Name' directives. '@${_.name}' is not allowed.`)}else if(f==="input")for(let _ of w){if(_.tag==="method"||_.tag==="computed"||_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:input schemas are fields-only. '${_.name}' is a ${_.tag}; use :shape or :model if you need behavior.`);if(_.tag==="directive"&&_.name!=="mixin")throw b({loc:_.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${_.name}' is not allowed.`)}else if(f==="shape")for(let _ of w){if(_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:shape schemas don't have lifecycle hooks. '${_.name}' runs only on :model; move it or remove it.`);if(_.tag==="directive"&&_.name!=="mixin")throw b({loc:_.loc},`:shape schemas only accept '@mixin Name'. '@${_.name}' is :model-only.`)}}return{kind:f,loc:h.schemaLoc,kindLoc:h.kindLoc,entries:w}}function z4(f){let l=[],h=[],w=0;for(let u of f){let _=u[0];if(_==="INDENT")w++;if(_==="OUTDENT")w--;if(_==="TERMINATOR"&&w===0){if(h.length)l.push(h),h=[];continue}h.push(u)}if(h.length)l.push(h);return l}var W4=new Set(["string","email","url","phone","zip"]);function i4(f,l,h,w){let u=l[0];if(!u)return;if(u[0]==="@"){let n=l[1];if(!n||n[0]!=="IDENTIFIER"&&n[0]!=="PROPERTY")throw b(u,"Expected directive name after '@'.");let K=l.slice(2),Z=n[1];if(Z==="ensure"){let J=O4(K,u);for(let N of J)h.push({tag:"ensure",name:"ensure",message:N.message,paramTokens:N.paramTokens,bodyTokens:N.bodyTokens,loc:N.loc,headerLoc:u.loc});return}let G=null;if(Z==="belongs_to"||Z==="has_many"||Z==="has_one"||Z==="one"||Z==="many"||Z==="mixin"){let J=K[0];if(J&&(J[0]==="IDENTIFIER"||J[0]==="PROPERTY")){let N=J.data?.predicate===!0;if(!N&&K[1]?.[0]==="?")N=!0;G=[{target:J[1],optional:N}]}}h.push({tag:"directive",name:Z,args:G,argTokens:K,loc:u.loc});return}if(u[0]==="PROPERTY"){Y4(f,u,l,h);return}if(u[0]!=="IDENTIFIER")throw b(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let _=u[1];if(l[1]?.[0]===":")throw b(l[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let D=C4(u),c=1;while(c<l.length){let n=l[c];if(!(l[c-1]&&!l[c-1].spaced))break;if(n[0]==="#"||n[0]==="?"||n[0]==="!"){D.push(n[0]),c++;continue}break}let A=l[c];if(A?.[0]===":")throw b(A,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let $="string",R=null;if(A?.[0]==="IDENTIFIER")$=A[1],c++;else if(A?.[0]==="STRING"){R=[JSON.parse(A[1])],c++;while(l[c]?.[0]==="|"&&l[c+1]?.[0]==="STRING")c++,R.push(JSON.parse(l[c][1])),c++;if(l[c]?.[0]==="|"){let n=l[c+1],K=n?.[0]??"<end>";throw b(n||l[c],`Literal unions contain string literals only. '${K}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(R.length<2)throw b(A,`Literal union needs at least two string literals. Use '${JSON.stringify(R[0])}' as a default with '[${JSON.stringify(R[0])}]' instead.`);$="literal-union"}let M=!1,z=l[c]?.[0],F=l[c+1]?.[0];if((z==="["||z==="INDEX_START")&&(F==="]"||F==="INDEX_END"))M=!0,c+=2;let W=l.slice(c);if((A?.[0]==="IDENTIFIER"||A?.[0]==="STRING")&&W[0]?.[0]==="->")throw b(W[0],`Field '${_}' has a transform after the type; a comma is required before '->'. Write '${_} ${$}, -> …'.`);let i=null,U=null,Y=null,H=null,O=null;if(W.length>0){if(W[0]?.[0]===",")W=W.slice(1);let n=C1(W);for(let K=0;K<n.length;K++){let Z=n[K];while(Z.length&&(Z[0][0]==="INDENT"||Z[0][0]==="TERMINATOR"))Z=Z.slice(1);if(!Z.length)continue;if(Z[0][0]!=="->"){let J=H4(Z);if(J>0)throw b(Z[J],`Field '${_}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let G=Z[0];if(G[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;G=Z[0]}if(G[0]==="["||G[0]==="INDEX_START"){if(i)throw b(G,`Field '${_}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);i=Z}else if(G[0]==="{"){if(U)throw b(G,`Field '${_}' has more than one '{…}' attrs bracket.`);U=Z}else if(Q4(Z)){if(Y)throw b(G,`Field '${_}' has more than one range constraint. Only one 'min..max' per field.`);Y=Z}else if(G[0]==="REGEX"&&Z.length===1){if(H)throw b(G,`Field '${_}' has more than one regex constraint.`);H=G}else if(G[0]==="->"){if(K!==n.length-1)throw b(G,`Transform '-> …' must be the last element on the field line for '${_}'.`);O=Z.slice(1)}else throw b(G,`Unexpected trailer for field '${_}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(M&&R)throw b(A,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let q=null;if(w?.defaultMaxString!=null&&!H&&!R&&W4.has($))q=w.defaultMaxString;h.push({tag:"field",name:_,modifiers:D,typeName:$,array:M,literals:R,constraintTokens:i,attrsTokens:U,rangeTokens:Y,regexToken:H,transformTokens:O,defaultMax:q,loc:u.loc})}function H4(f){let l=0;for(let h=0;h<f.length;h++){let w=f[h][0];if(w==="("||w==="["||w==="{"||w==="CALL_START"||w==="INDEX_START"||w==="PARAM_START")l++;else if(w===")"||w==="]"||w==="}"||w==="CALL_END"||w==="INDEX_END"||w==="PARAM_END")l--;else if(l===0&&w==="->")return h}return-1}function Q4(f){let l=0,h=!1;if(f[l]?.[0]==="-"&&f[l+1]?.[0]==="NUMBER")l+=2,h=!0;else if(f[l]?.[0]==="NUMBER")l++,h=!0;if(f[l]?.[0]!=="..")return!1;l++;let w=!1;if(f[l]?.[0]==="-"&&f[l+1]?.[0]==="NUMBER")l+=2,w=!0;else if(f[l]?.[0]==="NUMBER")l++,w=!0;return(h||w)&&l===f.length}function Y4(f,l,h,w){let u=l[1],_=h[1];if(!_||_[0]!==":")throw b(l,`Expected ':' after '${u}' before arrow.`);let D=h[2],c=h[3],A,$,R;if(D&&D[0]==="->")A="->",$=D.loc,R=3;else if(D&&D[0]==="EFFECT")A="~>",$=D.loc,R=3;else if(D&&D[0]==="UNARY_MATH"&&D[1]==="!"&&c&&c[0]==="COMPARE"&&c[1]===">"&&!D.spaced)A="!>",$=D.loc,R=4;else throw b(_,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let M=h.slice(R),z=D4.has(u),F;if(A==="~>")F="computed";else if(A==="!>")F="derived";else if(f==="model"&&z)F="hook";else F="method";w.push({tag:F,name:u,arrow:A,paramTokens:[],bodyTokens:M,headerLoc:l.loc,arrowLoc:$})}function O4(f,l){let h=f;if(!h.length)throw b(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(h[0]?.[0]==="CALL_START"&&h[h.length-1]?.[0]==="CALL_END")h=h.slice(1,-1);if(!h.length)throw b(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let w=h[0];if(w[0]==="["||w[0]==="INDEX_START"){let _=K4(h,w),D=n4(_);if(D.length===0)throw b(w,"@ensure [...] must contain at least one 'message, fn' pair.");if(D.length%2!==0)throw b(w,`@ensure [...] must have pairs of 'message, fn' (got ${D.length} elements; odd count).`);let c=[];for(let A=0;A<D.length;A+=2)c.push(C2(D[A],D[A+1],w));return c}let u=C1(h);if(u.length<2)throw b(w,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw b(w,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[C2(u[0],u[1],w)]}function K4(f,l){let h=0,w=[];for(let u=0;u<f.length;u++){let _=f[u],D=_[0];if(D==="["||D==="INDEX_START"){if(h++,h===1)continue}if(D==="]"||D==="INDEX_END"){if(h--,h===0){if(u<f.length-1)throw b(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(w.length>=2&&w[0][0]==="INDENT"&&w[w.length-1][0]==="OUTDENT"){let c=0,A=!1;for(let $=0;$<w.length;$++)if(w[$][0]==="INDENT")c++;else if(w[$][0]==="OUTDENT"){if(c--,c===0&&$===w.length-1){A=!0;break}if(c===0)break}if(A)w=w.slice(1,-1)}return w}}if(h>=1)w.push(_)}throw b(l,"@ensure: unclosed '['.")}function n4(f){let l=[],h=[],w=0;for(let u of f){let _=u[0];if(_==="("||_==="["||_==="{"||_==="CALL_START"||_==="INDEX_START"||_==="PARAM_START"||_==="INDENT")w++;if(_===")"||_==="]"||_==="}"||_==="CALL_END"||_==="INDEX_END"||_==="PARAM_END"||_==="OUTDENT")w--;if(w===0&&(_===","||_==="TERMINATOR")){if(h.length)l.push(h),h=[];continue}h.push(u)}if(h.length)l.push(h);return l}function C2(f,l,h){if(!f||!f.length)throw b(h,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw b(f[0]||h,"@ensure: each refinement's first element must be a string literal message.");let w=f[0],u=JSON.parse(w[1]);if(!l||!l.length)throw b(w,"@ensure: missing function after message.");let _=l[0];if(_[0]!=="("&&_[0]!=="PARAM_START")throw b(_,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let D=1,c=1,A=[];while(c<l.length&&D>0){let M=l[c],z=M[0];if(z==="("||z==="PARAM_START")D++;if(z===")"||z==="PARAM_END"){if(D--,D===0){c++;break}}A.push(M),c++}if(D!==0)throw b(_,"@ensure: unclosed '(' in predicate parameters.");let $=l[c];if(!$||$[0]!=="->")throw b($||l[c-1]||w,"@ensure: expected '->' after predicate parameters.");let R=l.slice(c+1);if(!R.length)throw b($,"@ensure: predicate function body is empty.");return{message:u,paramTokens:A,bodyTokens:R,loc:w.loc}}function q4(f,l){if(!f.length)return[];return C1(f).map((w)=>{let u=w.filter((_)=>_[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw b(u[0]||l,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function G4(f,l){let h=f[0];if(!h)return;if(h[0]==="@"){let _=f[1],D=_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY")?_[1]:"directive";throw b(h,`:enum schemas don't accept '@${D}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(h[0]!=="SYMBOL")throw b(h,`Enum member must be a :symbol. Use ':${h[1]??"name"}' for a bare member or ':${h[1]??"name"} value' for a valued one.`);let w=h[1],u=f[1];if(!u){l.push({tag:"enum-member",name:w,value:void 0,loc:h.loc});return}if(u[0]===":")throw b(u,`Enum member ':${w}' — drop the ':' before the value. Use ':${w} value'.`);if(f.length>2)throw b(f[2],`Extra tokens after enum member ':${w}' value.`);l.push({tag:"enum-member",name:w,value:j4(u),loc:h.loc})}function Z4(f,l,h,w){let u=h[0],_=J4(u);if(!_)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let D=f._schemaName||null,c=[`kind: ${JSON.stringify(_.kind)}`];if(D)c.push(`name: ${JSON.stringify(D)}`);return c.push(`entries: [${_.entries.map((A)=>X4(f,A)).join(", ")}]`),`__schema({${c.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 X4(f,l){switch(l.tag){case"field":{let h=['tag: "field"',`name: ${JSON.stringify(l.name)}`,`modifiers: ${JSON.stringify(l.modifiers)}`,`typeName: ${JSON.stringify(l.typeName)}`,`array: ${l.array?"true":"false"}`];if(l.literals)h.push(`literals: ${JSON.stringify(l.literals)}`);let w=l.rangeTokens?y4(l.rangeTokens,l):null,u=l.constraintTokens?E4(l.constraintTokens,l):null,_=l.regexToken?I4(l.regexToken):null,D=B4(w,u,_,l);if(D)h.push(`constraints: ${D}`);if(l.transformTokens)h.push(`transform: ${P4(f,l.transformTokens)}`);return`{${h.join(", ")}}`}case"directive":{let h=['tag: "directive"',`name: ${JSON.stringify(l.name)}`],w=L4(l.name,l.argTokens||[]);if(w)h.push(`args: ${w}`);return`{${h.join(", ")}}`}case"ensure":{let h=N4(f,l);return`{${['tag: "ensure"',`message: ${JSON.stringify(l.message)}`,`fn: ${h}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let h=S4(f,l);return`{${[`tag: ${JSON.stringify(l.tag)}`,`name: ${JSON.stringify(l.name)}`,`fn: ${h}`].join(", ")}}`}case"enum-member":{let h=['tag: "enum-member"',`name: ${JSON.stringify(l.name)}`];if(l.value!==void 0)h.push(`value: ${JSON.stringify(l.value)}`);return`{${h.join(", ")}}`}default:return'{tag: "unknown"}'}}function S4(f,l){let h=T1(l.bodyTokens);if(!h)return"(function() {})";let w=["->",[],h];return f.emit(w,"value")}function P4(f,l){let h=T1(l);if(!h)return"(function() { return undefined; })";let w=["->",[],h];return f.emit(w,"value")}function N4(f,l){let h=T1(l.bodyTokens);if(!h)return"(function() { return undefined; })";let u=["->",q4(l.paramTokens,l),h];return f.emit(u,"value")}function E4(f,l){let h=f.slice(1,-1),w=C1(h);if(!w.length)return{c:null};let u=w.map((_)=>m2(_,l));if(u.length===1){let _=u[0];if(_ instanceof RegExp)throw b(f[0],`Regex constraints are written bare, not in brackets. Replace '[${_}]' with '${_}'.`);return{c:{default:_}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw b(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every((_)=>typeof _==="number"))throw b(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 b(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function I4(f){let l=f[1],h=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(l);if(!h)throw b(f,`Invalid regex literal ${JSON.stringify(l)}.`);try{return new RegExp(h[1],h[2])}catch(w){throw b(f,`Invalid regex '${l}': ${w.message}`)}}function y4(f,l){let h=0,w=()=>{let c=1;if(f[h]?.[0]==="-")c=-1,h++;let A=f[h++],$=m2([A],l);if(typeof $!=="number")throw b(A,"Range endpoints must be numeric literals.");return c*$},u;if(f[h]?.[0]!=="..")u=w();h++;let _;if(h<f.length)_=w();if(u!==void 0&&_!==void 0&&u>_)throw b(f[0],`Range '${u}..${_}' is reversed. Write the smaller endpoint first.`);let D={};if(u!==void 0)D.min=u;if(_!==void 0)D.max=_;return D}function B4(f,l,h,w){let u=l&&l.c||{},_=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if(_&&u.min===void 0&&w?.modifiers?.includes("!"))u.min=1}if(h)u.regex=h;if(w?.defaultMax!=null&&u.max===void 0)u.max=w.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let D=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",c=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${w?.defaultMax}`;throw b({loc:w?.loc},`Field '${w?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${D} vs ${c}). 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 b4(u)}function b4(f){let l=[];if(f.min!==void 0)l.push(`min: ${A2(f.min)}`);if(f.max!==void 0)l.push(`max: ${A2(f.max)}`);if(f.default!==void 0)l.push(`default: ${A2(f.default)}`);if(f.regex!==void 0)l.push(`regex: ${f.regex.toString()}`);return l.length?`{${l.join(", ")}}`:null}function A2(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 L4(f,l){if(f==="idStart"&&!l.length)throw b(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!l.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let h=l[0];if(!h||h[0]!=="IDENTIFIER"&&h[0]!=="PROPERTY")throw b(h||l[l.length-1],`@${f} requires a target name.`);let w=h[1],u=h.data?.predicate===!0,_=1;if(!u&&l[_]?.[0]==="?")u=!0,_++;let D=[`target: ${JSON.stringify(w)}`];if(u)D.push("optional: true");return`[{${D.join(", ")}}]`}if(f==="index"){let h=[],w=!1,u=0;if(l[u]?.[0]==="IDENTIFIER"||l[u]?.[0]==="PROPERTY")h.push(l[u][1]),u++;else if(l[u]?.[0]==="["||l[u]?.[0]==="INDEX_START"){let D=[],c=1;u++;while(u<l.length&&c>0){let A=l[u];if(A[0]==="["||A[0]==="INDEX_START")c++;if(A[0]==="]"||A[0]==="INDEX_END"){if(c--,c===0){u++;break}}D.push(A),u++}for(let A of C1(D))if(A[0]&&(A[0][0]==="IDENTIFIER"||A[0][0]==="PROPERTY"))h.push(A[0][1])}if(l[u]?.[0]==="#")w=!0;let _=[`fields: ${JSON.stringify(h)}`];if(w)_.push("unique: true");return`[{${_.join(", ")}}]`}if(f==="idStart"){let h=l[0],w=1,u=h;if(h&&h[0]==="-"&&l[1]&&l[1][0]==="NUMBER")w=-1,u=l[1];if(!u||u[0]!=="NUMBER")throw b(h||l[l.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let _=w*Number(u[1]);if(!Number.isInteger(_))throw b(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+_+"}]"}return null}function m2(f,l){if(!f.length)throw b(null,"Empty constraint value.");let h=f[0],w=h[0];if(f.length===1){if(w==="NUMBER")return Number(h[1]);if(w==="STRING")return JSON.parse(h[1]);if(w==="BOOL")return h[1]==="true";if(w==="NULL")return null;if(w==="UNDEFINED")return;if(w==="REGEX")return T4(h[1]);if(w==="SYMBOL")return h[1]}if(f.length===2&&w==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw b(h,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${w}.`)}function T4(f){let l=typeof f==="string"?f:String(f),h=l.match(/^\/(.*)\/([gimsuy]*)$/s);return h?new RegExp(h[1],h[2]):new RegExp(l)}function T1(f){if(!f||!f.length)return null;let l=T1._LexerCtor;if(!l)throw Error("schema: parseBodyTokens called before Lexer was wired");let h=Object.create(l.prototype),w=f.slice();if(w.length>=2&&w[0]?.[0]==="INDENT"){let $=0,R=-1;for(let M=0;M<w.length;M++)if(w[M][0]==="INDENT")$++;else if(w[M][0]==="OUTDENT"){if($--,$===0){R=M;break}}if(R===w.length-1)w=w.slice(1,-1)}if(h.tokens=w,h.seenFor=h.seenImport=h.seenExport=!1,h.ends=[],h.indent=0,h.outdebt=0,h.indents=[],h.tokens[h.tokens.length-1]?.[0]!=="TERMINATOR")h.tokens.push(R2("TERMINATOR",`
|
|
887
|
+
`,f[f.length-1]));try{h.rewriteTypes?.(),h.tagPostfixConditionals?.(),h.rewriteTaggedTemplates?.(),h.addImplicitBracesAndParens?.(),h.addImplicitCallCommas?.()}catch($){throw b(f[0],`schema: failed to compile body: ${$.message}`)}let _=h.tokens.filter(($)=>$[0]!=="TYPE_DECL"),D=M1.lexer;M1.lexer={tokens:_,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let $=this.tokens[this.pos++],R=$[1];if($.data)R=new String(R),Object.assign(R,$.data);return this.text=R,this.loc=$.loc,this.line=$.loc?.r,$[0]}};let c;try{c=M1.parse("")}finally{M1.lexer=D}if(!Array.isArray(c)||c[0]!=="program")return null;let A=c.slice(1);if(A.length===0)return null;if(A.length===1)return A[0];return["block",...A]}function C4(f){let l=[],h=f.data;if(h?.await===!0)l.push("!");if(h?.predicate===!0)l.push("?");return l}function V4(f,l){let h=0;for(let w=l;w<f.length;w++)if(f[w][0]==="INDENT")h++;else if(f[w][0]==="OUTDENT"){if(h--,h===0)return w}return-1}function C1(f){let l=[],h=[],w=0;for(let u of f){let _=u[0];if(_==="("||_==="["||_==="{"||_==="CALL_START"||_==="INDEX_START"||_==="PARAM_START"||_==="INDENT")w++;if(_===")"||_==="]"||_==="}"||_==="CALL_END"||_==="INDEX_END"||_==="PARAM_END"||_==="OUTDENT")w--;if(_===","&&w===0){if(h.length)l.push(h);h=[];continue}h.push(u)}if(h.length)l.push(h);return l}function j4(f){let l=f[0],h=f[1];if(l==="NUMBER")return Number(h);if(l==="STRING")return JSON.parse(h);if(l==="BOOL")return h==="true";if(l==="NULL")return null;if(l==="UNDEFINED")return;return h}function R2(f,l,h){let w=[f,l];if(w.pre=0,w.data=null,w.loc=h?.loc??{r:0,c:0,n:0},w.spaced=!1,w.newLine=!1,w.generated=!0,h)w.origin=h;return w}function b(f,l){let h=f?.loc||{r:0,c:0},w=Error(l);return w.name="SchemaSyntaxError",w.loc=h,w.line=h.r,w.column=h.c,w.phase="schema",w.code="E_SCHEMA",w}function m4(f={}){if(!$2)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 $2(f)}function v2({mode:f="browser"}={}){let l;switch(f){case"validate":l=D2;break;case"browser":l=D2+`
|
|
888
|
+
`+L2;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(B2+l+b2).trimStart()}V2(v2);var v4=v2({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(v4)}catch{}function r2(f){let l=f.prototype;l.rewriteTypes=function(){let h=this.tokens,w=this.typeRefNames=new Set,u=(_,D,c)=>{let A=[_,D];if(A.pre=0,A.data=null,A.loc=c?.loc??{r:0,c:0,n:0},A.spaced=!1,A.newLine=!1,A.generated=!0,c)A.origin=c;return A};this.scanTokens((_,D,c)=>{let A=_[0];if(A==="IDENTIFIER"){let $=c[D+1];if($&&$[0]==="COMPARE"&&$[1]==="<"&&!$.spaced){let R=c[D-1]?.[0]==="DEF",M=x2(c,D+1);if(M){let z=D+1+M.length,F=!R&&c[z]?.[0]==="="&&c[z+1]?.[0]==="COMPONENT";if(R||F){if(!_.data)_.data={};if(_.data.typeParams=Q1(M),c.splice(D+1,M.length),R&&c[D+1]?.[0]==="("){c[D+1][0]="CALL_START";let W=1,Q=D+2;while(Q<c.length&&W>0){if(c[Q][0]==="("||c[Q][0]==="CALL_START")W++;if(c[Q][0]===")"||c[Q][0]==="CALL_END")W--;if(W===0)c[Q][0]="CALL_END";Q++}}}}}}if(A==="TYPE_ANNOTATION"){let $=c[D-1];if(!$)return 1;let R=g2(c,D+1),M=Q1(R),z=$,F="type";if($[0]==="CALL_END"||$[0]===")"){let Q=1,i=D-2;while(i>=0&&Q>0){let U=c[i][0];if(U==="CALL_END"||U===")")Q++;if(U==="CALL_START"||U==="(")Q--;i--}if(i>=0)z=c[i];F="returnType"}else if($[0]==="PARAM_END"){let Q=D+1+R.consumed,i=c[Q];if(i&&(i[0]==="->"||i[0]==="=>"))z=i;F="returnType"}else if($[0]==="IDENTIFIER"&&D>=2&&c[D-2]?.[0]==="DEF")F="returnType";if(!z.data)z.data={};z.data[F]=M;for(let Q of R)if(Q[0]==="IDENTIFIER")w.add(Q[1]);let W=1+R.consumed;return c.splice(D,W),0}if(A==="IDENTIFIER"&&_[1]==="type"){let $=c[D-1]?.[0];if(!(!$||$==="TERMINATOR"||$==="INDENT"||$==="EXPORT"))return 1;let M=D+1,z=c[M];if(!z||z[0]!=="IDENTIFIER")return 1;let F=z[1],W=$==="EXPORT",Q=W?D-1:D,i=M+1;if(c[i]?.[0]==="COMPARE"&&c[i]?.[1]==="<"&&!c[i].spaced){let q=x2(c,i);if(q){if(!z.data)z.data={};z.data.typeParams=Q1(q),c.splice(i,q.length)}}if(c[i]?.[0]!=="=")return 1;let U=(q)=>{let n=u("TYPE_DECL",F,z);if(n.data={name:F,typeText:q,exported:W},z.data?.typeParams)n.data.typeParams=z.data.typeParams;return n},Y=i+1,H=c[Y];if(H&&(H[0]==="TERMINATOR"||H[0]==="INDENT")){let q=g4(c,Y);if(q)return c.splice(Q,q.endIdx-Q+1,U(q.typeText)),0}if(H&&H[0]==="INDENT"){let q=U2(c,Y);return c.splice(Q,q-Q+1,U(M2(c,Y))),0}let O=g2(c,Y);return c.splice(Q,Y+O.consumed-Q,U(Q1(O))),0}if(A==="INTERFACE"){let $=D>=1&&c[D-1]?.[0]==="EXPORT",R=D+1,M=c[R];if(!M)return 1;let z=M[1],F=null,W=R+1;if(c[W]?.[0]==="EXTENDS")F=c[W+1]?.[1],W=W+2;if(c[W]?.[0]==="INDENT"){let Q=M2(c,W),i=U2(c,W),U=u("TYPE_DECL",z,M);U.data={name:z,kind:"interface",extends:F,typeText:Q,exported:$};let Y=$?D-1:D,H=i-Y+1;return c.splice(Y,H,U),0}return 1}return 1});for(let _=h.length-1;_>=0;_--){if(h[_][0]!=="DEF")continue;let D=h[_+1];if(!D||D[0]!=="IDENTIFIER")continue;let c=_+2;if(h[c]?.[0]!=="CALL_START")continue;let A=1;c++;while(c<h.length&&A>0){if(h[c][0]==="CALL_START")A++;if(h[c][0]==="CALL_END")A--;c++}let $=c-1,R=h[c];if(R&&R[0]!=="TERMINATOR")continue;let M=D.data?.returnType;if(!M){for(let U=_+2;U<=$;U++)if(h[U].data?.type){M=!0;break}}if(!M)continue;let z=h.slice(_,c+1),F=_>=1&&h[_-1]?.[0]==="EXPORT",W=F?_-1:_,Q=c+1-W,i=u("TYPE_DECL",D[1],D);if(i.data={name:D[1],kind:"overload",overloadTokens:z,exported:F},D.data?.typeParams)i.data.typeParams=D.data.typeParams;h.splice(W,Q,i)}}}function g2(f,l){let h=[],w=0,u=l;while(l<f.length){let _=f[l],D=_[0],c=D==="("||D==="["||D==="{"||D==="CALL_START"||D==="PARAM_START"||D==="INDEX_START"||D==="COMPARE"&&_[1]==="<",A=D===")"||D==="]"||D==="}"||D==="CALL_END"||D==="PARAM_END"||D==="INDEX_END"||D==="COMPARE"&&_[1]===">";if(D==="SHIFT"&&_[1]===">>"&&w>=2){w-=2,h.push(_),l++;continue}if(c){w++,h.push(_),l++;continue}if(A){if(w>0){w--,h.push(_),l++;continue}break}if(w===0){if(D==="INDENT"&&h.length>0&&h[h.length-1][0]==="=>"){l++;let $=1;while(l<f.length&&$>0)if(f[l][0]==="INDENT")$++,l++;else if(f[l][0]==="OUTDENT")$--,l++;else h.push(f[l]),l++;continue}if(D==="="||D==="REACTIVE_ASSIGN"||D==="COMPUTED_ASSIGN"||D==="READONLY_ASSIGN"||D==="EFFECT"||D==="TERMINATOR"||D==="INDENT"||D==="OUTDENT"||D==="->"||D===",")break}h.push(_),l++}return h.consumed=l-u,h}function Q1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let l=f.map((h)=>h[1]).join(" ").replace(/\s+/g," ").trim();return l=l.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,": "),l}function x2(f,l){if(l>=f.length)return null;let h=f[l];if(h[0]!=="COMPARE"||h[1]!=="<")return null;let w=[h],u=1,_=l+1;while(_<f.length&&u>0){let D=f[_];if(w.push(D),D[0]==="COMPARE"&&D[1]==="<")u++;else if(D[0]==="COMPARE"&&D[1]===">")u--;_++}return u===0?w:null}function M2(f,l){let h=[],w=l+1,u=1;while(w<f.length&&u>0){let _=f[w];if(_[0]==="INDENT"){u++,w++;continue}if(_[0]==="OUTDENT"){if(u--,u===0)break;w++;continue}if(_[0]==="TERMINATOR"){w++;continue}if(u===1&&_[0]==="["){let c=[];w++;while(w<f.length&&f[w][0]!=="]")c.push(f[w]),w++;if(w++,f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let A=[];while(w<f.length){let M=f[w];if(M[0]==="TERMINATOR"||M[0]==="OUTDENT")break;A.push(M),w++}let $=Q1(c),R=Q1(A);h.push(`[${$}]: ${R}`);continue}let D=_[0]==="PROPERTY"||_[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test(_[1])&&f[w+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&D){let c=_[1],A=!1,$=!1;if(w++,c==="readonly"&&f[w]&&(f[w][0]==="PROPERTY"||f[w][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[w][1])&&f[w+1]?.[0]==="TYPE_ANNOTATION")){if($=!0,c=f[w][1],f[w].data?.predicate)A=!0;w++}if(_.data?.predicate)A=!0;if(f[w]?.[1]==="?"&&!f[w]?.spaced)A=!0,w++;if(f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let R=[],M=0;while(w<f.length){let Q=f[w];if(Q[0]==="IDENTIFIER"&&Q[1]==="type"&&f[w+1]?.[0]==="INDENT"){w++;let i=M2(f,w);R.push(["",i]);let U=1;w++;while(w<f.length&&U>0){if(f[w][0]==="INDENT")U++;if(f[w][0]==="OUTDENT")U--;w++}continue}if(Q[0]==="INDENT"){M++,w++;continue}if(Q[0]==="OUTDENT"){if(M>0){M--,w++;continue}break}if(Q[0]==="TERMINATOR"&&M===0)break;R.push(Q),w++}let z=Q1(R),F=$?"readonly ":"",W=A?"?":"";h.push(`${F}${c}${W}: ${z}`)}else w++}return"{ "+h.join("; ")+" }"}function U2(f,l){let h=0;for(let w=l;w<f.length;w++){if(f[w][0]==="INDENT")h++;if(f[w][0]==="OUTDENT"){if(h--,h===0)return w}}return f.length-1}function g4(f,l){let h=l;if(f[h]?.[0]==="TERMINATOR")h++;if(f[h]?.[0]!=="INDENT")return null;let w=h;h++;while(h<f.length&&f[h][0]==="TERMINATOR")h++;if(!f[h]||f[h][1]!=="|")return null;let u=[],_=1;h=w+1;while(h<f.length&&_>0){let c=f[h];if(c[0]==="INDENT"){_++,h++;continue}if(c[0]==="OUTDENT"){if(_--,_===0)break;h++;continue}if(c[0]==="TERMINATOR"){h++;continue}if(c[1]==="|"&&_===1){h++;let A=[];while(h<f.length){let $=f[h];if($[0]==="TERMINATOR"||$[0]==="OUTDENT"||$[1]==="|"&&_===1)break;A.push($),h++}if(A.length>0)u.push(Q1(A));continue}h++}if(u.length===0)return null;let D=U2(f,w);return{typeText:u.join(" | "),endIdx:D}}var a2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),d2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),z2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},s2=new Set(Object.keys(z2)),x4=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),r4=new Set(["break","continue","debugger"]),a4=new Set(["NEW","TYPEOF","DELETE"]),d4=new Set(["IN","OF","INSTANCEOF"]),o1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),t1=new Set([...o1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),s1=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"]),s4=new Set(["+","-"]),k4=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),o4=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"]),W1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),t4={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},k2=new Set(["CATCH","THEN","ELSE","FINALLY",...W1]),F2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),p4=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),e4=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),u5=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"]),o2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),f5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),N1=new Set(["INDENT","OUTDENT","TERMINATOR"]),O1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",k1=(f,l)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&l?.spaced===!1&&!l?.newLine;return!1},t2=new Set([".","?."]),p2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),_5=new Set([...t1,"++","--"]),e2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),l5=new Set(["*","/","%","//","%%"]),h5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),w5=new Set(["<<",">>",">>>"]),c5=new Set(["!","~"]),D5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,A5=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,$5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,R5=/^[^\n\S]+/,M5=/^(?:\n[^\n\S]*)+/,U5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,F5=/^[-=]>/,z5=/^(?:~[=>]|=!)/,W5=/^(?:'''\\|"""\\|'''|"""|'|")/,i5=/^(?:[^\\']|\\[\s\S])*/,H5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,Q5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,Y5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,u3=/\n+([^\n\S]*)(?=\S)/g,O5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,f3=/^\w*/,K5=/^(?!.*(.).*\1)[gimsuy]*$/,n5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,q5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,G5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,Z5=/\s+$/,_3=/^\s*(?:,|\??\.(?![.\d]))/,J5=65279;function p1(f,l,{pre:h=0,row:w=0,col:u=0,len:_=0,data:D=null}={}){let c=[f,l];return c.pre=h,c.data=D,c.loc={r:w,c:u,n:_},c.spaced=h>0,c.newLine=!1,c}function U1(f,l,h){let w=p1(f,l);if(w.generated=!0,h)w.origin=h;return w}function F1(f,{row:l=0,col:h=0,len:w=1}={}){let u=SyntaxError(f);throw u.location={first_line:l,first_column:h,last_column:h+w-1},u}function X5(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 i1{tokenize(f,l={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=l.row||0,this.col=l.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 h=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(h===0)F1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(h),l.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let h=this.ends[this.ends.length-1];F1(`missing ${h.tag}`,{row:this.row,col:this.col})}if(l.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,`
|
|
889
|
+
`),f=f.replace(Z5,""),/^[^\n\S]/.test(f))f=`
|
|
890
|
+
`+f;return f}advance(f){let l=this.code.slice(this.pos,this.pos+f);for(let h=0;h<l.length;h++)if(l[h]===`
|
|
891
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,l,{len:h,data:w,pre:u}={}){let _=p1(f,l,{pre:u??0,row:this.row,col:this.col,len:h??(typeof l==="string"?l.length:0),data:w});return this.tokens.push(_),_}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}inPickKeyPos(){let f=this.prev();if(!f)return!1;let l=f[0];if(l!=="{"&&l!==","&&l!==":"&&l!=="TERMINATOR"&&l!=="INDENT"&&l!=="OUTDENT")return!1;let h=0,w=this.tokens;for(let u=w.length-1;u>=0;u--){let _=w[u],D=_[0];if(D==="}"||D==="PICK_END"){h++;continue}if(D==="{"||D==="PICK_START"||D==="OPTPICK_START"){if(h===0){let c=w[u-1];return!!(c&&(c[0]==="."||c[0]==="?.")&&!c.spaced&&!_.spaced)}h--;continue}if(h===0&&(D==="("||D==="CALL_START"||D==="["||D==="INDEX_START"))return!1}return!1}identifierToken(){if(z5.test(this.chunk))return 0;let f=D5.exec(this.chunk);if(!f)return 0;let[,l,h]=f,w=l.length,u={},_;if(l==="own"&&this.prevTag()==="FOR")return this.emit("OWN",l,{len:w}),w;if(l==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",l,{len:w}),w;if(l==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let R=this.prevTag();if(R==="DEFAULT"||R==="IMPORT_ALL"||R==="IDENTIFIER")return this.emit("AS",l,{len:w}),w}if((l==="as"||l==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(l==="as!"?"FORASAWAIT":"FORAS","as",{len:w}),w;if(l==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",l,{len:w}),w;let D;if(l==="do"&&(D=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),D[1].length+3;let c=this.prev();if(h&&c&&c[0]==="TERNARY")h=null;if(h&&h.length>1&&/[a-zA-Z_$]/.test(this.chunk[w+h.length]))h=null;if(h||c&&(c[0]==="."||c[0]==="?."||!c.spaced&&c[0]==="@")||this.inPickKeyPos()){if(_="PROPERTY",this.inRenderBlock&&c&&c[0]==="."&&!h){let R=this.chunk.slice(w);while(R[0]==="-"&&/^-[a-zA-Z]/.test(R)){let M=/^-([a-zA-Z][\w]*)/.exec(R);if(!M)break;l+="-"+M[1],w+=1+M[1].length,R=this.chunk.slice(w)}}}else _="IDENTIFIER";let A=l.endsWith("!")||l.endsWith("?")?l.slice(0,-1):l;if(_==="IDENTIFIER"&&!l.endsWith("!")&&!l.endsWith("?")&&(a2.has(l)||d2.has(l)||s2.has(l))&&!(this.exportSpecifierList&&s2.has(l))){if(z2[l]!==void 0)u.original=l,l=z2[l];_=this.classifyKeyword(l,_,u)}if(_==="IDENTIFIER"&&x4.has(A))if(A==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else F1(`reserved word '${A}'`,{row:this.row,col:this.col,len:w});if(_==="PROPERTY"&&c){if(c[0]==="."&&this.tokens.length>1){let R=this.tokens[this.tokens.length-2];if(R[0]==="UNARY"&&R[1]==="new")R[0]="NEW_TARGET";if(R[0]==="IMPORT"&&R[1]==="import")this.seenImport=!1,R[0]="IMPORT_META"}}if(l.length>1&&l.endsWith("!"))u.await=!0,l=l.slice(0,-1);if(l.length>1&&l.endsWith("?"))u.predicate=!0,l=l.slice(0,-1);let $=this.emit(_,l,{len:w,data:Object.keys(u).length?u:null});if(_==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(h)return this.emit(":",":",{len:1}),w+h.length;return w}classifyKeyword(f,l,h){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(r4.has(f))return"STATEMENT";let w=f.toUpperCase();if(w==="WHEN"&&N1.has(this.prevTag()))return"LEADING_WHEN";if(w==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(w==="UNLESS")return"UNLESS";if(w==="IMPORT")return this.seenImport=!0,"IMPORT";if(w==="EXPORT")return this.seenExport=!0,"EXPORT";if(a4.has(w))return"UNARY";if(d4.has(w)){if(w!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+w;if(this.prevVal()==="!"){let u=this.tokens.pop();h.invert=u.data?.original||u[1]}return"RELATION"}if(a2.has(f)||d2.has(f))return w;return l}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let l=this.prev();if(l&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY"))return 0;let h=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(h)return this.emit("IDENTIFIER","div#"+h[1]),h[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}if(this.chunk[0]==="#"){let l=this.prev();if(l&&!l.spaced&&!l.newLine&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY"))return 0}let f=U5.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=R5.exec(this.chunk);if(!f&&this.chunk[0]!==`
|
|
892
|
+
`)return 0;let l=this.prev();if(l)if(f)l.spaced=!0,l.pre=f[0].length;else l.newLine=!0;return f?f[0].length:0}lineToken(){let f=M5.exec(this.chunk);if(!f)return 0;let l=f[0],h=l.length-1-l.lastIndexOf(`
|
|
893
|
+
`);if(this.isUnfinished()){if(h<this.indent&&/^\s*,/.test(this.chunk)&&!p2.has(this.prevTag())){if(this.outdentTo(h,l.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return l.length}return l.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,h===this.indent)return this.emitNewline(),l.length;if(h>this.indent){if(!this.tokens.length)return this.indent=h,l.length;let w=h-this.indent;return this.emit("INDENT",w,{len:h}),this.indents.push(w),this.ends.push({tag:"OUTDENT"}),this.indent=h,l.length}return this.outdentTo(h,l.length),l.length}outdentTo(f,l=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let h=this.indent-f;while(h>0){let w=this.indents[this.indents.length-1];if(!w)h=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",h,{len:l}),h-=w}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
894
|
+
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&_3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let h=this.tokens.length;if(h>=2){let w=this.tokens[h-2][0];if(w==="INDENT"||w==="TERMINATOR"||w==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"||f?.[0]==="SHIFT"&&(f[1]===">>"||f[1]===">>>")){let h=0;for(let w=this.tokens.length-1;w>=0;w--){let u=this.tokens[w];if(u[0]==="COMPARE"&&u[1]===">")h++;else if(u[0]==="SHIFT"&&u[1]===">>")h+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")h+=3;else if(u[0]==="COMPARE"&&u[1]==="<")h--;if(h===0&&u[0]==="TYPE_ANNOTATION")return!1;if(h===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return _3.test(this.chunk)||p2.has(this.prevTag())}pair(f){let l=this.ends[this.ends.length-1];if(!l||f!==l.tag){if(l?.tag==="OUTDENT"){let h=this.indents[this.indents.length-1];if(h)this.outdentTo(this.indent-h);return this.pair(f)}F1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=W5.exec(this.chunk);if(!f)return 0;let l=f[0],h=l.length>1&&l.endsWith("\\"),w=h?l.slice(0,-1):l,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let _;switch(w){case"'":_=i5;break;case'"':_=H5;break;case"'''":_=Q5;break;case'"""':_=Y5;break}let{tokens:D,index:c}=this.matchWithInterpolations(_,l,w),A=w.length===3,$=null;if(A)$=this.processHeredocIndent(c,w,D);return this.mergeInterpolationTokens(D,{quote:w,indent:$,endOffset:c,raw:h}),c}processHeredocIndent(f,l,h){let w=f-l.length,u=w-1;while(u>=0&&this.chunk[u]!==`
|
|
895
|
+
`)u--;u++;let _=this.chunk.slice(u,w),D=/^\s*$/.test(_)?_.length:null,c="";for(let R of h)if(R[0]==="NEOSTRING")c+=R[1];let A=null,$;u3.lastIndex=0;while($=u3.exec(c))if(A===null||$[1].length>0&&$[1].length<A.length)A=$[1];if(D===null)return A;if(A===null)return" ".repeat(D);if(D<=A.length)return" ".repeat(D);return A}matchWithInterpolations(f,l,h,w){if(!h)h=l;if(!w)w=/^[#$]\{/;let u=[],_=l.length;if(this.chunk.slice(0,_)!==l)return null;let D=this.chunk.slice(_);while(!0){let[c]=f.exec(D);u.push(["NEOSTRING",c,{offset:_}]),D=D.slice(c.length),_+=c.length;let A=w.exec(D);if(!A)break;let R=A[0].length-1,M=D.slice(R),z=new i1().tokenize(M,{row:this.row,col:this.col+_+R,untilBalanced:!0,rewrite:!1}),F=z.index+R;if(D[F-1]==="}"){let Q=z.tokens[0],i=z.tokens[z.tokens.length-1];Q[0]="INTERPOLATION_START",Q[1]="(",i[0]="INTERPOLATION_END",i[1]=")"}if(z.tokens[1]?.[0]==="TERMINATOR")z.tokens.splice(1,1);let W=z.tokens.length;if(W>2&&z.tokens[W-3]?.[0]==="INDENT"&&z.tokens[W-2]?.[0]==="OUTDENT")z.tokens.splice(W-3,2);u.push(["TOKENS",z.tokens]),D=D.slice(F),_+=F}if(D.slice(0,h.length)!==h)F1(`missing ${h}`,{row:this.row,col:this.col});return{tokens:u,index:_+h.length}}mergeInterpolationTokens(f,{quote:l,indent:h,endOffset:w,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:l?.length||0,data:{quote:l}});for(let _=0;_<f.length;_++){let[D,c]=f[_];if(D==="TOKENS")for(let A of c)this.tokens.push(A);else if(D==="NEOSTRING"){let A=c;if(h){let $=new RegExp("\\n"+h,"g");A=A.replace($,`
|
|
896
|
+
`)}if(_===0&&l?.length===3)A=A.replace(/^\n/,"");if(_===f.length-1&&l?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:c.length,data:{quote:l}})}}if(f.length>1)this.emit("STRING_END",")",{len:l?.length||0});return w}numberToken(){let f=A5.exec(this.chunk);if(!f)return 0;let l=f[0],h=l.length,w={row:this.row,col:this.col};if(/^0[BOX]/.test(l))F1(`radix prefix in '${l}' must be lowercase`,{...w,col:w.col+1});if(/^0\d*[89]/.test(l))F1(`decimal literal '${l}' must not be prefixed with '0'`,{...w,len:h});if(/^0\d+/.test(l))F1(`octal literal '${l}' must be prefixed with '0o'`,{...w,len:h});let u=X5(l),_=u===1/0?"INFINITY":"NUMBER",D={parsedValue:u};if(_==="INFINITY")D.original=l;return this.emit(_,l,{len:h,data:D}),h}regexToken(){let f=this.matchWithInterpolations(n5,"///");if(f){let{tokens:$,index:R}=f,[M]=f3.exec(this.chunk.slice(R)),z=R+M.length;if($.length===1||!$.some((F)=>F[0]==="TOKENS")){let F=($[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${F}/${M}`,{len:z,data:{delimiter:"///",heregex:{flags:M}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens($,{quote:"///",endOffset:z-M.length}),M)this.emit(",",",",{len:0}),this.emit("STRING",`"${M}"`,{len:M.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return z}let l=O5.exec(this.chunk);if(!l)return 0;let[h,w,u]=l,_=this.prev();if(_){if(_.spaced&&o1.has(_[0])&&(!u||/^\/=?\s/.test(h)))return 0;if(_5.has(_[0])&&!(_.spaced&&o1.has(_[0])))return 0}if(!u)F1("missing / (unclosed regex)",{row:this.row,col:this.col});let D=h.length,[c]=f3.exec(this.chunk.slice(D)),A=D+c.length;if(!K5.test(c))F1(`invalid regular expression flags ${c}`,{row:this.row,col:this.col+D,len:c.length});return this.emit("REGEX",`/${w}/${c}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let f=G5.exec(this.chunk)||q5.exec(this.chunk);if(!f)return 0;let l=f[1],h=f[0].length;return this.emit("JS",l,{len:h,data:{here:f[0].startsWith("```")}}),h}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let h={"[":"]","(":")","{":"}","<":">"}[f]||f,w=h!==f,u=1,_=3;while(_<this.chunk.length&&u>0){let $=this.chunk[_];if($==="\\"){_+=2;continue}if(w&&$===f)u++;if($===h)u--;if(u>0)_++}if(u!==0)return 0;let D=this.chunk.slice(3,_),c=_+1,A=[];if(D.trim()){let $=D.trim().split(/(?<!\\)\s+/);for(let R of $)A.push(R.replace(/\\ /g," "))}this.emit("[","[",{len:c});for(let $=0;$<A.length;$++){if($>0)this.emit(",",",");this.emit("STRING",`"${A[$]}"`)}return this.emit("]","]"),c}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 l=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!l)return 0;let h=l[1],w=h.length+1;return this.emit("SYMBOL",h,{len:w}),w}literalToken(){let f=this.wordLiteral();if(f)return f;let l=this.symbolToken();if(l)return l;let h=$5.exec(this.chunk),w=h?h[0]:this.chunk.charAt(0),u=w,_=this.prev();if(F5.test(w))this.tagParameters();if(w==="="&&_&&_[1]==="."&&!_.spaced){let D=this.tokens,c=D.length-2;while(c>=1&&D[c][0]==="PROPERTY"&&D[c-1]?.[1]===".")c-=2;if(c>=0&&(D[c][0]==="IDENTIFIER"||D[c][0]===")"||D[c][0]==="]")){let A=D.slice(c,D.length-1);_[0]="=",_[1]="=";for(let $ of A)this.tokens.push(p1($[0],$[1],{pre:0,row:$[2],col:$[3],len:$[4]}));return this.tokens.push(p1(".",".",{pre:0,row:this.row,col:this.col,len:1})),w.length}}if(_&&(w==="="||e2.has(w))){if(w==="="&&(_[1]==="||"||_[1]==="&&"||_[1]==="??")&&!_.spaced)return _[0]="COMPOUND_ASSIGN",_[1]+="=",w.length}if(w==="("&&_?.[0]==="IMPORT")_[0]="DYNAMIC_IMPORT";if(w==="{"&&this.seenImport)this.importSpecifierList=!0;if(w==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(w==="{"&&_?.[0]==="EXPORT")this.exportSpecifierList=!0;if(w==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(w===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(w==="|>")u="PIPE";else if(w==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(w==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(w==="~=")u="COMPUTED_ASSIGN";else if(w===":=")u="REACTIVE_ASSIGN";else if(w==="<=>")u="BIND";else if(w==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(w==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(w==="*>"&&(!_||_[0]==="TERMINATOR"||_[0]==="INDENT"||_[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let D=this.chunk.slice(2),c=/^@(\s*)=(?!=)/.exec(D);if(c){let $=c[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let R=this.emit("PROPERTY","assign");return R.spaced=!0,this.emit("@","@"),this.emit(",",","),3+$.length+1}let A=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(D);if(A){let $=A[1],R=A[2],M=$[0]==="@",z=M?$.slice(1):$,F=z?z.split("."):[],W=()=>{if(M){if(this.emit("@","@"),F.length>0)this.emit("PROPERTY",F[0])}else this.emit("IDENTIFIER",F[0]);for(let i=1;i<F.length;i++)this.emit(".","."),this.emit("PROPERTY",F[i])};W(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),W(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let Q=this.prev();return Q.mergeClose=!0,2+$.length+R.length+1}}else if(w==="*"&&_?.[0]==="EXPORT")u="EXPORT_ALL";else if(l5.has(w))u="MATH";else if(h5.has(w))u="COMPARE";else if(e2.has(w))u="COMPOUND_ASSIGN";else if(c5.has(w))u="UNARY_MATH";else if(w5.has(w))u="SHIFT";else if(w==="?"&&_?.spaced)u="TERNARY";else if(w==="?!"&&_&&!_.spaced)u="PRESENCE";else if(w==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if(_){if(w==="("&&!_.spaced&&o1.has(_[0])){if(_[0]==="?.")_[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(w==="["&&!_.spaced&&t1.has(_[0])){if(u="INDEX_START",_[0]==="?.")_[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(w==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(w==="("||w==="{"||w==="[")this.ends.push({tag:t4[w],origin:[u,w]});else if(w===")"||w==="}"||w==="]")this.pair(w);return this.emit(u,w,{len:w.length}),w.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,l=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let h=this.tokens[f];if(h[0]===")")l.push(h);else if(h[0]==="("||h[0]==="CALL_START")if(l.length)l.pop();else if(h[0]==="(")return h[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let l=this.tokens[f??this.tokens.length-1];if(l?.[0]==="DO")l[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 l=0;l<f.length;l++){if(f[l][0]!=="MATH"||f[l][1]!=="*")continue;let h=f[l+1];if(!h||h[0]!=="{")continue;if(f[l].spaced||f[l].newLine)continue;let w=f[l-1];if(w&&t1.has(w[0]))continue;f.splice(l,1),f[l][0]="MAP_START";let u=1;for(let _=l+1;_<f.length&&u>0;_++){let D=f[_][0];if(D==="{"||D==="MAP_START")u++;if(D==="}"){if(u--,u===0)f[_][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let l=0;l<f.length;l++){let h=f[l][0];if(h!=="."&&h!=="?.")continue;let w=f[l+1];if(!w||w[0]!=="{")continue;if(f[l].spaced||f[l].newLine)continue;let u=f[l-1];if(!u||!t1.has(u[0]))continue;let _=h==="?.";f.splice(l,1),f[l][0]=_?"OPTPICK_START":"PICK_START";let D=1;for(let c=l+1;c<f.length&&D>0;c++){let A=f[c][0];if(A==="{"||A==="PICK_START"||A==="OPTPICK_START")D++;else if(A==="}"){if(D--,D===0){f[c][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,l)=>{if(f[0]==="CALL_START")this.detectEnd(l+1,(h)=>h[0]===")"||h[0]==="CALL_END",(h)=>h[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,l)=>{if(f[0]==="INDEX_START")this.detectEnd(l+1,(h)=>h[0]==="]"||h[0]==="INDEX_END",(h,w)=>{if(this.tokens[w+1]?.[0]===":")f[0]="[",h[0]="]";else h[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,l=null,h=null,w=(_,D)=>{return _[1]!==";"&&f5.has(_[0])&&!(_[0]==="TERMINATOR"&&k2.has(this.tokens[D+1]?.[0]))&&!(_[0]==="ELSE"&&f!=="THEN")||_[0]==="INDENT"&&!_.generated&&(f==="->"||f==="=>")||_[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(D)&&!this.commaInImplicitObject(D)||t2.has(_[0])&&(this.tokens[D-1]?.newLine||this.tokens[D-1]?.[0]==="OUTDENT")},u=(_,D)=>{let c=this.tokens[D-1]?.[0]===","?D-1:D;this.tokens.splice(c,0,h)};this.scanTokens((_,D,c)=>{let[A]=_;if(A==="TERMINATOR"){if(this.tokens[D+1]?.[0]==="ELSE"&&this.tokens[D-1]?.[0]!=="OUTDENT")return c.splice(D,1,...this.makeIndentation()),1;if(k2.has(this.tokens[D+1]?.[0]))return c.splice(D,1),0}if(A==="CATCH")for(let $=1;$<=2;$++){let R=this.tokens[D+$]?.[0];if(R==="OUTDENT"||R==="TERMINATOR"||R==="FINALLY")return c.splice(D+$,0,...this.makeIndentation()),2+$}if((A==="->"||A==="=>")&&(this.tokens[D+1]?.[0]===","||this.tokens[D+1]?.[0]==="]"))return[l,h]=this.makeIndentation(),c.splice(D+1,0,l,h),1;if(o2.has(A)&&this.tokens[D+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[D+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[D-1]?.[0]!=="OUTDENT")){if(f=A,[l,h]=this.makeIndentation(),A==="THEN")l.fromThen=!0;if(c.splice(D+1,0,l),A==="THEN"&&this.singleLineOwner(D)==="LEADING_WHEN")this.detectWhenThenEnd(D+2,w,u);else this.detectEnd(D+2,w,u);if(A==="THEN")c.splice(D,1);return 1}return 1})}singleLineOwner(f){let l=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let h=f-1;h>=0;h--){let w=this.tokens[h],u=w?.[0];if(l.has(u))return u;if(N1.has(u)||w?.newLine)return null}return null}detectWhenThenEnd(f,l,h){let w=0,u=0;while(f<this.tokens.length){let _=this.tokens[f],D=_[0];if(w===0){if(D==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(D==="ELSE"&&u>0)u--;else if(l.call(this,_,f))return h.call(this,_,f)}if(Y1.has(D))w++;if(W1.has(D))w--;if(w<0)return h.call(this,_,f);f++}}tagPostfixConditionals(){let f=null,l=(w,u)=>{return w[0]==="TERMINATOR"||w[0]==="INDENT"&&!o2.has(this.tokens[u-1]?.[0])},h=(w)=>{if(w[0]!=="INDENT"||w.generated&&!w.fromThen)f[0]="POST_"+f[0]};this.scanTokens((w,u)=>{if(w[0]!=="IF"&&w[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=w,this.detectEnd(u+1,l,h),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let l=f.length-2;l>=0;l--)if(f[l][0]==="IDENTIFIER"&&f[l][1]==="$"&&(f[l+1]?.[0]==="STRING"||f[l+1]?.[0]==="STRING_START")){let h=f[l-1];if(h&&p4.has(h[0])){if(f.splice(l,1),h.spaced=!1,f[l].spaced=!1,f[l].pre=0,f[l].newLine)f[l].newLine=!1}}}addImplicitBracesAndParens(){let f=[],l=!1;this.scanTokens((h,w,u)=>{let[_]=h,D=u[w-1]||[],c=u[w+1]||[],[A]=D,[$]=c,R=w,M=(G)=>w-R+G,z=()=>f[f.length-1],F=(G)=>G?.[2]?.ours,W=()=>F(z())&&z()?.[0]==="(",Q=()=>F(z())&&z()?.[0]==="{",i=(G)=>{f.push(["(",G,{ours:!0}]),u.splice(G,0,U1("CALL_START","("))},U=()=>{f.pop(),u.splice(w,0,U1("CALL_END",")")),w+=1},Y=(G,J={})=>{f.push(["{",G,{sameLine:!0,startsLine:J.startsLine??!0,ours:!0}]);let N=U1("{","{");if(!N.data)N.data={};N.data.generated=!0,u.splice(G,0,N)},H=(G)=>{G=G??w,f.pop(),u.splice(G,0,U1("}","}")),w+=1},O=_==="FOR"&&!h.newLine&&u5.has(A);if((W()||Q())&&e4.has(_)&&!O)return f.push(["CONTROL",w,{ours:!0}]),M(1);if(_==="INDENT"&&F(z())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(W()||Q()&&A!==":")if(W())U();else H();if(z()?.[2]?.ours&&z()[0]==="CONTROL")f.pop();return f.push([_,w]),M(1)}if(Y1.has(_))return f.push([_,w]),M(1);if(W1.has(_)){while(F(z()))if(W())U();else if(Q())H();else f.pop();f.pop()}let q=!1;if($==="-"&&!c.spaced&&!c.newLine&&O1(h))for(let G=w;G<u.length-2;G+=2){if(!k1(u[G+1],u[G+2]))break;if(!O1(u[G+2]))break;if(u[G+3]?.[0]===":"){q=!0;break}}if(!q&&F2.has(_)&&h.spaced&&(s1.has($)||$==="..."&&s1.has(u[w+2]?.[0])||s4.has($)&&!c.spaced&&!c.newLine)&&!((_==="]"||_==="}")&&($==="->"||$==="=>")))return i(w+1),M(2);if(F2.has(_)&&this.tokens[w+1]?.[0]==="INDENT"&&this.looksObjectish(w+2)&&!this.findTagsBackwards(w,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return i(w+1),f.push(["INDENT",w+2]),M(3);if(_==="TERNARY")l=!0;if(_===":"){if(l)return l=!1,M(1);if(O1(u[w-1])&&k1(u[w-2],u[w-1])){let N=w-2;while(N>=2&&k1(u[N],u[N+1])&&O1(u[N-1]))N-=2;if(N+=1,O1(u[N])){let g="";for(let T=N;T<w;T++)g+=u[T][1];let L=U1("STRING",`"${g}"`,u[N]);L.pre=u[N].pre,L.spaced=u[N].spaced,L.newLine=u[N].newLine,L.loc=u[N].loc,u.splice(N,w-N,L),w=N+1}}let G=W1.has(this.tokens[w-1]?.[0])?f[f.length-1]?.[1]??w-1:w-1;if(this.tokens[w-2]?.[0]==="@")G=w-2;let J=G<=0||N1.has(this.tokens[G-1]?.[0])||this.tokens[G-1]?.newLine;if(z()){let[N,g]=z(),L=f[f.length-2],T=(X)=>X==="{"||X==="MAP_START"||X==="PICK_START"||X==="OPTPICK_START";if((T(N)||N==="INDENT"&&T(L?.[0])&&!F(L))&&(J||this.tokens[G-1]?.[0]===","||T(this.tokens[G-1]?.[0])||T(this.tokens[G]?.[0])))return M(1)}return Y(G,{startsLine:!!J}),M(2)}if(N1.has(_))for(let G=f.length-1;G>=0;G--){if(!F(f[G]))break;if(f[G][0]==="{")f[G][2].sameLine=!1}let n=A==="OUTDENT"||D.newLine,K=_==="||"||_==="&&",Z=!1;if(K){let G=w+1,J=u[G]?.[0];if(J==="("||J==="["||J==="{"){for(let N=1;++G<u.length&&N>0;)if(J=u[G][0],J==="("||J==="["||J==="{")N++;else if(J===")"||J==="]"||J==="}")N--}else if(J&&J!=="TERMINATOR"&&J!=="OUTDENT"&&J!==",")G++;Z=u[G]?.[0]===","}if(k4.has(_)&&!Z||t2.has(_)&&n)while(F(z())){let[G,,{sameLine:J,startsLine:N}]=z();if(W()&&A!==",")U();else if(Q()&&!K&&J&&_!=="TERMINATOR"&&A!==":")H();else if(Q()&&_==="TERMINATOR"&&A!==","&&!(N&&this.looksObjectish(w+1)))H();else if(z()?.[2]?.ours&&z()[0]==="CONTROL"&&u[z()[1]]?.[0]==="CLASS"&&_==="TERMINATOR")f.pop();else break}if(_===","&&!this.looksObjectish(w+1)&&Q()&&($!=="TERMINATOR"||!this.looksObjectish(w+2))){let G=$==="OUTDENT"?1:0;while(Q())H(w+G)}return M(1)})}addImplicitCallCommas(){let f=0,l=0,h=this.tokens;while(l<h.length){let w=h[l][0],u=l>0?h[l-1][0]:null;if(w==="CALL_START"||w==="(")f++;if(w==="CALL_END"||w===")")f--;if(f>0&&(w==="->"||w==="=>")&&o4.has(u))h.splice(l,0,U1(",",",")),l++;l++}}scanTokens(f){let l=0;while(l<this.tokens.length)l+=f.call(this,this.tokens[l],l,this.tokens)}detectEnd(f,l,h,w={}){let u=0;while(f<this.tokens.length){let _=this.tokens[f];if(u===0&&l.call(this,_,f))return h.call(this,_,f);if(Y1.has(_[0]))u++;if(W1.has(_[0]))u--;if(u<0){if(w.returnOnNegativeLevel)return;return h.call(this,_,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let l=0;l<f.length;l++){if(!f[l].mergeClose)continue;let h=0;for(let w=l+1;w<f.length;w++){let u=f[w][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")h++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")h--;if(h<0||h===0&&u==="TERMINATOR"){f.splice(w,0,U1("CALL_END",")",f[w-1]));break}if(w===f.length-1){f.splice(w+1,0,U1("CALL_END",")",f[w]));break}}}}commaInImplicitCall(f){let l=0;for(let h=f-1;h>=0;h--){let w=this.tokens[h][0];if(W1.has(w)){l++;continue}if(Y1.has(w)){if(w==="INDENT")return!1;if(l--,l<0)return!1;continue}if(l>0)continue;if(F2.has(w)&&this.tokens[h].spaced){let u=this.tokens[h+1]?.[0];return s1.has(u)||u==="..."&&s1.has(this.tokens[h+2]?.[0])}}return!1}commaInImplicitObject(f){let l=0;for(let h=f-1;h>=0;h--){let w=this.tokens[h][0];if(W1.has(w)){l++;continue}if(Y1.has(w)){if(l--,l<0)return!1;continue}if(l>0)continue;if(w===":"&&h>0&&this.tokens[h-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(N1.has(w))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if(O1(this.tokens[f]))for(let l=f+1;l<this.tokens.length;l+=2){if(!k1(this.tokens[l],this.tokens[l+1]))break;if(!O1(this.tokens[l+1]))break;if(this.tokens[l+2]?.[0]===":")return!0}if(Y1.has(this.tokens[f]?.[0])){let l=null;if(this.detectEnd(f+1,(h)=>W1.has(h[0]),(h,w)=>l=w),l&&this.tokens[l+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,l){let h=new Set(l),w=[];while(f>=0){let u=this.tokens[f]?.[0];if(!w.length&&h.has(u))return!0;if(W1.has(u))w.push(u);if(Y1.has(u)&&w.length)w.pop();if(!w.length&&(Y1.has(u)&&!this.tokens[f]?.generated||N1.has(u)))break;f--}return!1}makeIndentation(f){let l=U1("INDENT",2),h=U1("OUTDENT",2);if(f)l.generated=h.generated=!0,l.origin=h.origin=f;else l.explicit=h.explicit=!0;return[l,h]}}r2(i1);d1(i1);var S5=["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"],l3=new Set(S5);var P5=["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 N5=["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"],E5=["math","param","portal"],h3=new Set([...P5,...E5]),K1=new Set(N5),n1=new Set([...h3,...K1]);var w3="__bind_",c3="__",W2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),I5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),i2="http://www.w3.org/2000/svg";function y5(f){for(let l of f){if(!Array.isArray(l))continue;let h=l[1]instanceof String?l[1].valueOf():l[1],w=l[2]instanceof String?l[2].valueOf():l[2];if(h==="type"&&typeof w==="string")return w.replace(/^["']|["']$/g,"")}return null}function q1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function H2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function Q2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function D3(f,l){let h=(c,A)=>c instanceof String?c[A]:void 0,w=l.prototype.classifyKeyword;l.prototype.classifyKeyword=function(c,A,$){if(c==="offer"||c==="accept"){let R=0;for(let M=this.tokens.length-1;M>=0;M--){let z=this.tokens[M][0];if(z==="OUTDENT")R++;else if(z==="INDENT")R--;if(R<0&&this.tokens[M-1]?.[0]==="COMPONENT")return c.toUpperCase()}return A}return w.call(this,c,A,$)},l.prototype.rewriteRender=function(){let c=(U,Y,H)=>{let O=[U,Y];if(O.pre=0,O.data=null,O.loc=H?.loc??{r:0,c:0,n:0},O.spaced=!1,O.newLine=!1,O.generated=!0,H)O.origin=H;return O},A=!1,$=0,R=0,M=[],z=(U)=>{let Y=U.split("#")[0];return n1.has(Y)},F=(U)=>{if(!U||typeof U!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(U)},W=(U)=>{return z(U)||F(U)},Q=(U,Y,H,O)=>{let q=1,n=Y;while(n>=0&&q>0){let K=U[n][0];if(K===H)q++;else if(K===O)q--;if(q>0)n--}return n},i=(U,Y)=>{let H=Y;while(H>0){let O=U[H-1][0];if(O==="TERMINATOR"||O==="RENDER")break;if(O==="INDENT"||O==="OUTDENT"){let q=U[H][0];if(q==="CALL_END"||q===")"){H=Q(U,H-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(O==="CALL_END"||O===")"){H=Q(U,H-2,O,O==="CALL_END"?"CALL_START":"(");continue}if(O==="INTERPOLATION_END"){H=Q(U,H-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(O==="STRING_END"){H=Q(U,H-2,"STRING_END","STRING_START");continue}H--}return U[H]&&U[H][0]==="IDENTIFIER"&&(W(U[H][1])||(H===0||U[H-1][0]==="INDENT"||U[H-1][0]==="TERMINATOR"||U[H-1][0]==="RENDER"))};this.scanTokens(function(U,Y,H){let O=U[0],q=Y<H.length-1?H[Y+1]:null;if(O==="RENDER")return A=!0,$=R+1,1;if(O==="INDENT")return R++,1;if(O==="OUTDENT"){R--;let n=0;while(M.length>0&&M[M.length-1]>R){let K=c("CALL_END",")",U);H.splice(Y+1+n,0,K),M.pop(),n++}if(A&&R<$)A=!1;return 1+n}if(!A)return 1;if(O==="="&&Y>0){let n=H[Y-1][0];if(n==="TERMINATOR"||n==="INDENT"||n==="RENDER"){let K=c("IDENTIFIER","__text__",U),Z=c("CALL_START","(",U);return H.splice(Y,1,K,Z),this.detectEnd(Y+2,(G)=>G[0]==="TERMINATOR"||G[0]==="OUTDENT",(G,J)=>H.splice(J,0,c("CALL_END",")",G)),{returnOnNegativeLevel:!0}),2}}if(O==="UNARY_MATH"&&U[1]==="~"&&q&&q[0]==="IDENTIFIER"){U[0]="PROPERTY",U[1]="__transition__";let n=c(":",":",U),K=c("STRING",`"${q[1]}"`,q);return H.splice(Y+1,1,n,K),1}if(O==="PROPERTY"&&U[1][0]==="$"&&U[1].length>1)return U[0]="STRING",U[1]=`"data-${U[1].slice(1)}"`,1;if(O==="IDENTIFIER"&&!U.spaced){let n=[U[1]],K=Y+1;while(K+1<H.length){let Z=H[K],G=H[K+1];if(Z[0]==="-"&&!Z.spaced&&(G[0]==="IDENTIFIER"||G[0]==="PROPERTY")){if(n.push(G[1]),K+=2,G[0]==="PROPERTY")break}else break}if(n.length>1&&K>Y+1&&H[K-1][0]==="PROPERTY"){let Z=n.join("-");if(Z[0]==="$")Z="data-"+Z.slice(1);return U[0]="STRING",U[1]=`"${Z}"`,H.splice(Y+1,K-Y-1),1}}if(O==="."){let n=Y>0?H[Y-1]:null,K=n?n[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let Z=Y+2<H.length?H[Y+2]:null;if(!Z||Z[0]!==":"){let G=c("IDENTIFIER","div",U);return H.splice(Y,0,G),2}}if(!q||q[0]!=="(")return U[0]="IDENTIFIER",U[1]="div",0}}if(O==="IDENTIFIER"||O==="PROPERTY"){let n=H[Y+1],K=H[Y+2];if(n&&n[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(U[1]=U[1]+"#"+K[1],K.spaced)U.spaced=!0;return H.splice(Y+1,2),0}}if(O==="BIND"){let n=Y>0?H[Y-1]:null,K=H[Y+1];if(n&&(n[0]==="IDENTIFIER"||n[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return n[1]=`__bind_${n[1]}__`,U[0]=":",U[1]=":",1}if(O==="@"){let n=Y+1;if(n<H.length&&H[n][0]==="PROPERTY"){n++;while(n+1<H.length&&H[n][0]==="."&&H[n+1][0]==="PROPERTY")n+=2;if(n>Y+2&&n<H.length&&H[n][0]===":"){let K=c("[","[",U);H.splice(Y,0,K);let Z=c("]","]",H[n+1]);return H.splice(n+1,0,Z),2}}}if(O==="."&&q&&q[0]==="("){let n=Y>0?H[Y-1]:null,K=n?n[0]:null,Z=K==="INDENT"||K==="TERMINATOR",G=c("PROPERTY","__clsx",U);q[0]="CALL_START";let J=1;for(let N=Y+2;N<H.length&&J>0;N++)if(H[N][0]==="("||H[N][0]==="CALL_START")J++;else if(H[N][0]===")"){if(J--,J===0)H[N][0]="CALL_END"}else if(H[N][0]==="CALL_END")J--;if(Z){let N=c("IDENTIFIER","div",U);return H.splice(Y,0,N),H.splice(Y+2,0,G),3}else if(K===":")return H[Y]=c("IDENTIFIER","__clsx",U),1;else return H.splice(Y+1,0,G),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(O==="->"||O==="=>"||O==="CALL_START"||O==="(")return 1;let n=!1,K=Y>0?H[Y-1][0]:null,Z=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",G=!1;if(O==="CALL_END"){let N=1;for(let g=Y-1;g>=0&&N>0;g--)if(H[g][0]==="CALL_END")N++;else if(H[g][0]==="CALL_START"){if(N--,N===0&&g>0&&H[g-1][0]==="PROPERTY"&&H[g-1][1]==="__clsx")G=!0}}let J=O==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(G)n=!0;else if(O==="IDENTIFIER"&&W(U[1])&&!Z)n=!0;else if(O==="IDENTIFIER"&&!Z)n=J||i(H,Y);else if(O==="PROPERTY"||O==="STRING"||O==="STRING_END"||O==="NUMBER"||O==="BOOL"||O==="CALL_END"||O===")"||O==="PRESENCE")n=i(H,Y);if(n){let N=!1;if(O==="PROPERTY"&&Y>0&&H[Y-1][0]==="."){let L=Y;while(L>=2&&H[L-1][0]==="."&&H[L-2][0]==="PROPERTY")L-=2;if(L>=2&&H[L-1][0]==="."&&H[L-2][0]==="IDENTIFIER"&&W(H[L-2][1])){let T=L>=3?H[L-3][0]:null;if(!T||T==="INDENT"||T==="OUTDENT"||T==="TERMINATOR"||T==="RENDER")N=!0}}if(G||O==="IDENTIFIER"&&(W(U[1])||J)||N){let L=c("CALL_START","(",U),T=c("->","->",U);return T.newLine=!0,H.splice(Y+1,0,L,T),M.push(R+1),3}else{let L=c(",",",",U),T=c("->","->",U);return T.newLine=!0,H.splice(Y+1,0,L,T),3}}}if(O==="IDENTIFIER"&&F(U[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return H.splice(Y+1,0,c("CALL_START","(",U),c("CALL_END",")",U)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(c){let A=c.split("#")[0];return n1.has(A.toLowerCase())},u.isComponent=function(c){if(!c||typeof c!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(c)},u.collectTemplateClasses=function(c){let A=[],$=c;while(this.is($,".")){let F=$[2];if(typeof F==="string"||F instanceof String)A.unshift(F.valueOf());$=$[1]}let R=typeof $==="string"?$:$ instanceof String?$.valueOf():null;if(R===null)return{tag:null,classes:A,id:void 0,base:$};let[M,z]=R.split("#");if(!M)M="div";return{tag:M,classes:A,id:z,base:$}};let _=(c)=>typeof c==="string"?c:c instanceof String?c.valueOf():null,D=(c,A)=>{if(!(c instanceof String))return A;let $=new String(A);if(c.predicate)$.predicate=!0;if(c.await)$.await=!0;return $.predicate||$.await?$:A};u.transformComponentMembers=function(c,A=new Set){let $=this._self;if(!Array.isArray(c)){let R=_(c);if(R&&A.has(R))return c;if(R&&this.reactiveMembers&&this.reactiveMembers.has(R))return[".",[".",$,R],D(c,"value")];if(R&&this.componentMembers&&this.componentMembers.has(R))return[".",$,D(c,R)];return c}if(c[0]==="."&&c[1]==="this"&&_(c[2])!=null){let R=c[2],M=_(R);if(this.reactiveMembers&&this.reactiveMembers.has(M))return[".",[".",$,M],D(R,"value")];return this._factoryMode?[".",$,R]:c}if(c[0]==="."||c[0]==="?.")return[c[0],this.transformComponentMembers(c[1]),c[2]];if(c[0]==="->"){let R=c[1],M=new Set(A);if(Array.isArray(R))for(let z of R){let F=_(Array.isArray(z)&&z[0]==="default"?z[1]:z);if(F)M.add(F)}return["=>",c[1],this.transformComponentMembers(c[2],M)]}if(c[0]==="object"||c[0]==="map-literal")return[c[0],...c.slice(1).map((R)=>{if(Array.isArray(R)&&R[0]==="...")return["...",this.transformComponentMembers(R[1],A)];if(Array.isArray(R)&&R.length>=2){let M=R[1],z=Array.isArray(M)?this.transformComponentMembers(M,A):M,F=this.transformComponentMembers(R[2],A);return[R[0],z,F]}return this.transformComponentMembers(R,A)})];if(c[0]==="block"||c[0]==="program"){let R=new Set(A),M=[c[0]];for(let z=1;z<c.length;z++){let F=c[z];if(Array.isArray(F)&&F[0]==="="){let W=_(F[1]);if(W&&!(this.reactiveMembers&&this.reactiveMembers.has(W))){M.push(["=",F[1],this.transformComponentMembers(F[2],R)]),R.add(W);continue}}M.push(this.transformComponentMembers(F,R))}return M}return c.map((R)=>this.transformComponentMembers(R,A))},u.emitComponent=function(c,A,$,R){let[,M]=A,z=this.is(M,"block")?M.slice(1):[],F=[],W=[],Q=[],i=[],U=[],Y=[],H=[],O=[],q=null,n=new Set,K=new Set;for(let S of z){if(!Array.isArray(S))continue;let[I]=S;if(I==="offer"){if(S=S[1],!Array.isArray(S))continue;I=S[0];let y=q1(S[1]);if(y)H.push(y)}if(I==="accept"){let y=typeof S[1]==="string"?S[1]:q1(S[1]);if(y)O.push(y),n.add(y),K.add(y)}else if(I==="."&&S[1]==="this"&&q1(S)){let y=typeof S[2]==="string"||S[2]instanceof String?S[2].valueOf():null;if(y)F.push({name:y,value:void 0,isPublic:!0,type:S[2]?.type||null,required:!0}),n.add(y),K.add(y)}else if(I==="state"){let y=q1(S[1]);if(y)F.push({name:y,value:S[2],isPublic:H2(S[1]),type:Q2(S[1])}),n.add(y),K.add(y)}else if(I==="computed"){let y=q1(S[1]);if(y)W.push({name:y,expr:S[2],type:Q2(S[1])}),n.add(y),K.add(y)}else if(I==="readonly"){let y=q1(S[1]);if(y)Q.push({name:y,value:S[2],isPublic:H2(S[1]),type:Q2(S[1])}),n.add(y)}else if(I==="="){let y=q1(S[1]);if(y)if(W2.has(y))U.push({name:y,value:S[2]});else{let v=S[2];if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>"))i.push({name:y,func:v}),n.add(y);else F.push({name:y,value:v,isPublic:H2(S[1])}),n.add(y),K.add(y)}}else if(I==="effect")Y.push(S);else if(I==="render")q=S;else if(I==="object")for(let y=1;y<S.length;y++){let v=S[y];if(!Array.isArray(v))continue;let[,k,h1]=v;if(typeof k==="string"&&W2.has(k))U.push({name:k,value:h1});else if(typeof k==="string")i.push({name:k,func:h1}),n.add(k)}}let Z=new Map;for(let{name:S}of i)if(/^on[A-Z]/.test(S)&&!W2.has(S)){let I=S[2].toLowerCase()+S.slice(3);if(l3.has(I))Z.set(I,S)}let G=A[0]?.valueOf?.()??null,J=new Set;for(let{name:S,isPublic:I}of F)if(I)J.add(S);for(let{name:S,isPublic:I}of Q)if(I)J.add(S);let N=this.componentMembers,g=this.reactiveMembers,L=this._autoEventHandlers,T=this._inheritsTag;if(this.componentMembers=n,this.reactiveMembers=K,this._autoEventHandlers=Z.size>0?Z:null,this._inheritsTag=G||null,this.options.stubComponents){let S=(P)=>P?P.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,I=[],y=this._componentTypeParams||"";I.push(`class ${y}{`),I.push(" declare _root: Element | null; declare app: any;"),I.push(" emit(_name: string, _detail?: any): void {}");let v=[];for(let{name:P,type:B,isPublic:V,required:r}of F){if(!V)continue;let o=S(B),e=r?"":"?";v.push(`${P}${e}: ${o||"any"}`),v.push(`__bind_${P}__?: Signal<${o||"any"}>`)}for(let{name:P,type:B,isPublic:V}of Q){if(!V)continue;let r=S(B);v.push(`${P}?: ${r||"any"}`)}{let B=v.length>0&&F.some((r)=>r.isPublic&&r.required)?"":"?",V=v.length>0?`{${v.join("; ")}}`:"{}";if(G)V+=` & __RipProps<'${G}'>`;I.push(` constructor(_props${B}: ${V}) {}`)}let k=(P)=>{let B=P?.valueOf?.()??P;if(typeof B!=="string")return null;if(B==="true"||B==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(B))return"number";if(B.startsWith('"')||B.startsWith("'"))return"string";return null};for(let{name:P,type:B,value:V}of F){let r=S(B)||k(V);I.push(r?` declare ${P}: Signal<${r}>;`:` declare ${P}: Signal<any>;`)}for(let{name:P,type:B,value:V}of Q){let r=S(B)||k(V);I.push(r?` declare ${P}: ${r};`:` declare ${P}: any;`)}for(let{name:P,expr:B,type:V}of W){let r=S(V),o=r?`: Computed<${r}>`:"";if(this.is(B,"block")){let e=this.transformComponentMembers(B),C=this.emitFunctionBody(e);I.push(` ${P}${o} = __computed(() => ${C});`)}else{let e=this.emitInComponent(B,"value");I.push(` ${P}${o} = __computed(() => ${e});`)}}I.push(" _init(props) {");for(let{name:P,value:B,isPublic:V}of Q){let r=this.emitInComponent(B,"value");I.push(V?` this.${P} = props.${P} ?? ${r};`:` this.${P} = ${r};`)}for(let{name:P,value:B,isPublic:V,required:r,type:o}of F)if(V&&r)I.push(` this.${P} = __state(props.__bind_${P}__ ?? props.${P});`);else if(V){let e=this.emitInComponent(B,"value");I.push(` this.${P} = __state(props.__bind_${P}__ ?? props.${P} ?? ${e});`)}else{let e=this.emitInComponent(B,"value");I.push(` this.${P} = __state(${e});`)}for(let P of Y){let B=P[2],V=this.containsAwait(B)?"async ":"";if(this.is(B,"block")){let r=this.transformComponentMembers(B),o=this.emitFunctionBody(r,[],!0);I.push(` __effect(${V}() => ${o});`)}else{let r=this.emitInComponent(B,"value");I.push(` __effect(${V}() => { ${r}; });`)}}I.push(" }");let h1=new Map;for(let[P,B]of Z)h1.set(B,P);if(q){let P=(B)=>{if(!Array.isArray(B))return;let V=B[0]?.valueOf?.()??B[0];if(typeof V==="string"&&V!=="object"&&V!=="switch"&&n1.has(V.split(/[.#]/)[0]))for(let r=1;r<B.length;r++){let o=B[r],e=this.is(o,"object")?o:null;if(!e&&Array.isArray(o)&&(o[0]==="->"||o[0]==="=>")&&this.is(o[2],"block")){for(let C=1;C<o[2].length;C++)if(this.is(o[2][C],"object")){e=o[2][C];break}}if(!e)continue;for(let C=1;C<e.length;C++){let a=e[C];if(!Array.isArray(a)||a.length<2)continue;let[,s,p]=a;if(Array.isArray(s)&&s[0]==="."&&s[1]==="this"&&Array.isArray(p)&&p[0]==="."&&p[1]==="this"){let E=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.(),x=typeof p[2]==="string"?p[2]:p[2]?.valueOf?.();if(E&&x&&!h1.has(x))h1.set(x,E)}}}for(let r=1;r<B.length;r++)P(B[r])};P(q)}for(let{name:P,func:B}of i)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,V,r]=B;if((!V||Array.isArray(V)&&V.length===0)&&this.containsIt(r))V=["it"];let o=Array.isArray(V)?V.map((p)=>{let E=this.formatParam(p);if(p?.type)E+=`: ${p.type}`;return E}).join(", "):"",e=h1.get(P);if(e&&Array.isArray(V)&&V.length>0){let p=V[0];if(!(p?.type||p instanceof String&&p.type)&&typeof(p?.valueOf?.()??p)==="string"){let x=p?.valueOf?.()??p;o=o.replace(x,`${x}: HTMLElementEventMap['${e}']`)}}let C=this.reactiveMembers?this.transformComponentMembers(r):r,a=this.containsAwait(r),s=this.emitFunctionBody(C,V||[]);I.push(` ${a?"async ":""}${P}(${o}) ${s}`)}for(let{name:P,value:B}of U)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,V,r]=B,o=Array.isArray(V)?V.map((s)=>this.formatParam(s)).join(", "):"",e=this.reactiveMembers?this.transformComponentMembers(r):r,C=this.containsAwait(r),a=this.emitFunctionBody(e,V||[]);I.push(` ${C?"async ":""}${P}(${o}) ${a}`)}if(q){let P=[],B=0,V=this.options.source?.split(`
|
|
897
|
+
`),r=(C)=>{let a=[];for(let s of C){let p=null;if(this.is(s,"object"))p=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let E=1;E<s[2].length;E++)if(this.is(s[2][E],"object")){p=s[2][E];break}}if(p)for(let E=1;E<p.length;E++){let x=p[E],[,j,t]=x;if(typeof j==="string"&&!j.startsWith("@")){let f1=x.loc?.r??p.loc?.r;if(j.startsWith("__bind_")&&j.endsWith("__")){let d=typeof t==="string"&&this.reactiveMembers?.has(t)?`this.${t}`:this.emitInComponent(t,"value");a.push({code:`${j}: ${d}`,srcLine:f1})}else{let d=this.emitInComponent(t,"value");a.push({code:`${j}: ${d}`,srcLine:f1})}}}}return a},o=(C)=>{let a=[];for(let s of C){let p=null;if(this.is(s,"object"))p=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let E=1;E<s[2].length;E++)if(this.is(s[2][E],"object")){p=s[2][E];break}}if(p)for(let E=1;E<p.length;E++){let x=p[E];if(!Array.isArray(x)||x.length<2)continue;let[,j,t]=x,f1=x.loc?.r??p.loc?.r;if(Array.isArray(j)&&j[0]==="."&&j[1]==="this"){let d=typeof j[2]==="string"?j[2]:j[2]?.valueOf?.();if(!d)continue;let u1="@"+d.split(".")[0],w2=this.emitInComponent(t,"value");a.push({code:`'${u1}': ${w2}`,srcLine:f1})}else if(typeof j==="string"){if(j==="key"){let d=this.emitInComponent(t,"value"),u1=f1!=null?` // @rip-src:${f1}`:"";P.push(` (${d});${u1}`);continue}if(j.startsWith("__bind_")&&j.endsWith("__")){let d=j.slice(7,-2),u1=this.emitInComponent(t,"value");a.push({code:`${d}: ${u1}`,srcLine:f1})}else{let d=this.emitInComponent(t,"value");a.push({code:`${j}: ${d}`,srcLine:f1})}}}}return a},e=(C)=>{if(!Array.isArray(C))return;let a=C[0]?.valueOf?.()??C[0];if(a==="object")return;if(a==="if"||a==="unless"){let E=C[1];if(E!=null){let x=this.emitInComponent(E,"value"),j=C.loc?.r,t=j!=null?` // @rip-src:${j}`:"";P.push(` ${x};${t}`)}}else if(a==="?:"){let E=this.emitInComponent(C,"value"),x=C.loc?.r,j=x!=null?` // @rip-src:${x}`:"";P.push(` ${E};${j}`)}else if(a==="switch"){let E=C[1];if(E!=null){let x=this.emitInComponent(E,"value"),j=C.loc?.r,t=j!=null?` // @rip-src:${j}`:"";P.push(` ${x};${t}`)}}else if(a==="for-in"||a==="for-of"||a==="for-as"){let E=C[1],x=C[2];if(x!=null){let j=this.emitInComponent(x,"value"),t=C.loc?.r,f1=t!=null?` // @rip-src:${t}`:"",d;if(Array.isArray(E))if(E.length===1){let u1=E[0];d=Array.isArray(u1)?this.emitDestructuringPattern(u1):String(u1)}else if(a==="for-of")d=`[${E.map((u1)=>String(u1)).join(", ")}]`;else d=String(E[0]);else d=String(E);if(a==="for-of")P.push(` for (const ${d} of Object.entries(${j})) {${f1}`);else P.push(` for (const ${d} of ${j}) {${f1}`);for(let u1=3;u1<C.length;u1++)if(C[u1]!=null)e(C[u1]);P.push(" }");return}}else if(a==="__text__"){let E=C[1];if(E!=null){let x=this.emitInComponent(E,"value"),j=C.loc?.r,t=j!=null?` // @rip-src:${j}`:"";P.push(` ${x};${t}`)}return}else if(a==="str"){try{let E=this.emitInComponent(C,"value"),x=C.loc?.r,j=x!=null?` // @rip-src:${x}`:"";P.push(` ${E};${j}`)}catch{}return}let s=(E,x,j)=>{if(typeof E!=="string"||!/^[a-z][\w-]*$/.test(E))return;if(f.GENERATORS[E])return;if(E==="null"||E==="undefined"||E==="true"||E==="false")return;let t=x.loc?.r;if(t!=null&&V){let d=new RegExp(`\\b${E}\\b`);for(let u1=t;u1<V.length;u1++)if(d.test(V[u1])){t=u1;break}}let f1=t!=null?` // @rip-src:${t}`:"";if(this.componentMembers&&this.componentMembers.has(E))P.push(` this.${E};${f1}`);else if(j)P.push(` ${E};${f1}`);else P.push(` __ripEl('${E}');${f1}`)},p=typeof a==="string"&&/^[a-z][\w-]*$/.test(a)&&!f.GENERATORS[a]&&n1.has(a.split(/[.#]/)[0]);if(a==="block")for(let E=1;E<C.length;E++)s(C[E],C,!1);else if(p){for(let E=1;E<C.length;E++)s(C[E],C,!0);for(let E=1;E<C.length;E++){let x=C[E];if(!Array.isArray(x))continue;let j=x[0]?.valueOf?.()??x[0];if(j==="object"||j==="block"||j==="__text__")continue;if(typeof j==="string"){if(/^[A-Z]/.test(j))continue;if(n1.has(j.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(j)&&!f.GENERATORS[j])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(j))continue}try{let t=this.emitInComponent(x,"value"),f1=x.loc?.r??C.loc?.r,d=f1!=null?` // @rip-src:${f1}`:"";P.push(` ${t};${d}`)}catch{}}}for(let E=1;E<C.length;E++)e(C[E]);if(typeof a==="string"&&/^[A-Z]/.test(a)){let E=r(C.slice(1)),x=`_${B++}`,j=`ConstructorParameters<typeof ${a}>[0] & {}`;if(E.length===0){let t=C.loc?.r;P.push(` const ${x}: ${j} = {};`+(t!=null?` // @rip-src:${t}`:""))}else if(E.length===1){let t=C.loc?.r??E[0].srcLine;P.push(` const ${x}: ${j} = {${E[0].code}};`+(t!=null?` // @rip-src:${t}`:""))}else{let t=C.loc?.r;if(new Set(E.map((d)=>d.srcLine).filter((d)=>d!=null)).size<=1){let d=E[0].srcLine??t;P.push(` const ${x}: ${j} = {${E.map((u1)=>u1.code).join(", ")}};`+(d!=null?` // @rip-src:${d}`:""))}else{P.push(` const ${x}: ${j} = {`+(t!=null?` // @rip-src:${t}`:""));for(let d of E)P.push(` ${d.code},`+(d.srcLine!=null?` // @rip-src:${d.srcLine}`:""));P.push(" };")}}}else if(typeof a==="string"&&!f.GENERATORS[a]&&(n1.has(a.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(a)&&C.length>1)){let E=a.split(/[.#]/)[0],x=o(C.slice(1)),j=C.loc?.r,t=j!=null?` // @rip-src:${j}`:"";if(x.length===0)P.push(` __ripEl('${E}');${t}`);else if(x.length===1){let f1=x[0].srcLine??j,d=f1!=null?` // @rip-src:${f1}`:"";P.push(` __ripEl('${E}', {${x[0].code}});${d}`)}else if(new Set(x.map((d)=>d.srcLine).filter((d)=>d!=null)).size<=1){let d=x[0].srcLine??j,u1=d!=null?` // @rip-src:${d}`:"";P.push(` __ripEl('${E}', {${x.map((w2)=>w2.code).join(", ")}});${u1}`)}else{P.push(` __ripEl('${E}', {${t}`);for(let d of x)P.push(` ${d.code},`+(d.srcLine!=null?` // @rip-src:${d.srcLine}`:""));P.push(" });")}}};if(e(q),P.length>0){I.push(" _render() {");for(let C of P)I.push(C);I.push(" }")}}return I.push("}"),this.componentMembers=N,this.reactiveMembers=g,this._autoEventHandlers=L,this._inheritsTag=T,I.join(`
|
|
898
|
+
`)}this.usesTemplates=!0,this.usesReactivity=!0;let X=[],_1="";X.push("class extends __Component {"),X.push(" _init(props) {");for(let{name:S,value:I,isPublic:y}of Q){let v=this.emitInComponent(I,"value");X.push(y?` this.${S} = props.${S} ?? ${v};`:` this.${S} = ${v};`)}for(let S of O)X.push(` this.${S} = getContext('${S}');`);for(let{name:S,value:I,isPublic:y,required:v}of F)if(y&&v)X.push(` this.${S} = __state(props.__bind_${S}__ ?? props.${S});`);else if(y){let k=this.emitInComponent(I,"value");X.push(` this.${S} = __state(props.__bind_${S}__ ?? props.${S} ?? ${k});`)}else{let k=this.emitInComponent(I,"value");X.push(` this.${S} = __state(${k});`)}if(G){if(X.push(" this._rest = {};"),X.push(" for (const __k in props) {"),J.size>0){let S=[...J].map((I)=>`__k !== '${I}'`).join(" && ");X.push(` if (${S} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else X.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");X.push(" }")}for(let{name:S,expr:I}of W)if(this.is(I,"block")){let y=this.transformComponentMembers(I),v=this.emitFunctionBody(y);X.push(` this.${S} = __computed(() => ${v});`)}else{let y=this.emitInComponent(I,"value");X.push(` this.${S} = __computed(() => ${y});`)}for(let S of H)X.push(` setContext('${S}', this.${S});`);for(let S of Y){let I=S[2],y=this.containsAwait(I)?"async ":"";if(this.is(I,"block")){let v=this.transformComponentMembers(I),k=this.emitFunctionBody(v,[],!0);X.push(` __effect(${y}() => ${k});`)}else{let v=this.emitInComponent(I,"value");X.push(` __effect(${y}() => { ${v}; });`)}}if(X.push(" }"),G)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._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:S,func:I}of i)if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>")){let[,y,v]=I;if((!y||Array.isArray(y)&&y.length===0)&&this.containsIt(v))y=["it"];let k=Array.isArray(y)?y.map((V)=>this.formatParam(V)).join(", "):"",h1=this.reactiveMembers?this.transformComponentMembers(v):v,P=this.containsAwait(v),B=this.emitFunctionBody(h1,y||[]);X.push(` ${P?"async ":""}${S}(${k}) ${B}`)}for(let{name:S,value:I}of U)if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>")){let[,y,v]=I,k=Array.isArray(y)?y.map((V)=>this.formatParam(V)).join(", "):"",h1=this.reactiveMembers?this.transformComponentMembers(v):v,P=this.containsAwait(v),B=this.emitFunctionBody(h1,y||[]);X.push(` ${P?"async ":""}${S}(${k}) ${B}`)}if(q){let S=q[1],I=this.buildRender(S);if(I.blockFactories.length>0)_1=I.blockFactories.join(`
|
|
899
899
|
|
|
900
900
|
`)+`
|
|
901
901
|
|
|
902
|
-
`;
|
|
903
|
-
${_1}return ${
|
|
902
|
+
`;X.push(" _create() {");for(let y of I.createLines)X.push(` ${y}`);if(X.push(` return ${I.rootVar};`),X.push(" }"),I.setupLines.length>0){X.push(" _setup() {");for(let y of I.setupLines)X.push(` ${y}`);X.push(" }")}}if(X.push("}"),this.componentMembers=N,this.reactiveMembers=g,this._autoEventHandlers=L,this._inheritsTag=T,_1)return`(() => {
|
|
903
|
+
${_1}return ${X.join(`
|
|
904
904
|
`)};
|
|
905
|
-
})()`;return
|
|
906
|
-
`)},u.emitInComponent=function(w,n){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 D=this.transformComponentMembers(w);return this.emit(D,n)}return this.emit(w,n)},u.emitRender=function(w,n,D,A){this.error("render blocks can only be used inside a component",A)},u.emitOffer=function(w,n,D,A){this.error("offer can only be used inside a component",A)},u.emitAccept=function(w,n,D,A){this.error("accept can only be used inside a component",A)},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._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let n=this.is(w,"block")?w.slice(1):[w],D;if(n.length===0||n.length===1&&n[0]==="null")D="null";else if(n.length===1)this._pendingAutoWire=!!this._autoEventHandlers,D=this.emitNode(n[0]),this._pendingAutoWire=!1;else{D=this.newElementVar("frag"),this._createLines.push(`${D} = document.createDocumentFragment();`);let A=[];for(let $ of n){let R=this.emitNode($);this._createLines.push(`${D}.appendChild(${R});`),A.push(R)}this._fragChildren.set(D,A)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:D}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(w="el"){let n=`_${w}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(n);return this._factoryMode?n:`this.${n}`},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} }));`);else this._setupLines.push(`__effect(() => { ${w} });`)},u.emitNode=function(w){if(typeof w==="string"||w instanceof String){let M=w.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode(${M});`),H}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${this._self}.${M}.value;`),H}if(M==="slot"&&this.componentMembers){let H=this._self,W=this.newElementVar("slot");return this._createLines.push(`${W} = ${H}.children instanceof Node ? ${H}.children : (${H}.children != null ? document.createTextNode(String(${H}.children)) : document.createComment(''));`),W}let[F,O]=M.split("#"),z=this.newElementVar(),U=F||"div";if(Q1.has(U)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${z2}', '${U}');`);else this._createLines.push(`${z} = document.createElement('${U}');`);if(O)this._createLines.push(`${z}.id = '${O}';`);return this._bindInheritedTarget(U,z),z}if(!Array.isArray(w)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[n,...D]=w,A=typeof n==="string"?n:n instanceof String?n.valueOf():null;if(A&&this.isComponent(A))return this.emitChildComponent(A,D);if(A==="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(A==="switch"){let M=D[0],F=D[1]||[],z=D[2]||null;for(let H=F.length-1;H>=0;H--){let[,W,Q]=F[H],q;if(M===null)q=W.length===1?W[0]:W.reduce((K,Y)=>K?["||",K,Y]:Y,null);else q=W.length===1?["==",M,W[0]]:W.map((K)=>["==",M,K]).reduce((K,Y)=>K?["||",K,Y]:Y,null);z=["if",q,Q,z]}if(z){if(Array.isArray(z)&&z[0]==="if")return this.emitConditional(z);return this.emitTemplateBlock(z)}let U=this.newElementVar("c");return this._createLines.push(`${U} = document.createComment('switch');`),U}if(A&&this.isHtmlTag(A)&&!c(n,"text")){let[M,F]=A.split("#");return this.emitTag(M||"div",[],D,F)}if(A==="."){let[,M,F]=w;if(M==="this"&&typeof F==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(F)){let Y=this.newTextVar();return this._createLines.push(`${Y} = document.createTextNode('');`),this._pushEffect(`${Y}.data = ${q}.${F}.value;`),Y}let K=this.newElementVar("slot");return this._createLines.push(`${K} = ${q}.${F} instanceof Node ? ${q}.${F} : (${q}.${F} != null ? document.createTextNode(String(${q}.${F})) : document.createComment(''));`),K}let{tag:O,classes:z,id:U,base:H}=this.collectTemplateClasses(w);if(!c(H,"text")&&O&&this.isHtmlTag(O))return this.emitTag(O,z,[],U);let W=this.newTextVar(),Q=this.emitInComponent(w,"value");return this._createLines.push(`${W} = document.createTextNode(String(${Q}));`),W}if(Array.isArray(n)){if(Array.isArray(n[0])&&n[0][0]==="."&&(n[0][2]==="__clsx"||n[0][2]instanceof String&&n[0][2].valueOf()==="__clsx")){let z=n[0][1],U=n.slice(1);if(Array.isArray(z)){let{tag:W,classes:Q,id:q}=this.collectTemplateClasses(z);if(W){let K=Q.map((Y)=>`"${Y}"`);return this.emitDynamicTag(W,U,D,K,q)}}let H=typeof z==="string"?z:z.valueOf();return this.emitDynamicTag(H,U,D)}let{tag:M,classes:F,id:O}=this.collectTemplateClasses(n);if(M&&this.isHtmlTag(M)){if(F.length>0&&F[F.length-1]==="__clsx"){let U=F.slice(0,-1).map((H)=>`"${H}"`);return this.emitDynamicTag(M,D,[],U,O)}return this.emitTag(M,F,D,O)}}if(A==="->"||A==="=>")return this.emitTemplateBlock(D[1]);if(A==="if")return this.emitConditional(w);if(A==="for"||A==="for-in"||A==="for-of"||A==="for-as")return this.emitTemplateLoop(w);if(A==="__text__"){let M=D[0]??"undefined",F=this.newTextVar(),O=this.emitInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${F} = document.createTextNode('');`),this._pushEffect(`${F}.data = String(${O});`);else this._createLines.push(`${F} = document.createTextNode(String(${O}));`);return F}let $=this.newTextVar(),R=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w))this._createLines.push(`${$} = document.createTextNode('');`),this._pushEffect(`${$}.data = ${R};`);else this._createLines.push(`${$} = document.createTextNode(String(${R}));`);return $},u.appendChildren=function(w,n){for(let D of n)if(this.is(D,"->")||this.is(D,"=>")){let A=D[2];if(this.is(A,"block"))for(let $ of A.slice(1))if(this.is($,"object"))this.emitAttributes(w,$);else{let R=this.emitNode($);this._createLines.push(`${w}.appendChild(${R});`)}else if(A){let $=this.emitNode(A);this._createLines.push(`${w}.appendChild(${$});`)}}else if(this.is(D,"object"))this.emitAttributes(w,D);else if(typeof D==="string"||D instanceof String){let A=D.valueOf(),$=A.split(/[#.]/)[0];if(this.isHtmlTag($||"div")||this.isComponent($)){let R=this.emitNode(D);this._createLines.push(`${w}.appendChild(${R});`)}else{let R=this.newTextVar();if(A.startsWith('"')||A.startsWith("'")||A.startsWith("`"))this._createLines.push(`${R} = document.createTextNode(${A});`);else if(this.reactiveMembers&&this.reactiveMembers.has(A))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${this._self}.${A}.value;`);else if(this.componentMembers&&this.componentMembers.has(A))this._createLines.push(`${R} = document.createTextNode(String(${this._self}.${A}));`);else this._createLines.push(`${R} = document.createTextNode(${this.emitInComponent(D,"value")});`);this._createLines.push(`${w}.appendChild(${R});`)}}else if(D){let A=this.emitNode(D);this._createLines.push(`${w}.appendChild(${A});`)}},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,n){if(!n)return;for(let[D,A]of this._autoEventHandlers)if(!this._autoWireExplicit.has(D))this._createLines.push(`${w}.addEventListener('${D}', (e) => __batch(() => ${this._self}.${A}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(w,n){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(w!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${n};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(w,n,D,A){let $=this.newElementVar(),R=Q1.has(w)||this._svgDepth>0;if(R)this._createLines.push(`${$} = document.createElementNS('${z2}', '${w}');`);else this._createLines.push(`${$} = document.createElement('${w}');`);if(A)this._createLines.push(`${$}.id = '${A}';`);if(this._bindInheritedTarget(w,$),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,O=this._pendingClassEl;if(n.length>0)this._pendingClassArgs=[`'${n.join(" ")}'`],this._pendingClassEl=$;if(w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren($,D),w==="svg")this._svgDepth--;if(n.length>0){if(this._pendingClassArgs.length===1)if(R)this._createLines.push(`${$}.setAttribute('class', '${n.join(" ")}');`);else this._createLines.push(`${$}.className = '${n.join(" ")}';`);else{let z=this._pendingClassArgs.join(", ");if(R)this._pushEffect(`${$}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${$}.className = __clsx(${z});`)}this._pendingClassArgs=F,this._pendingClassEl=O}return this._emitAutoWire($,M),$},u.emitDynamicTag=function(w,n,D,A,$){let R=this.newElementVar();if(Q1.has(w)||this._svgDepth>0)this._createLines.push(`${R} = document.createElementNS('${z2}', '${w}');`);else this._createLines.push(`${R} = document.createElement('${w}');`);if($)this._createLines.push(`${R}.id = '${$}';`);this._bindInheritedTarget(w,R);let M=this._claimAutoWire(R),F=[...A||[],...n.map((U)=>this.emitInComponent(U,"value"))],O=this._pendingClassArgs,z=this._pendingClassEl;if(this._pendingClassArgs=F,this._pendingClassEl=R,w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,D),w==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let U=this._pendingClassArgs.join(", ");if(Q1.has(w)||this._svgDepth>0)this._pushEffect(`${R}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${R}.className = __clsx(${U});`)}return this._pendingClassArgs=O,this._pendingClassEl=z,this._emitAutoWire(R,M),R},u.emitAttributes=function(w,n){let D=I5(n.slice(1));for(let A=1;A<n.length;A++){let[,$,R]=n[A];if(this.is($,".")&&$[1]==="this"){let M=$[2];if(this._autoWireExplicit&&this._autoWireEl===w)this._autoWireExplicit.add(M);if(typeof R==="string"&&this.componentMembers?.has(R))this._createLines.push(`${w}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${R}(e)));`);else{let F=this.emitInComponent(R,"value");this._createLines.push(`${w}.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(R,"value");if(this._pendingClassArgs&&this._pendingClassEl===w)this._pendingClassArgs.push(F);else if(this.hasReactiveDeps(R))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($==="__transition__"){let F=String(R).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${F}";`);continue}if($==="ref"){let F=String(R).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${F} = ${w};`);continue}if($.startsWith(h3)&&$.endsWith(w3)){let F=$.slice(h3.length,-w3.length),O=this.emitInComponent(R,"value"),z,U;if(F==="checked")z="change",U="e.target.checked";else z="input",U=D==="number"||D==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${w}.${F} = ${O};`);let H=`${O} = ${U}`,W=!this.isSimpleAssignable(R)&&this.findRootReactiveMember(R);if(W)H+=`; ${this._self}.${W}.touch?.()`;this._createLines.push(`${w}.addEventListener('${z}', (e) => { ${H}; });`);continue}let M=this.emitInComponent(R,"value");if(($==="value"||$==="checked")&&this.hasReactiveDeps(R)){this._pushEffect(`${w}.${$} = ${M};`);continue}if($==="innerHTML"||$==="textContent"||$==="innerText")if(this.hasReactiveDeps(R))this._pushEffect(`${w}.${$} = ${M};`);else this._createLines.push(`${w}.${$} = ${M};`);else if(N5.has($))if(this.hasReactiveDeps(R))this._pushEffect(`${w}.toggleAttribute('${$}', !!${M});`);else this._createLines.push(`if (${M}) ${w}.setAttribute('${$}', '');`);else if(this.hasReactiveDeps(R))if(Array.isArray(R)&&R[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${w}.removeAttribute('${$}') : ${w}.setAttribute('${$}', __v); }`);else this._pushEffect(`${w}.setAttribute('${$}', ${M});`);else if(Array.isArray(R)&&R[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${w}.setAttribute('${$}', __v); }`);else this._createLines.push(`${w}.setAttribute('${$}', ${M});`)}}},u.emitTemplateBlock=function(w){if(!Array.isArray(w)||w[0]!=="block")return this.emitNode(w);let n=w.slice(1);if(n.length===0){let $=this.newElementVar("empty");return this._createLines.push(`${$} = document.createComment('');`),$}if(n.length===1)return this.emitNode(n[0]);let D=this.newElementVar("frag");this._createLines.push(`${D} = document.createDocumentFragment();`);let A=[];for(let $ of n){let R=this.emitNode($);this._createLines.push(`${D}.appendChild(${R});`),A.push(R)}return this._fragChildren.set(D,A),D},u.emitConditional=function(w){if(this._pendingAutoWire=!1,w.length>4){let Q=w[w.length-1];for(let q=w.length-2;q>=3;q--)Q=[...w[q],Q];w=[w[0],w[1],w[2],Q]}let[,n,D,A]=w,$=this.newElementVar("anchor");this._createLines.push(`${$} = document.createComment('if');`);let R=this.emitInComponent(n,"value"),M=this._loopVarStack.map((Q)=>`${Q.itemVar}, ${Q.indexVar}`).join(", "),F=M?`, ${M}`:"",O=this.newBlockVar();this.emitConditionBranch(O,D);let z=null;if(A)z=this.newBlockVar(),this.emitConditionBranch(z,A);let U=[];U.push(`// Conditional: ${O}${z?" / "+z:""}`),U.push("{"),U.push(` const anchor = ${$};`),U.push(" let currentBlock = null;"),U.push(" let showing = null;");let H=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",W=this._factoryMode?"}));":"});";if(U.push(` ${H}`),U.push(` const show = !!(${R});`),U.push(` const want = show ? 'then' : ${A?"'else'":"null"};`),U.push(" if (want === showing) return;"),U.push(""),U.push(" if (currentBlock) {"),U.push(" const leaving = currentBlock;"),U.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),U.push(" else { leaving.d(true); }"),U.push(" currentBlock = null;"),U.push(" }"),U.push(" showing = want;"),U.push(""),U.push(" if (want === 'then') {"),U.push(` currentBlock = ${O}(${this._self}${F});`),U.push(" currentBlock.c();"),U.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),U.push(` currentBlock.p(${this._self}${F});`),U.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),U.push(" }"),A)U.push(" if (want === 'else') {"),U.push(` currentBlock = ${z}(${this._self}${F});`),U.push(" currentBlock.c();"),U.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),U.push(` currentBlock.p(${this._self}${F});`),U.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),U.push(" }");if(U.push(` ${W}`),this._factoryMode)U.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return U.push("}"),this._setupLines.push(U.join(`
|
|
907
|
-
`))
|
|
908
|
-
`))},u.emitTemplateLoop=function(
|
|
909
|
-
`)),
|
|
905
|
+
})()`;return X.join(`
|
|
906
|
+
`)},u.emitInComponent=function(c,A){if(typeof c==="string"&&this.reactiveMembers&&this.reactiveMembers.has(c))return`${this._self}.${c}.value`;if(typeof c==="string"&&this.componentMembers&&this.componentMembers.has(c))return`${this._self}.${c}`;if(Array.isArray(c)&&this.reactiveMembers){let $=this.transformComponentMembers(c);return this.emit($,A)}return this.emit(c,A)},u.emitRender=function(c,A,$,R){this.error("render blocks can only be used inside a component",R)},u.emitOffer=function(c,A,$,R){this.error("offer can only be used inside a component",R)},u.emitAccept=function(c,A,$,R){this.error("accept can only be used inside a component",R)},u.buildRender=function(c){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let A=this.is(c,"block")?c.slice(1):[c],$;if(A.length===0||A.length===1&&A[0]==="null")$="null";else if(A.length===1)this._pendingAutoWire=!!this._autoEventHandlers,$=this.emitNode(A[0]),this._pendingAutoWire=!1;else{$=this.newElementVar("frag"),this._createLines.push(`${$} = document.createDocumentFragment();`);let R=[];for(let M of A){let z=this.emitNode(M);this._createLines.push(`${$}.appendChild(${z});`),R.push(z)}this._fragChildren.set($,R)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:$}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(c="el"){let A=`_${c}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(A);return this._factoryMode?A:`this.${A}`},u.newTextVar=function(){let c=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(c);return this._factoryMode?c:`this.${c}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(c){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${c} }));`);else this._setupLines.push(`__effect(() => { ${c} });`)},u.emitNode=function(c){if(typeof c==="string"||c instanceof String){let F=c.valueOf();if(F.startsWith('"')||F.startsWith("'")||F.startsWith("`")){let Y=this.newTextVar();return this._createLines.push(`${Y} = document.createTextNode(${F});`),Y}if(this.reactiveMembers&&this.reactiveMembers.has(F)){let Y=this.newTextVar();return this._createLines.push(`${Y} = document.createTextNode('');`),this._pushEffect(`${Y}.data = ${this._self}.${F}.value;`),Y}if(F==="slot"&&this.componentMembers){let Y=this._self,H=this.newElementVar("slot");return this._createLines.push(`${H} = ${Y}.children instanceof Node ? ${Y}.children : (${Y}.children != null ? document.createTextNode(String(${Y}.children)) : document.createComment(''));`),H}let[W,Q]=F.split("#"),i=this.newElementVar(),U=W||"div";if(K1.has(U)||this._svgDepth>0)this._createLines.push(`${i} = document.createElementNS('${i2}', '${U}');`);else this._createLines.push(`${i} = document.createElement('${U}');`);if(Q)this._createLines.push(`${i}.id = '${Q}';`);return this._bindInheritedTarget(U,i),i}if(!Array.isArray(c)){let F=this.newElementVar("c");return this._createLines.push(`${F} = document.createComment('unknown');`),F}let[A,...$]=c,R=typeof A==="string"?A:A instanceof String?A.valueOf():null;if(R&&this.isComponent(R))return this.emitChildComponent(R,$);if(R==="slot"&&this.componentMembers){let F=this._self,W=this.newElementVar("slot");return this._createLines.push(`${W} = ${F}.children instanceof Node ? ${F}.children : (${F}.children != null ? document.createTextNode(String(${F}.children)) : document.createComment(''));`),W}if(R==="switch"){let F=$[0],W=$[1]||[],i=$[2]||null;for(let Y=W.length-1;Y>=0;Y--){let[,H,O]=W[Y],q;if(F===null)q=H.length===1?H[0]:H.reduce((n,K)=>n?["||",n,K]:K,null);else q=H.length===1?["==",F,H[0]]:H.map((n)=>["==",F,n]).reduce((n,K)=>n?["||",n,K]:K,null);i=["if",q,O,i]}if(i){if(Array.isArray(i)&&i[0]==="if")return this.emitConditional(i);return this.emitTemplateBlock(i)}let U=this.newElementVar("c");return this._createLines.push(`${U} = document.createComment('switch');`),U}if(R&&this.isHtmlTag(R)&&!h(A,"text")){let[F,W]=R.split("#");return this.emitTag(F||"div",[],$,W)}if(R==="."){let[,F,W]=c;if(F==="this"&&typeof W==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(W)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${q}.${W}.value;`),K}let n=this.newElementVar("slot");return this._createLines.push(`${n} = ${q}.${W} instanceof Node ? ${q}.${W} : (${q}.${W} != null ? document.createTextNode(String(${q}.${W})) : document.createComment(''));`),n}let{tag:Q,classes:i,id:U,base:Y}=this.collectTemplateClasses(c);if(!h(Y,"text")&&Q&&this.isHtmlTag(Q))return this.emitTag(Q,i,[],U);let H=this.newTextVar(),O=this.emitInComponent(c,"value");return this._createLines.push(`${H} = document.createTextNode(String(${O}));`),H}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 i=A[0][1],U=A.slice(1);if(Array.isArray(i)){let{tag:H,classes:O,id:q}=this.collectTemplateClasses(i);if(H){let n=O.map((K)=>`"${K}"`);return this.emitDynamicTag(H,U,$,n,q)}}let Y=typeof i==="string"?i:i.valueOf();return this.emitDynamicTag(Y,U,$)}let{tag:F,classes:W,id:Q}=this.collectTemplateClasses(A);if(F&&this.isHtmlTag(F)){if(W.length>0&&W[W.length-1]==="__clsx"){let U=W.slice(0,-1).map((Y)=>`"${Y}"`);return this.emitDynamicTag(F,$,[],U,Q)}return this.emitTag(F,W,$,Q)}}if(R==="->"||R==="=>")return this.emitTemplateBlock($[1]);if(R==="if")return this.emitConditional(c);if(R==="for"||R==="for-in"||R==="for-of"||R==="for-as")return this.emitTemplateLoop(c);if(R==="__text__"){let F=$[0]??"undefined",W=this.newTextVar(),Q=this.emitInComponent(F,"value");if(this.hasReactiveDeps(F))this._createLines.push(`${W} = document.createTextNode('');`),this._pushEffect(`${W}.data = String(${Q});`);else this._createLines.push(`${W} = document.createTextNode(String(${Q}));`);return W}let M=this.newTextVar(),z=this.emitInComponent(c,"value");if(this.hasReactiveDeps(c))this._createLines.push(`${M} = document.createTextNode('');`),this._pushEffect(`${M}.data = ${z};`);else this._createLines.push(`${M} = document.createTextNode(String(${z}));`);return M},u.appendChildren=function(c,A){for(let $ of A)if(this.is($,"->")||this.is($,"=>")){let R=$[2];if(this.is(R,"block"))for(let M of R.slice(1))if(this.is(M,"object"))this.emitAttributes(c,M);else{let z=this.emitNode(M);this._createLines.push(`${c}.appendChild(${z});`)}else if(R){let M=this.emitNode(R);this._createLines.push(`${c}.appendChild(${M});`)}}else if(this.is($,"object"))this.emitAttributes(c,$);else if(typeof $==="string"||$ instanceof String){let R=$.valueOf(),M=R.split(/[#.]/)[0];if(this.isHtmlTag(M||"div")||this.isComponent(M)){let z=this.emitNode($);this._createLines.push(`${c}.appendChild(${z});`)}else{let z=this.newTextVar();if(R.startsWith('"')||R.startsWith("'")||R.startsWith("`"))this._createLines.push(`${z} = document.createTextNode(${R});`);else if(this.reactiveMembers&&this.reactiveMembers.has(R))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${this._self}.${R}.value;`);else if(this.componentMembers&&this.componentMembers.has(R))this._createLines.push(`${z} = document.createTextNode(String(${this._self}.${R}));`);else this._createLines.push(`${z} = document.createTextNode(${this.emitInComponent($,"value")});`);this._createLines.push(`${c}.appendChild(${z});`)}}else if($){let R=this.emitNode($);this._createLines.push(`${c}.appendChild(${R});`)}},u._claimAutoWire=function(c){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=c,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(c,A){if(!A)return;for(let[$,R]of this._autoEventHandlers)if(!this._autoWireExplicit.has($))this._createLines.push(`${c}.addEventListener('${$}', (e) => __batch(() => ${this._self}.${R}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(c,A){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(c!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${A};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(c,A,$,R){let M=this.newElementVar(),z=K1.has(c)||this._svgDepth>0;if(z)this._createLines.push(`${M} = document.createElementNS('${i2}', '${c}');`);else this._createLines.push(`${M} = document.createElement('${c}');`);if(R)this._createLines.push(`${M}.id = '${R}';`);if(this._bindInheritedTarget(c,M),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${M}.setAttribute('data-part', '${this._componentName}');`);let F=this._claimAutoWire(M),W=this._pendingClassArgs,Q=this._pendingClassEl;if(A.length>0)this._pendingClassArgs=[`'${A.join(" ")}'`],this._pendingClassEl=M;if(c==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(M,$),c==="svg")this._svgDepth--;if(A.length>0){if(this._pendingClassArgs.length===1)if(z)this._createLines.push(`${M}.setAttribute('class', '${A.join(" ")}');`);else this._createLines.push(`${M}.className = '${A.join(" ")}';`);else{let i=this._pendingClassArgs.join(", ");if(z)this._pushEffect(`${M}.setAttribute('class', __clsx(${i}));`);else this._pushEffect(`${M}.className = __clsx(${i});`)}this._pendingClassArgs=W,this._pendingClassEl=Q}return this._emitAutoWire(M,F),M},u.emitDynamicTag=function(c,A,$,R,M){let z=this.newElementVar();if(K1.has(c)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${i2}', '${c}');`);else this._createLines.push(`${z} = document.createElement('${c}');`);if(M)this._createLines.push(`${z}.id = '${M}';`);this._bindInheritedTarget(c,z);let F=this._claimAutoWire(z),W=[...R||[],...A.map((U)=>this.emitInComponent(U,"value"))],Q=this._pendingClassArgs,i=this._pendingClassEl;if(this._pendingClassArgs=W,this._pendingClassEl=z,c==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,$),c==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let U=this._pendingClassArgs.join(", ");if(K1.has(c)||this._svgDepth>0)this._pushEffect(`${z}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${z}.className = __clsx(${U});`)}return this._pendingClassArgs=Q,this._pendingClassEl=i,this._emitAutoWire(z,F),z},u.emitAttributes=function(c,A){let $=y5(A.slice(1));for(let R=1;R<A.length;R++){let[,M,z]=A[R];if(this.is(M,".")&&M[1]==="this"){let F=M[2];if(this._autoWireExplicit&&this._autoWireEl===c)this._autoWireExplicit.add(F);if(typeof z==="string"&&this.componentMembers?.has(z))this._createLines.push(`${c}.addEventListener('${F}', (e) => __batch(() => ${this._self}.${z}(e)));`);else{let W=this.emitInComponent(z,"value");this._createLines.push(`${c}.addEventListener('${F}', (e) => __batch(() => (${W})(e)));`)}continue}if(typeof M==="string"||M instanceof String){if(M.startsWith('"')&&M.endsWith('"'))M=M.slice(1,-1);if(M==="class"||M==="className"){let W=this.emitInComponent(z,"value");if(this._pendingClassArgs&&this._pendingClassEl===c)this._pendingClassArgs.push(W);else if(this.hasReactiveDeps(z))if(this._svgDepth>0)this._pushEffect(`${c}.setAttribute('class', __clsx(${W}));`);else this._pushEffect(`${c}.className = __clsx(${W});`);else if(this._svgDepth>0)this._createLines.push(`${c}.setAttribute('class', ${W});`);else this._createLines.push(`${c}.className = ${W};`);continue}if(M==="__transition__"){let W=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${W}";`);continue}if(M==="ref"){let W=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${W} = ${c};`);continue}if(M.startsWith(w3)&&M.endsWith(c3)){let W=M.slice(w3.length,-c3.length),Q=this.emitInComponent(z,"value"),i,U;if(W==="checked")i="change",U="e.target.checked";else i="input",U=$==="number"||$==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${c}.${W} = ${Q};`);let Y=`${Q} = ${U}`,H=!this.isSimpleAssignable(z)&&this.findRootReactiveMember(z);if(H)Y+=`; ${this._self}.${H}.touch?.()`;this._createLines.push(`${c}.addEventListener('${i}', (e) => { ${Y}; });`);continue}let F=this.emitInComponent(z,"value");if((M==="value"||M==="checked")&&this.hasReactiveDeps(z)){this._pushEffect(`${c}.${M} = ${F};`);continue}if(M==="innerHTML"||M==="textContent"||M==="innerText")if(this.hasReactiveDeps(z))this._pushEffect(`${c}.${M} = ${F};`);else this._createLines.push(`${c}.${M} = ${F};`);else if(I5.has(M))if(this.hasReactiveDeps(z))this._pushEffect(`${c}.toggleAttribute('${M}', !!${F});`);else this._createLines.push(`if (${F}) ${c}.setAttribute('${M}', '');`);else if(this.hasReactiveDeps(z))if(Array.isArray(z)&&z[0]==="presence")this._pushEffect(`{ const __v = ${F}; __v == null ? ${c}.removeAttribute('${M}') : ${c}.setAttribute('${M}', __v); }`);else this._pushEffect(`${c}.setAttribute('${M}', ${F});`);else if(Array.isArray(z)&&z[0]==="presence")this._createLines.push(`{ const __v = ${F}; if (__v != null) ${c}.setAttribute('${M}', __v); }`);else this._createLines.push(`${c}.setAttribute('${M}', ${F});`)}}},u.emitTemplateBlock=function(c){if(!Array.isArray(c)||c[0]!=="block")return this.emitNode(c);let A=c.slice(1);if(A.length===0){let M=this.newElementVar("empty");return this._createLines.push(`${M} = document.createComment('');`),M}if(A.length===1)return this.emitNode(A[0]);let $=this.newElementVar("frag");this._createLines.push(`${$} = document.createDocumentFragment();`);let R=[];for(let M of A){let z=this.emitNode(M);this._createLines.push(`${$}.appendChild(${z});`),R.push(z)}return this._fragChildren.set($,R),$},u.emitConditional=function(c){if(this._pendingAutoWire=!1,c.length>4){let O=c[c.length-1];for(let q=c.length-2;q>=3;q--)O=[...c[q],O];c=[c[0],c[1],c[2],O]}let[,A,$,R]=c,M=this.newElementVar("anchor");this._createLines.push(`${M} = document.createComment('if');`);let z=this.emitInComponent(A,"value"),F=this._loopVarStack.map((O)=>`${O.itemVar}, ${O.indexVar}`).join(", "),W=F?`, ${F}`:"",Q=this.newBlockVar();this.emitConditionBranch(Q,$);let i=null;if(R)i=this.newBlockVar(),this.emitConditionBranch(i,R);let U=[];U.push(`// Conditional: ${Q}${i?" / "+i:""}`),U.push("{"),U.push(` const anchor = ${M};`),U.push(" let currentBlock = null;"),U.push(" let showing = null;");let Y=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",H=this._factoryMode?"}));":"});";if(U.push(` ${Y}`),U.push(` const show = !!(${z});`),U.push(` const want = show ? 'then' : ${R?"'else'":"null"};`),U.push(" if (want === showing) return;"),U.push(""),U.push(" if (currentBlock) {"),U.push(" const leaving = currentBlock;"),U.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),U.push(" else { leaving.d(true); }"),U.push(" currentBlock = null;"),U.push(" }"),U.push(" showing = want;"),U.push(""),U.push(" if (want === 'then') {"),U.push(` currentBlock = ${Q}(${this._self}${W});`),U.push(" currentBlock.c();"),U.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),U.push(` currentBlock.p(${this._self}${W});`),U.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),U.push(" }"),R)U.push(" if (want === 'else') {"),U.push(` currentBlock = ${i}(${this._self}${W});`),U.push(" currentBlock.c();"),U.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),U.push(` currentBlock.p(${this._self}${W});`),U.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),U.push(" }");if(U.push(` ${H}`),this._factoryMode)U.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return U.push("}"),this._setupLines.push(U.join(`
|
|
907
|
+
`)),M},u.emitConditionBranch=function(c,A){let $=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let R=this.emitTemplateBlock(A),M=this._createLines,z=this._setupLines,F=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=$;let W=this._loopVarStack.map((i)=>`${i.itemVar}, ${i.indexVar}`).join(", "),Q=W?`, ${W}`:"";this.emitBlockFactory(c,`ctx${Q}`,R,M,z,F)},u.emitBlockFactory=function(c,A,$,R,M,z,F){let W=[];if(W.push(`function ${c}(${A}) {`),z.size>0)W.push(` let ${[...z].join(", ")};`);let Q=M.length>0;if(Q)W.push(" let disposers = [];");if(W.push(" return {"),F)W.push(" _s: true,");let i=this._fragChildren.get($),U=i?i[0]:$;W.push(" c() {");for(let Y of R)W.push(` ${Y}`);if(W.push(` this._first = ${U};`),W.push(" },"),W.push(" m(target, anchor) {"),i)for(let Y of i)W.push(` if (target) target.insertBefore(${Y}, anchor);`);else W.push(` if (target) target.insertBefore(${$}, anchor);`);if(W.push(" },"),W.push(` p(${A}) {`),Q){W.push(" disposers.forEach(d => d());"),W.push(" disposers = [];");for(let Y of M)W.push(` ${Y}`)}if(W.push(" },"),W.push(" d(detaching) {"),Q)W.push(" disposers.forEach(d => d());");if(i)for(let Y of i)W.push(` if (detaching && ${Y}) ${Y}.remove();`);else W.push(` if (detaching && ${$}) ${$}.remove();`);W.push(" }"),W.push(" };"),W.push("}"),this._blockFactories.push(W.join(`
|
|
908
|
+
`))},u.emitTemplateLoop=function(c){this._pendingAutoWire=!1;let[A,$,R,M,z,F]=c,W=this.newBlockVar(),Q=this.newElementVar("anchor");this._createLines.push(`${Q} = document.createComment('for');`);let i=Array.isArray($)?$:[$],U=i[0],Y=i[1]||null;if(!Y){let v=new Set(this._loopVarStack.flatMap((k)=>[k.itemVar,k.indexVar]));v.add(U);for(let k of["i","j","k","l","m","n"])if(!v.has(k)){Y=k;break}Y=Y||`_i${this._loopVarStack.length}`}let H=this.emitInComponent(R,"value"),O=U;if(this.is(F,"block")&&F.length>1){let v=F[1];if(Array.isArray(v))for(let k of v){if(this.is(k,"object"))for(let h1=1;h1<k.length;h1++){let[P,B]=k[h1];if(P==="key"){O=this.emit(B,"value");break}}if(O!==U)break}}let q=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let n=this._loopVarStack.map((v)=>`${v.itemVar}, ${v.indexVar}`).join(", "),K=n?`, ${n}`:"";this._loopVarStack.push({itemVar:U,indexVar:Y});let Z=this.emitTemplateBlock(F);this._loopVarStack.pop();let G=this._createLines,J=this._setupLines,N=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=q;let g=J.length===0,L=`ctx, ${U}, ${Y}${K}`;this.emitBlockFactory(W,L,Z,G,J,N,g);let X=O!==U?`(${U}, ${Y}) => ${O}`:"null",_1=n?`, ${n}`:"",S=[];S.push(`// Loop: ${W}`),S.push("{"),S.push(" const __s = { blocks: [], keys: [] };");let I=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",y=this._factoryMode?"}));":"});";return S.push(` ${I}`),S.push(` __reconcile(${Q}, __s, ${H}, ${this._self}, ${W}, ${X}${_1});`),S.push(` ${y}`),S.push("}"),this._setupLines.push(S.join(`
|
|
909
|
+
`)),Q},u.emitChildComponent=function(c,A){this._pendingAutoWire=!1;let $=this.newElementVar("inst"),R=this.newElementVar("el"),{propsCode:M,reactiveProps:z,eventBindings:F,childrenSetupLines:W}=this.buildComponentProps(A),Q=this._self;this._createLines.push(`{ const __prev = __pushComponent(${Q}); try {`),this._createLines.push(`${$} = new ${c}(${M});`),this._createLines.push(`${R} = ${$}._root = ${$}._create();`),this._createLines.push(`(${Q}._children || (${Q}._children = [])).push(${$});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:i,value:U}of F){let Y=this.emitInComponent(U,"value");this._createLines.push(`${R}.addEventListener('${i}', (e) => __batch(() => (${Y})(e)));`)}this._setupLines.push(`try { if (${$}._setup) ${$}._setup(); if (${$}.mounted) ${$}.mounted(); } catch (__e) { __handleComponentError(__e, ${$}); }`);for(let{key:i,valueCode:U}of z)this._pushEffect(`if (${$}.${i} && typeof ${$}.${i} === 'object' && 'value' in ${$}.${i}) ${$}.${i}.value = ${U}; else if (${$}._setRestProp) ${$}._setRestProp('${i}', ${U});`);for(let i of W)this._setupLines.push(i);return R},u.buildComponentProps=function(c){let A=[],$=[],R=[],M=null,z=[],F=(i,U)=>{if(i.startsWith("@")){R.push({event:i.slice(1).split(".")[0],value:U});return}if(this.reactiveMembers&&(typeof U==="string"&&this.reactiveMembers.has(U)||Array.isArray(U)&&U[0]==="."&&U[1]==="this"&&typeof U[2]==="string"&&this.reactiveMembers.has(U[2]))){let H=typeof U==="string"?U:U[2];A.push(`${i}: ${this._self}.${H}`)}else{let H=this.emitInComponent(U,"value");if(A.push(`${i}: ${H}`),this.hasReactiveDeps(U))$.push({key:i,valueCode:H})}},W=(i)=>{for(let U=1;U<i.length;U++){let[,Y,H]=i[U];if(typeof Y==="string")F(Y,H);else if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")R.push({event:Y[2],value:H})}};for(let i of c)if(this.is(i,"object"))W(i);else if(Array.isArray(i)&&(i[0]==="->"||i[0]==="=>")){let U=i[2];if(U){if(this.is(U,"block")){let Y=[];for(let H of U.slice(1))if(this.is(H,"object"))W(H);else Y.push(H);U=Y.length>0?["block",...Y]:null}if(U){let Y=this._createLines,H=this._setupLines;this._createLines=[],this._setupLines=[],M=this.emitTemplateBlock(U);let O=this._createLines,q=this._setupLines;this._createLines=Y,this._setupLines=H;for(let n of O)this._createLines.push(n);z.push(...q),A.push(`children: ${M}`)}}}else if(i&&!M){let U=this.newTextVar(),Y=this.emitInComponent(i,"value");if(this.hasReactiveDeps(i)){this._createLines.push(`${U} = document.createTextNode('');`);let H=`${U}.data = ${Y};`,O=this._factoryMode?`disposers.push(__effect(() => { ${H} }));`:`__effect(() => { ${H} });`;z.push(O)}else this._createLines.push(`${U} = document.createTextNode(${Y});`);M=U,A.push(`children: ${M}`)}return{propsCode:A.length>0?`{ ${A.join(", ")} }`:"{}",reactiveProps:$,eventBindings:R,childrenSetupLines:z}},u.hasReactiveDeps=function(c){if(typeof c==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(c));if(!Array.isArray(c))return!1;if(c[0]==="."&&c[1]==="this"&&typeof c[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(c[2]));if(c[0]==="."&&this._rootsAtThis(c[1]))return!0;if(Array.isArray(c[0])&&c[0][0]==="."&&c[0][1]==="this"){let A=_(c[0][2]);if(A&&this.componentMembers?.has(A))return!0}for(let A of c)if(this.hasReactiveDeps(A))return!0;return!1},u.isSimpleAssignable=function(c){if(typeof c==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(c));if(Array.isArray(c)&&c[0]==="."&&c[1]==="this"&&typeof c[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(c[2]));return!1},u.findRootReactiveMember=function(c){if(typeof c==="string")return this.reactiveMembers?.has(c)?c:null;if(!Array.isArray(c))return null;if(c[0]==="."&&c[1]==="this"&&typeof c[2]==="string")return this.reactiveMembers?.has(c[2])?c[2]:null;if(c[0]==="."||c[0]==="[]")return this.findRootReactiveMember(c[1]);return null},u._rootsAtThis=function(c){if(typeof c==="string")return c==="this";if(!Array.isArray(c)||c[0]!==".")return!1;return this._rootsAtThis(c[1])},u.getComponentRuntime=function(){return`
|
|
910
910
|
// ============================================================================
|
|
911
911
|
// Rip Component Runtime
|
|
912
912
|
// ============================================================================
|
|
@@ -1187,32 +1187,31 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1187
1187
|
globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
|
|
1188
1188
|
}
|
|
1189
1189
|
|
|
1190
|
-
`}}function
|
|
1191
|
-
`)}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 l=this.locationString,
|
|
1190
|
+
`}}function R1(f){let l="",h=f<0?-f<<1|1:f<<1;do{let w=h&31;if(h>>>=5,h>0)w|=32;l+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[w]}while(h>0);return l}class Y2{constructor(f,l,h=null){this.file=f,this.source=l,this.sourceContent=h,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 l=this.names.length;return this.names.push(f),this.nameIndex.set(f,l),l}addMapping(f,l,h,w,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(h==null){this.lines[f].push(R1(l-this.prevGenCol)),this.prevGenCol=l;return}this.mappings.push({genLine:f,genCol:l,origLine:h,origCol:w});let _=R1(l-this.prevGenCol);if(this.prevGenCol=l,_+=R1(0),_+=R1(h-this.prevOrigLine),this.prevOrigLine=h,_+=R1(w-this.prevOrigCol),this.prevOrigCol=w,u!=null){let D=this.addName(u);_+=R1(D-this.prevNameIdx),this.prevNameIdx=D}this.lines[f].push(_)}toReverseMap(){let f=new Map;for(let l of this.mappings){if(!f.has(l.origLine))f.set(l.origLine,[]);f.get(l.origLine).push({origCol:l.origCol,genLine:l.genLine,genCol:l.genCol})}return f}toJSON(){let f=this.lines.map((h)=>h.join(",")).join(";"),l={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)l.sourcesContent=[this.sourceContent];return JSON.stringify(l)}}function A3(f){let l=[],h=0;while(h<f.length){let w=0,u=0,_;do _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(f[h++]),w|=(_&31)<<u,u+=5;while(_&32);l.push(w&1?-(w>>1):w>>1)}return l}class D1 extends Error{constructor(f,{code:l=null,file:h=null,line:w=null,column:u=null,length:_=1,source:D=null,suggestion:c=null,phase:A=null}={}){super(f);this.name="RipError",this.code=l,this.file=h,this.line=w,this.column=u,this.length=_,this.source=D,this.suggestion=c,this.phase=A}static fromLexer(f,l,h){let w=f.location||{};return new D1(f.message,{code:"E_SYNTAX",file:h,line:w.first_line??null,column:w.first_column??null,length:w.last_column!=null&&w.first_column!=null?w.last_column-w.first_column+1:1,source:l,phase:"lexer"})}static fromParser(f,l,h){let w=f.hash||{},u=w.loc||{},_=w.line??u.r??null,D=u.first_column??u.c??null,c=null;if(w.expected?.length){if(c=`Expected ${w.expected.slice(0,5).map((z)=>z.replace(/'/g,"")).join(", ")}`,w.expected.length>5)c+=`, ... (${w.expected.length} total)`}let A=w.token||"token",$=w.text?` near '${w.text}'`:"",R=`Unexpected ${A}${$}`;return new D1(R,{code:"E_PARSE",file:h,line:_,column:D,length:w.text?.length||1,source:l,suggestion:c,phase:"parser"})}static fromSExpr(f,l,h,w,u){let _=l?.loc||{};return new D1(f,{code:"E_CODEGEN",file:w,line:_.r??null,column:_.c??null,length:_.n??1,source:h,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 l=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:""},h=[],w=this.locationString,u=w?`${l.cyan}${w}${l.reset} `:"";h.push(`${u}${l.red}${l.bold}error${l.reset}${l.bold}: ${this.message}${l.reset}`);let _=this._snippet();if(_){h.push("");for(let D of _)if(D.type==="source")h.push(`${l.dim}${D.gutter}${l.reset}${D.text}`);else if(D.type==="caret")h.push(`${l.dim}${D.gutter}${l.reset}${l.red}${l.bold}${D.text}${l.reset}`)}if(this.suggestion)h.push(""),h.push(`${l.yellow}hint${l.reset}: ${this.suggestion}`);return h.join(`
|
|
1191
|
+
`)}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 l=this.locationString,h=l?`<span class="re-loc">${G1(l)}</span> `:"";f.push(`<div class="re-header">${h}error: ${G1(this.message)}</div>`);let w=this._snippet();if(w){f.push('<pre class="re-snippet">');for(let u of w)if(u.type==="source")f.push(`<span class="re-gutter">${G1(u.gutter)}</span>${G1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${G1(u.gutter)}</span><span class="re-caret">${G1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${G1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
|
|
1192
1192
|
`)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
|
|
1193
|
-
`),l=this.line;if(l<0||l>=f.length)return null;let
|
|
1194
|
-
`)>=0){let
|
|
1195
|
-
`).map((
|
|
1196
|
-
`)}let
|
|
1197
|
-
`))return" ".repeat(l)+
|
|
1198
|
-
`))
|
|
1199
|
-
`).map((
|
|
1200
|
-
`)}else
|
|
1201
|
-
`)){
|
|
1202
|
-
`)}class
|
|
1203
|
-
`).length}}static _isColInsideString(f,l){let
|
|
1204
|
-
`);for(let{name:
|
|
1205
|
-
`)
|
|
1206
|
-
`)
|
|
1207
|
-
`),
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
`,A=!0}}if(M){if(A)u+=`
|
|
1193
|
+
`),l=this.line;if(l<0||l>=f.length)return null;let h=2,w=Math.max(0,l-h),u=Math.min(f.length-1,l+h),_=String(u+1).length,D=[];for(let c=w;c<=u;c++){let $=` ${String(c+1).padStart(_)} │ `;if(D.push({type:"source",gutter:$,text:f[c]}),c===l&&this.column!=null){let R=" ".repeat(this.column),M=Math.max(1,Math.min(this.length||1,f[c].length-this.column)),z="^".repeat(M),F=" ".repeat(_+2)+"│ ";D.push({type:"caret",gutter:F,text:`${R}${z}`})}}return D}}function B5(f){return f instanceof SyntaxError&&f.location!=null}function b5(f){return!(f instanceof SyntaxError)&&f.hash!=null}function E1(f,l,h){if(f instanceof D1){if(h&&!f.file)f.file=h;if(l&&!f.source)f.source=l;return f}if(B5(f))return D1.fromLexer(f,l,h);if(b5(f))return D1.fromParser(f,l,h);return new D1(f.message,{file:h,source:l,phase:"unknown"})}function Z1(f,{source:l,file:h,color:w=!0}={}){return(f instanceof D1?f:E1(f,l,h)).format({color:w})}function O2(f,{source:l,file:h}={}){return(f instanceof D1?f:E1(f,l,h)).formatHTML()}function G1(f){return f.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var e1=null;var l1=(f,l)=>f instanceof String?f[l]:void 0,m=(f)=>f instanceof String?f.valueOf():f,L5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),T5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),C5=new Set(["true","false","null","undefined","Infinity","NaN"]);function u2(f){if(!Array.isArray(f)||f.length===0)return!1;let l=f[0]?.valueOf?.()??f[0];if(L5.has(l))return!0;return f.length<=4&&!f.some(Array.isArray)}function V1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let l=String(f);if(l[0]==="/"&&l.indexOf(`
|
|
1194
|
+
`)>=0){let h=l.match(/\/([gimsuvy]*)$/),w=h?h[1]:"",u=l.slice(1);return u=w?u.slice(0,-w.length-1):u.slice(0,-1),`"/${u.split(`
|
|
1195
|
+
`).map((c)=>c.replace(/#.*$/,"").trim()).join("")}/${w}"`}return l}function z1(f,l=0,h=!1){if(!Array.isArray(f))return V1(f);if(h&&f[0]==="program"){let $=f[1],M=[Array.isArray($)?"(program":"(program "+V1($)],z=Array.isArray($)?1:2;for(let F=z;F<f.length;F++){let W=z1(f[F],2,!1);M.push(W[0]==="("?" "+W:W)}return M.push(")"),M.join(`
|
|
1196
|
+
`)}let w=f[0];if(u2(f)&&f.slice(1).every(($)=>!Array.isArray($)||u2($))){let R=`(${f.map((M)=>Array.isArray(M)?z1(M,0,!1):V1(M)).join(" ")})`;if(!R.includes(`
|
|
1197
|
+
`))return" ".repeat(l)+R}let _=" ".repeat(l),D;if(Array.isArray(w)){if(D=z1(w,0,!1),D.includes(`
|
|
1198
|
+
`))D=D.split(`
|
|
1199
|
+
`).map((R,M)=>M===0?R:" ".repeat(l+2)+R).join(`
|
|
1200
|
+
`)}else D=V1(w);let c=[`${_}(${D}`],A=w==="block";for(let $=1;$<f.length;$++){let R=f[$];if(!Array.isArray(R))c[c.length-1]+=" "+V1(R);else{let M=u2(R)&&R.every((z)=>!Array.isArray(z)||u2(z));if(!A&&M){let z=z1(R,0,!1);if(!z.includes(`
|
|
1201
|
+
`)){c[c.length-1]+=" "+z;continue}}c.push(z1(R,l+2,!1))}}return c[c.length-1]+=")",c.join(`
|
|
1202
|
+
`)}class w1{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",".{}":"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,l,{suggestion:h}={}){throw D1.fromSExpr(f,l,this.options.source,this.options.filename,h)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let l=this.emit(f);if(this.sourceMap)this.buildMappings();return l}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let l of this._stmtEntries){if(l.loc)this.sourceMap.addMapping(f,0,l.loc.r,l.loc.c);if(l.sexpr&&l.loc)this.recordSubMappings(l.code,l.sexpr,f);f+=l.code.split(`
|
|
1203
|
+
`).length}}static _isColInsideString(f,l){let h=!1,w="";for(let u=0;u<f.length&&u<l;u++){let _=f[u];if(h){if(_==="\\"){u++;continue}if(_===w)h=!1}else if(_==='"'||_==="'"||_==="`")h=!0,w=_}return h}recordSubMappings(f,l,h){let w=l.loc?l.loc.r:0,u=[];this.collectSubExprs(l,u);let _=f.split(`
|
|
1204
|
+
`),D=[0];for(let A=0;A<f.length;A++)if(f.charCodeAt(A)===10)D.push(A+1);let c=(A)=>{let $=0,R=D.length-1;while($<=R){let M=$+R>>1;if(D[M]<=A)$=M+1;else R=M-1}return R};for(let{name:A,origLine:$,origCol:R}of u){let M=A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z=new RegExp("\\b"+M+"\\b","g"),F,W=null,Q=1/0,i=$-w;while((F=z.exec(f))!==null){let U=c(F.index),Y=F.index-D[U],H=_[U];if(H&&w1._isColInsideString(H,Y))continue;let O=h+U,q=Math.abs(U-i)*1e4+Math.abs(Y-R);if(q<Q)Q=q,W={genLine:O,genCol:Y}}if(W)this.sourceMap.addMapping(W.genLine,W.genCol,$,R)}}collectSubExprs(f,l){if(!Array.isArray(f))return;let h=f[0];if(Array.isArray(h)||h!=null&&typeof h!=="string"&&!(h instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],l);return}if(f.loc){h=m(h);let u=null;if(h==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof h==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(h)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof h==="string"&&/^[a-zA-Z_$]/.test(h))u=h;if(u)l.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let w=h==="->"||h==="=>"?2:1;for(let u=w;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],l)}collectProgramVariables(f){if(!Array.isArray(f))return;let[l,...h]=f;if(l=m(l),Array.isArray(l)){f.forEach((w)=>this.collectProgramVariables(w));return}if(l==="export"||l==="export-default"||l==="export-all"||l==="export-from")return;if(l==="state"||l==="computed"){let[w]=h,u=m(w)??w;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(l==="readonly"){let[w]=h,u=m(w)??w;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(l==="component")return;if(l==="enum")return;if(w1.ASSIGNMENT_OPS.has(l)){let[w,u]=h;if(typeof w==="string"||w instanceof String){let _=m(w);if(!this.reactiveVars?.has(_)&&!this.readonlyVars?.has(_))this.programVars.add(_)}else if(this.is(w,"array"))this.collectVarsFromArray(w,this.programVars);else if(this.is(w,"object"))this.collectVarsFromObject(w,this.programVars);this.collectProgramVariables(u);return}if(l==="for-in"||l==="for-of"||l==="for-as"){this.collectVarsFromLoopHead(h[0],this.programVars),h.slice(1).forEach((w)=>this.collectProgramVariables(w));return}if(l==="def"||l==="->"||l==="=>"||l==="effect")return;if(l==="if"){let[w,u,_]=h;if(this.collectProgramVariables(w),this.collectProgramVariables(u),_)this.collectProgramVariables(_);return}if(l==="try"){if(this.collectProgramVariables(h[0]),h.length>=2&&Array.isArray(h[1])&&h[1].length===2&&h[1][0]!=="block"){let[w,u]=h[1];if(w&&this.is(w,"object"))w.slice(1).forEach((_)=>{if(Array.isArray(_)&&_.length===2&&typeof _[1]==="string")this.programVars.add(_[1])});else if(w&&this.is(w,"array"))w.slice(1).forEach((_)=>{if(typeof _==="string")this.programVars.add(_)});this.collectProgramVariables(u)}if(h.length===3)this.collectProgramVariables(h[2]);else if(h.length===2&&(!Array.isArray(h[1])||h[1][0]==="block"))this.collectProgramVariables(h[1]);return}h.forEach((w)=>this.collectProgramVariables(w))}collectFunctionVariables(f){let l=new Set,h=(w)=>{if(!Array.isArray(w))return;let[u,..._]=w;if(u=m(u),Array.isArray(u)){w.forEach((D)=>h(D));return}if(w1.ASSIGNMENT_OPS.has(u)){let[D,c]=_;if(typeof D==="string")l.add(D);else if(this.is(D,"array"))this.collectVarsFromArray(D,l);else if(this.is(D,"object"))this.collectVarsFromObject(D,l);h(c);return}if(u==="for-in"||u==="for-of"||u==="for-as"){this.collectVarsFromLoopHead(_[0],l),_.slice(1).forEach(h);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(h(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[D,c]=_[1];if(D&&this.is(D,"object"))D.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")l.add(A[1])});else if(D&&this.is(D,"array"))D.slice(1).forEach((A)=>{if(typeof A==="string")l.add(A)});h(c)}if(_.length===3)h(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))h(_[1]);return}_.forEach((D)=>h(D))};return h(f),l}emit(f,l="statement"){if(f instanceof String){if(l1(f,"await")===!0)return`await ${m(f)}()`;if(l1(f,"predicate"))return`(${m(f)} != null)`;if(l1(f,"delimiter")==="///"&&l1(f,"heregex")){let c=m(f),A=c.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,$,R]=A;return`/${this.processHeregex($)}/${R}`}return c}let D=l1(f,"quote");if(D){let c=m(f);if(D==='"""'||D==="'''"){let $=this.extractStringContent(f);return $=$.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${$}\``}if(c[0]===D)return c;let A=c.slice(1,-1);return`${D}${A}${D}`}f=m(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let D=f.slice(1,-1);if(D.includes(`
|
|
1205
|
+
`))return`\`${D.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let c=D.includes("'")&&!D.includes('"')?'"':"'",A=D.replace(new RegExp(c,"g"),`\\${c}`);return`${c}${A}${c}`}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[h,...w]=f,u=l1(h,"await");h=m(h);let _=w1.GENERATORS[h];if(_)return this[_](h,w,l,f);if(typeof h==="string"&&!h.startsWith('"')&&!h.startsWith("'")){if(w1.NUMBER_START_RE.test(h))return h;if(h==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(w)})`;let D=this._tryPostfixCall(h,w,l);if(D)return D;let c=u===!0,A=`${this.emit(h,"value")}(${this._emitArgs(w)})`;return c?`await ${A}`:A}if(Array.isArray(h)&&typeof h[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(h[0]))return`(${f.map((c)=>this.emit(c,"value")).join(", ")})`}if(Array.isArray(h)){if(h[0]==="."&&(h[2]==="new"||m(h[2])==="new")){let R=h[1],M=this.emit(R,"value");return`new ${Array.isArray(R)?`(${M})`:M}(${this._emitArgs(w)})`}let D=this._tryPostfixCall(h,w,l);if(D)return D;let c=!1,A;if(h[0]==="."&&l1(h[2],"await")===!0){c=!0;let[R,M]=h.slice(1),z=this.emit(R,"value");A=`${w1.NUMBER_LITERAL_RE.test(z)||(this.is(R,"object")||this.is(R,"await")||this.is(R,"yield"))?`(${z})`:z}.${m(M)}`}else A=this.emit(h,"value");let $=`${A}(${this._emitArgs(w)})`;return c?`await ${$}`:$}this.error(`Unknown s-expression type: ${h}`,f)}emitProgram(f,l,h,w){let u="",_=[],D=[];for(let F of l){if(!Array.isArray(F)){D.push(F);continue}if(F[0]==="import")_.push(F);else D.push(F)}let c=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],A=D.map((F,W)=>{let Q=D.length===1&&_.length===0,i=this.is(F,"object"),U=i&&F.length===2&&Array.isArray(F[1])&&Array.isArray(F[1][2])&&F[1][2][0]==="comprehension",Y=this.is(F,"comprehension")||this.is(F,"object-comprehension")||this.is(F,"do-iife"),H=this.programVars.size===0,O=Q&&i&&H&&!Y&&!U,n=W===D.length-1&&Y,K;if(O)K=`(${this.emit(F,"value")})`;else if(n)K=this.emit(F,"value");else K=this.emit(F,"statement");if(K&&!K.endsWith(";")){let G=Array.isArray(F)?F[0]:null;if(!c.includes(G)||!K.endsWith("}"))K+=";"}let Z=Array.isArray(F)?F.loc:null;return{code:K,loc:Z,sexpr:Array.isArray(F)?F:null}}),$=A.map((F)=>F.code).join(`
|
|
1206
|
+
`),R=!1;if(_.length>0)u+=_.map((F)=>this.addSemicolon(F,this.emit(F,"statement"))).join(`
|
|
1207
|
+
`),R=!0;if(this.programVars.size>0){let F=this.programVars.has("_");if(F)this.programVars.delete("_");if(this.programVars.size>0){let W=Array.from(this.programVars).sort().join(", ");if(W){if(R)u+=`
|
|
1208
|
+
`;u+=`let ${W};
|
|
1209
|
+
`,R=!0}}if(F){if(R)u+=`
|
|
1211
1210
|
`;u+=`var _;
|
|
1212
|
-
`,
|
|
1213
|
-
`;u+=m1(),
|
|
1214
|
-
`,
|
|
1215
|
-
`,
|
|
1211
|
+
`,R=!0}}let M=this.options.skipPreamble,z=this.options.skipRuntimes;if(!M){if(R)u+=`
|
|
1212
|
+
`;u+=m1(),R=!0;let F=z?"var":"const";if(this.helpers.has("slice"))u+=`${F} slice = [].slice;
|
|
1213
|
+
`,R=!0;if(this.helpers.has("modulo"))u+=`${F} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
1214
|
+
`,R=!0;if(this.helpers.has("toMatchable"))u+=`${F} toMatchable = (v, allowNewlines) => {
|
|
1216
1215
|
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
1217
1216
|
`,u+=` if (v == null) return "";
|
|
1218
1217
|
`,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
@@ -1226,172 +1225,172 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1226
1225
|
`,u+=` }
|
|
1227
1226
|
`,u+=` return "";
|
|
1228
1227
|
`,u+=`};
|
|
1229
|
-
`,
|
|
1228
|
+
`,R=!0}if(this.usesReactivity&&!M){if(z)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
1230
1229
|
`;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
1231
|
-
`;else u+=this.getReactiveRuntime();
|
|
1230
|
+
`;else u+=this.getReactiveRuntime();R=!0}if(this.usesTemplates&&!M){if(z)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
1232
1231
|
`;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
1233
|
-
`;else u+=this.getComponentRuntime();
|
|
1232
|
+
`;else u+=this.getComponentRuntime();R=!0}if(this.usesSchemas&&!M){if(z)u+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
|
|
1234
1233
|
`;else if(typeof globalThis<"u"&&globalThis.__ripSchema)u+=`const { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
|
|
1235
|
-
`;else u+=this.getSchemaRuntime();
|
|
1234
|
+
`;else u+=this.getSchemaRuntime();R=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!M)u+=`var DATA;
|
|
1236
1235
|
_setDataSection();
|
|
1237
|
-
`,
|
|
1238
|
-
`;if(this._stmtEntries=
|
|
1239
|
-
`).length-1,u
|
|
1236
|
+
`,R=!0;if(R&&u.length>0)u+=`
|
|
1237
|
+
`;if(this._stmtEntries=A,this._preambleLines=u.length===0?0:u.split(`
|
|
1238
|
+
`).length-1,u+=$,this.dataSection!==null&&this.dataSection!==void 0)u+=`
|
|
1240
1239
|
|
|
1241
1240
|
function _setDataSection() {
|
|
1242
1241
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
1243
|
-
}`;return u}emitBinaryOp(f,l,c,h){if((f==="+"||f==="-")&&l.length===1)return`(${f}${this.emit(l[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(_,"value")})`}let i=new Set(["<",">","<=",">="]);if(i.has(f)&&Array.isArray(u)){let w=u[0]?.valueOf?.()??u[0];if(i.has(w)){let n=this.emit(u[1],"value"),D=this.emit(u[2],"value"),A=this.emit(_,"value");return`((${n} ${w} ${D}) && (${D} ${f} ${A}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit(_,"value")})`}emitModulo(f,l){let[c,h]=l;return this.helpers.add("modulo"),`modulo(${this.emit(c,"value")}, ${this.emit(h,"value")})`}emitModuloAssign(f,l){let[c,h]=l;this.helpers.add("modulo");let u=this.emit(c,"value"),_=this.emit(h,"value");return`${u} = modulo(${u}, ${_})`}emitFloorDiv(f,l){let[c,h]=l;return`Math.floor(${this.emit(c,"value")} / ${this.emit(h,"value")})`}emitFloorDivAssign(f,l){let[c,h]=l,u=this.emit(c,"value"),_=this.emit(h,"value");return`${u} = Math.floor(${u} / ${_})`}emitAssignment(f,l,c,h){let[u,_]=l,i=f==="?="?"??=":f,w=this._findOptionalInTarget(u);if(w){let W=this.emit(w.guard,"value"),Q=this.emit(w.rewritten,"value"),q=this.emit(_,"value");if(c==="value")return`(${W} != null ? (${Q} ${i} ${q}) : undefined)`;return`if (${W} != null) ${Q} ${i} ${q}`}let n=this.is(_,"->")||this.is(_,"=>")||this.is(_,"def");if(u instanceof String&&l1(u,"await")!==void 0&&!n){let W=l1(u,"await")===!0?"!":"&";this.error(`Cannot use ${W} sigil in variable declaration '${m(u)}'`,h)}if(u instanceof String&&l1(u,"await")===!0&&n)this.nextFunctionIsVoid=!0;let D=this.is(u,"array",0),A=this.is(u,"object",0);if(D||A){let W=this.emit(_,"value");return A&&c==="statement"?`(${W})`:W}if(Array.isArray(_)&&i==="="&&_[0]==="control"){let[,W,Q,q]=_,K=m(W),Y=q[0]==="return",J=this.emit(u,"value"),G=this.emit(Q,"value"),S=q.length>1?q[1]:null,N=Y?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(c==="value"){if(K==="??")return`(() => { const __v = ${G}; if (__v == null) ${N}; return (${J} = __v); })()`;if(K==="||")return`(() => { const __v = ${G}; if (!__v) ${N}; return (${J} = __v); })()`;return`(() => { const __v = ${G}; if (__v) ${N}; return (${J} = __v); })()`}if(K==="??")return`if ((${J} = ${G}) == null) ${N}`;if(K==="||")return`if (!(${J} = ${G})) ${N}`;return`if ((${J} = ${G})) ${N}`}if(this.is(u,"array")){let W=u.slice(1).findIndex((Q)=>this.is(Q,"...")||Q==="...");if(W!==-1&&W<u.length-2){let Q=u.slice(1),q=Q.slice(W+1),K=q.length;if(K>0){let Y=this.emit(_,"value"),G=Q.slice(0,W).map((T)=>T===","?"":typeof T==="string"?T:this.emit(T,"value")).join(", "),S=q.map((T)=>T===","?"":typeof T==="string"?T:this.emit(T,"value")).join(", ");this.helpers.add("slice"),Q.forEach((T)=>{if(T===","||T==="...")return;if(typeof T==="string")this.programVars.add(T);else if(this.is(T,"...")&&typeof T[1]==="string")this.programVars.add(T[1])});let N=Q[W],v=this.is(N,"...")?N[1]:null,L=[];if(G)L.push(`[${G}] = ${Y}`);if(v)L.push(`[...${v}] = ${Y}.slice(${W}, -${K})`);return L.push(`[${S}] = slice.call(${Y}, -${K})`),L.join(", ")}}}if(c==="statement"&&f==="="&&Array.isArray(_)&&(_[0]==="||"||_[0]==="&&")&&_.length===3){let[W,Q,q]=_;if(this.is(q,"if")&&q.length===3){let[,K,Y]=q,J=Array.isArray(Y)&&Y.length===1?Y[0]:Y,G=[W,Q,J],S=this.emit(u,"value"),N=this.emit(K,"value"),v=this.emit(G,"value");return`if (${N}) ${S} = ${v}`}}if(c==="statement"&&f==="="&&Array.isArray(_)&&_.length===3){let[W,Q,q]=_,K=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if(W==="if"&&K){let Y=Array.isArray(q)&&q.length===1?q[0]:q,J=this.emit(u,"value"),G=this.unwrapLogical(this.emit(Q,"value")),S=this.emit(Y,"value");return`if (${G}) ${J} = ${S}`}}let $;if(u instanceof String&&l1(u,"await")!==void 0)$=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))$=`${u}.value`;else $=this.emit(u,"value");let R=this._componentName,M=this._componentTypeParams,F=this._schemaName;if(this.is(_,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u),this._componentTypeParams=u.typeParams||"";if(this.is(_,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=m(u);let O=this.emit(_,"value");if(this._componentName=R,this._componentTypeParams=M,this._schemaName=F,!(this.is(_,"object")||this.is(_,".{}")||this.is(_,"?.{}")))O=this.unwrap(O);let U=c==="value",H=c==="statement"&&this.is(u,"object");if(U||H)return`(${$} ${i} ${O})`;return`${$} ${i} ${O}`}emitPropertyAccess(f,l,c,h){let[u,_]=l;if(this._atParamMap&&u==="this"){let D=this._atParamMap.get(m(_));if(D)return D}let i=this.emit(u,"value"),n=h1.NUMBER_LITERAL_RE.test(i)||i.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${i})`:i;if(l1(_,"await")===!0)return`await ${n}.${m(_)}()`;if(l1(_,"predicate"))return`(${n}.${m(_)} != null)`;return`${n}.${m(_)}`}emitOptionalProperty(f,l){let[c,h]=l;return`${this.emit(c,"value")}?.${h}`}emitPick(f,l,c,h){let[u,..._]=l,i=this.emit(u,"value"),w=this._isSimplePickSource(u),n=w?i:"_",D=_.map(([A,$,R])=>{let M=`${n}.${m(A)}`;if(R!==null&&R!==void 0)M=`(${M} ?? ${this.emit(R,"value")})`;return`${m($)}: ${M}`}).join(", ");if(w)return`({${D}})`;return`((_) => ({${D}}))(${i})`}emitOptPick(f,l,c,h){let[u,..._]=l,i=this.emit(u,"value"),w=this._isSimplePickSource(u),n=w?i:"_",D=_.map(([A,$,R])=>{let M=`${n}.${m(A)}`;if(R!==null&&R!==void 0)M=`(${M} ?? ${this.emit(R,"value")})`;return`${m($)}: ${M}`}).join(", ");if(w)return`(${i} == null ? undefined : {${D}})`;return`((_) => _ == null ? undefined : ({${D}}))(${i})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,l){let[c,h,u]=l;this.helpers.add("toMatchable"),this.programVars.add("_");let _=this.emit(c,"value"),i=this.emit(h,"value"),w=u!==null?this.emit(u,"value"):"0",n=i.includes("/m")?", true":"";return`(_ = toMatchable(${_}${n}).match(${i})) && _[${w}]`}emitIndexAccess(f,l){let[c,h]=l;if(this.is(h,"..")||this.is(h,"...")){let u=h[0]==="..",_=this.emit(c,"value"),[i,w]=h.slice(1),n=(R)=>{if(R===null)return null;let M=m(R)??R;if(typeof M==="number")return M;if(typeof M==="string"&&/^\d+$/.test(M))return+M;if(Array.isArray(R)&&R[0]==="-"&&R.length===2){let F=m(R[1])??R[1];if(typeof F==="number")return-F;if(typeof F==="string"&&/^\d+$/.test(F))return-F}return null},D=(R,M,F)=>{let O=n(F);if(O!==null&&O!==-1)return`${_}.slice(${R}, ${O+1})`;return`${_}.slice(${R}, +${M} + 1 || 9e9)`};if(i===null&&w===null)return`${_}.slice()`;if(i===null){if(u&&this.is(w,"-",1)&&(m(w[1])??w[1])==1)return`${_}.slice(0)`;let R=this.emit(w,"value");return u?D("0",R,w):`${_}.slice(0, ${R})`}if(w===null)return`${_}.slice(${this.emit(i,"value")})`;let A=this.emit(i,"value");if(u&&this.is(w,"-",1)&&(m(w[1])??w[1])==1)return`${_}.slice(${A})`;let $=this.emit(w,"value");return u?D(A,$,w):`${_}.slice(${A}, ${$})`}if(this.is(h,"-",1)){let u=m(h[1])??h[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(h,"value"))}]`}emitOptIndex(f,l){let[c,h]=l;if(this.is(h,"-",1)){let u=m(h[1])??h[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(h,"value")}]`}emitOptCall(f,l){let[c,...h]=l;return`${this.emit(c,"value")}?.(${h.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,l,c,h){let[u,_,i]=l,w=l1(u,"await")===!0,n=m(u),D=this.emitParamList(_),A=this.emitFunctionBody(i,_,w),$=this.containsAwait(i),R=this.containsYield(i);return`${$?"async ":""}function${R?"*":""} ${n}(${D}) ${A}`}emitThinArrow(f,l,c,h){let[u,_]=l;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(_))u=["it"];let i=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let w=this.emitParamList(u),n=this.emitFunctionBody(_,u,i),D=this.containsAwait(_),A=this.containsYield(_),$=`${D?"async ":""}function${A?"*":""}(${w}) ${n}`;return c==="value"?`(${$})`:$}emitFatArrow(f,l,c,h){let[u,_]=l;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(_))u=["it"];let i=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let w=this.emitParamList(u),D=u.length===1&&typeof u[0]==="string"&&!w.includes("=")&&!w.includes("...")&&!w.includes("[")&&!w.includes("{")?w:`(${w})`,$=this.containsAwait(_)?"async ":"";if(!i){if(this.is(_,"block")&&_.length===2){let M=_[1],F=Array.isArray(M)?M[0]:null;if(F!=="return"&&!b5.has(F)){let O=this.emit(M,"value");if(O[0]==="{")O=`(${O})`;return`${$}${D} => ${O}`}}if(!Array.isArray(_)||_[0]!=="block"){let M=this.emit(_,"value");if(M[0]==="{")M=`(${M})`;return`${$}${D} => ${M}`}}let R=this.emitFunctionBody(_,u,i);return`${$}${D} => ${R}`}emitReturn(f,l,c,h){if(l.length===0)return"return";let[u]=l;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",h);if(this.is(u,"if")){let[,_,i,...w]=u;if(w.length===0){let n=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(_,"value")}) return ${this.emit(n,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,_,i]=u[1],w=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(_,"value")}) return ${this.emit(["new",w],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,l){let[c,h]=l;this.usesReactivity=!0;let u=m(c)??c;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(h,"value")})`}emitComputed(f,l){let[c,h]=l;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(c)??c;if(this.reactiveVars.add(u),this.is(h,"block")&&h.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(h)})`;return`const ${u} = __computed(() => ${this.emit(h,"value")})`}emitReadonly(f,l){let[c,h]=l;return`const ${m(c)??c} = ${this.emit(h,"value")}`}emitEffect(f,l){let[c,h]=l;this.usesReactivity=!0;let u;if(this.is(h,"block"))u=this.emitFunctionBody(h);else if(this.is(h,"->")||this.is(h,"=>")){let i=this.emit(h,"value");if(c)return`const ${m(c)??this.emit(c,"value")} = __effect(${i})`;return`__effect(${i})`}else u=`{ ${this.emit(h,"value")}; }`;let _=`__effect(() => ${u})`;if(c)return`const ${m(c)??this.emit(c,"value")} = ${_}`;return _}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,l){return`(${this.emit(l[0],"value")} != null)`}emitPresence(f,l){return`(${this.emit(l[0],"value")} ? true : undefined)`}emitTernary(f,l,c){let[h,u,_]=l;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let w=this.emit(u[1],"value"),n=this.emit(u[2],"value"),D=this.emit(_,"value");return`${w} = (${this.unwrap(this.emit(h,"value"))} ? ${n} : ${D})`}return`(${this.unwrap(this.emit(h,"value"))} ? ${this.emit(u,"value")} : ${this.emit(_,"value")})`}emitPipe(f,l){let[c,h]=l,u=this.emit(c,"value");if(Array.isArray(h)&&h.length>1){let _=h[0];if(Array.isArray(_)||typeof _==="string"&&/^[a-zA-Z_$]/.test(_)){let w=this.emit(_,"value"),n=h.slice(1).map((D)=>this.emit(D,"value"));return`${w}(${u}, ${n.join(", ")})`}}return`${this.emit(h,"value")}(${u})`}emitLoop(f,l){return`while (true) ${this.emitLoopBody(l[0])}`}emitLoopN(f,l){let[c,h]=l;return`for (let it = 0; it < ${this.emit(c,"value")}; it++) ${this.emitLoopBody(h)}`}emitAwait(f,l){return`await ${this.emit(l[0],"value")}`}emitYield(f,l){return l.length===0?"yield":`yield ${this.emit(l[0],"value")}`}emitYieldFrom(f,l){return`yield* ${this.emit(l[0],"value")}`}emitIf(f,l,c,h){let[u,_,...i]=l;return c==="value"?this.emitIfAsExpression(u,_,i):this.emitIfAsStatement(u,_,i)}emitForIn(f,l,c,h){let[u,_,i,w,n]=l;if(c==="value"&&this.comprehensionDepth===0){let z=["for-in",u,_,i];return this.emit(["comprehension",n,[z],w?[w]:[]],c)}let D=Array.isArray(u)?u:[u],A=D.length===0,[$,R]=A?["_i",null]:D,M=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(i&&i!==null){let z=this.emit(_,"value"),U=R||"_i",H=this.emit(i,"value"),W=this.is(i,"-",1),Q=W&&(i[1]==="1"||i[1]===1||m(i[1])==="1"),q=!W&&(i==="1"||i===1||m(i)==="1"),K;if(Q)K=`for (let ${U} = ${z}.length - 1; ${U} >= 0; ${U}--) `;else if(q)K=`for (let ${U} = 0; ${U} < ${z}.length; ${U}++) `;else if(W)K=`for (let ${U} = ${z}.length - 1; ${U} >= 0; ${U} += ${H}) `;else K=`for (let ${U} = 0; ${U} < ${z}.length; ${U} += ${H}) `;if(this.is(n,"block")){let Y=n.slice(1);this.indentLevel++;let J=[];if(!A)J.push(`let ${M} = ${z}[${U}];`);if(w)J.push(`if (${this.emit(w,"value")}) {`),this.indentLevel++,J.push(...this.formatStatements(Y)),this.indentLevel--,J.push(this.indent()+"}");else J.push(...Y.map((G)=>this.addSemicolon(G,this.emit(G,"statement"))));return this.indentLevel--,K+`{
|
|
1244
|
-
${
|
|
1242
|
+
}`;return u}emitBinaryOp(f,l,h,w){if((f==="+"||f==="-")&&l.length===1)return`(${f}${this.emit(l[0],"value")})`;let[u,_]=l;if(f==="*"){let c=u?.valueOf?.()??u;if(typeof c==="string"&&/^["']/.test(c))return`${this.emit(u,"value")}.repeat(${this.emit(_,"value")})`}let D=new Set(["<",">","<=",">="]);if(D.has(f)&&Array.isArray(u)){let c=u[0]?.valueOf?.()??u[0];if(D.has(c)){let A=this.emit(u[1],"value"),$=this.emit(u[2],"value"),R=this.emit(_,"value");return`((${A} ${c} ${$}) && (${$} ${f} ${R}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit(_,"value")})`}emitModulo(f,l){let[h,w]=l;return this.helpers.add("modulo"),`modulo(${this.emit(h,"value")}, ${this.emit(w,"value")})`}emitModuloAssign(f,l){let[h,w]=l;this.helpers.add("modulo");let u=this.emit(h,"value"),_=this.emit(w,"value");return`${u} = modulo(${u}, ${_})`}emitFloorDiv(f,l){let[h,w]=l;return`Math.floor(${this.emit(h,"value")} / ${this.emit(w,"value")})`}emitFloorDivAssign(f,l){let[h,w]=l,u=this.emit(h,"value"),_=this.emit(w,"value");return`${u} = Math.floor(${u} / ${_})`}emitAssignment(f,l,h,w){let[u,_]=l,D=f==="?="?"??=":f,c=this._findOptionalInTarget(u);if(c){let H=this.emit(c.guard,"value"),O=this.emit(c.rewritten,"value"),q=this.emit(_,"value");if(h==="value")return`(${H} != null ? (${O} ${D} ${q}) : undefined)`;return`if (${H} != null) ${O} ${D} ${q}`}let A=this.is(_,"->")||this.is(_,"=>")||this.is(_,"def");if(u instanceof String&&l1(u,"await")!==void 0&&!A){let H=l1(u,"await")===!0?"!":"&";this.error(`Cannot use ${H} sigil in variable declaration '${m(u)}'`,w)}if(u instanceof String&&l1(u,"await")===!0&&A)this.nextFunctionIsVoid=!0;let $=this.is(u,"array",0),R=this.is(u,"object",0);if($||R){let H=this.emit(_,"value");return R&&h==="statement"?`(${H})`:H}if(Array.isArray(_)&&D==="="&&_[0]==="control"){let[,H,O,q]=_,n=m(H),K=q[0]==="return",Z=this.emit(u,"value"),G=this.emit(O,"value"),J=q.length>1?q[1]:null,N=K?J?`return ${this.emit(J,"value")}`:"return":J?`throw ${this.emit(J,"value")}`:"throw new Error()";if(h==="value"){if(n==="??")return`(() => { const __v = ${G}; if (__v == null) ${N}; return (${Z} = __v); })()`;if(n==="||")return`(() => { const __v = ${G}; if (!__v) ${N}; return (${Z} = __v); })()`;return`(() => { const __v = ${G}; if (__v) ${N}; return (${Z} = __v); })()`}if(n==="??")return`if ((${Z} = ${G}) == null) ${N}`;if(n==="||")return`if (!(${Z} = ${G})) ${N}`;return`if ((${Z} = ${G})) ${N}`}if(this.is(u,"array")){let H=u.slice(1).findIndex((O)=>this.is(O,"...")||O==="...");if(H!==-1&&H<u.length-2){let O=u.slice(1),q=O.slice(H+1),n=q.length;if(n>0){let K=this.emit(_,"value"),G=O.slice(0,H).map((T)=>T===","?"":typeof T==="string"?T:this.emit(T,"value")).join(", "),J=q.map((T)=>T===","?"":typeof T==="string"?T:this.emit(T,"value")).join(", ");this.helpers.add("slice"),O.forEach((T)=>{if(T===","||T==="...")return;if(typeof T==="string")this.programVars.add(T);else if(this.is(T,"...")&&typeof T[1]==="string")this.programVars.add(T[1])});let N=O[H],g=this.is(N,"...")?N[1]:null,L=[];if(G)L.push(`[${G}] = ${K}`);if(g)L.push(`[...${g}] = ${K}.slice(${H}, -${n})`);return L.push(`[${J}] = slice.call(${K}, -${n})`),L.join(", ")}}}if(h==="statement"&&f==="="&&Array.isArray(_)&&(_[0]==="||"||_[0]==="&&")&&_.length===3){let[H,O,q]=_;if(this.is(q,"if")&&q.length===3){let[,n,K]=q,Z=Array.isArray(K)&&K.length===1?K[0]:K,G=[H,O,Z],J=this.emit(u,"value"),N=this.emit(n,"value"),g=this.emit(G,"value");return`if (${N}) ${J} = ${g}`}}if(h==="statement"&&f==="="&&Array.isArray(_)&&_.length===3){let[H,O,q]=_,n=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if(H==="if"&&n){let K=Array.isArray(q)&&q.length===1?q[0]:q,Z=this.emit(u,"value"),G=this.unwrapLogical(this.emit(O,"value")),J=this.emit(K,"value");return`if (${G}) ${Z} = ${J}`}}let M;if(u instanceof String&&l1(u,"await")!==void 0)M=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))M=`${u}.value`;else M=this.emit(u,"value");let z=this._componentName,F=this._componentTypeParams,W=this._schemaName;if(this.is(_,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u),this._componentTypeParams=u.typeParams||"";if(this.is(_,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=m(u);let Q=this.emit(_,"value");if(this._componentName=z,this._componentTypeParams=F,this._schemaName=W,!(this.is(_,"object")||this.is(_,".{}")||this.is(_,"?.{}")))Q=this.unwrap(Q);let U=h==="value",Y=h==="statement"&&this.is(u,"object");if(U||Y)return`(${M} ${D} ${Q})`;return`${M} ${D} ${Q}`}emitPropertyAccess(f,l,h,w){let[u,_]=l;if(this._atParamMap&&u==="this"){let $=this._atParamMap.get(m(_));if($)return $}let D=this.emit(u,"value"),A=w1.NUMBER_LITERAL_RE.test(D)||D.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${D})`:D;if(l1(_,"await")===!0)return`await ${A}.${m(_)}()`;if(l1(_,"predicate"))return`(${A}.${m(_)} != null)`;return`${A}.${m(_)}`}emitOptionalProperty(f,l){let[h,w]=l;return`${this.emit(h,"value")}?.${w}`}emitPick(f,l,h,w){let[u,..._]=l,D=this.emit(u,"value"),c=this._isSimplePickSource(u),A=c?D:"_",$=_.map(([R,M,z])=>{let F=`${A}.${m(R)}`;if(z!==null&&z!==void 0)F=`(${F} ?? ${this.emit(z,"value")})`;return`${m(M)}: ${F}`}).join(", ");if(c)return`({${$}})`;return`((_) => ({${$}}))(${D})`}emitOptPick(f,l,h,w){let[u,..._]=l,D=this.emit(u,"value"),c=this._isSimplePickSource(u),A=c?D:"_",$=_.map(([R,M,z])=>{let F=`${A}.${m(R)}`;if(z!==null&&z!==void 0)F=`(${F} ?? ${this.emit(z,"value")})`;return`${m(M)}: ${F}`}).join(", ");if(c)return`(${D} == null ? undefined : {${$}})`;return`((_) => _ == null ? undefined : ({${$}}))(${D})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,l){let[h,w,u]=l;this.helpers.add("toMatchable"),this.programVars.add("_");let _=this.emit(h,"value"),D=this.emit(w,"value"),c=u!==null?this.emit(u,"value"):"0",A=D.includes("/m")?", true":"";return`(_ = toMatchable(${_}${A}).match(${D})) && _[${c}]`}emitIndexAccess(f,l){let[h,w]=l;if(this.is(w,"..")||this.is(w,"...")){let u=w[0]==="..",_=this.emit(h,"value"),[D,c]=w.slice(1),A=(z)=>{if(z===null)return null;let F=m(z)??z;if(typeof F==="number")return F;if(typeof F==="string"&&/^\d+$/.test(F))return+F;if(Array.isArray(z)&&z[0]==="-"&&z.length===2){let W=m(z[1])??z[1];if(typeof W==="number")return-W;if(typeof W==="string"&&/^\d+$/.test(W))return-W}return null},$=(z,F,W)=>{let Q=A(W);if(Q!==null&&Q!==-1)return`${_}.slice(${z}, ${Q+1})`;return`${_}.slice(${z}, +${F} + 1 || 9e9)`};if(D===null&&c===null)return`${_}.slice()`;if(D===null){if(u&&this.is(c,"-",1)&&(m(c[1])??c[1])==1)return`${_}.slice(0)`;let z=this.emit(c,"value");return u?$("0",z,c):`${_}.slice(0, ${z})`}if(c===null)return`${_}.slice(${this.emit(D,"value")})`;let R=this.emit(D,"value");if(u&&this.is(c,"-",1)&&(m(c[1])??c[1])==1)return`${_}.slice(${R})`;let M=this.emit(c,"value");return u?$(R,M,c):`${_}.slice(${R}, ${M})`}if(this.is(w,"-",1)){let u=m(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(h,"value")}.at(-${u})`}return`${this.emit(h,"value")}[${this.unwrap(this.emit(w,"value"))}]`}emitOptIndex(f,l){let[h,w]=l;if(this.is(w,"-",1)){let u=m(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(h,"value")}?.at(-${u})`}return`${this.emit(h,"value")}?.[${this.emit(w,"value")}]`}emitOptCall(f,l){let[h,...w]=l;return`${this.emit(h,"value")}?.(${w.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,l,h,w){let[u,_,D]=l,c=l1(u,"await")===!0,A=m(u),$=this.emitParamList(_),R=this.emitFunctionBody(D,_,c),M=this.containsAwait(D),z=this.containsYield(D);return`${M?"async ":""}function${z?"*":""} ${A}(${$}) ${R}`}emitThinArrow(f,l,h,w){let[u,_]=l;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(_))u=["it"];let D=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let c=this.emitParamList(u),A=this.emitFunctionBody(_,u,D),$=this.containsAwait(_),R=this.containsYield(_),M=`${$?"async ":""}function${R?"*":""}(${c}) ${A}`;return h==="value"?`(${M})`:M}emitFatArrow(f,l,h,w){let[u,_]=l;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(_))u=["it"];let D=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let c=this.emitParamList(u),$=u.length===1&&typeof u[0]==="string"&&!c.includes("=")&&!c.includes("...")&&!c.includes("[")&&!c.includes("{")?c:`(${c})`,M=this.containsAwait(_)?"async ":"";if(!D){if(this.is(_,"block")&&_.length===2){let F=_[1],W=Array.isArray(F)?F[0]:null;if(W!=="return"&&!T5.has(W)){let Q=this.emit(F,"value");if(Q[0]==="{")Q=`(${Q})`;return`${M}${$} => ${Q}`}}if(!Array.isArray(_)||_[0]!=="block"){let F=this.emit(_,"value");if(F[0]==="{")F=`(${F})`;return`${M}${$} => ${F}`}}let z=this.emitFunctionBody(_,u,D);return`${M}${$} => ${z}`}emitReturn(f,l,h,w){if(l.length===0)return"return";let[u]=l;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",w);if(this.is(u,"if")){let[,_,D,...c]=u;if(c.length===0){let A=Array.isArray(D)&&D.length===1?D[0]:D;return`if (${this.emit(_,"value")}) return ${this.emit(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,_,D]=u[1],c=Array.isArray(D)&&D.length===1?D[0]:D;return`if (${this.emit(_,"value")}) return ${this.emit(["new",c],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,l){let[h,w]=l;this.usesReactivity=!0;let u=m(h)??h;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(w,"value")})`}emitComputed(f,l){let[h,w]=l;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(h)??h;if(this.reactiveVars.add(u),this.is(w,"block")&&w.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(w)})`;return`const ${u} = __computed(() => ${this.emit(w,"value")})`}emitReadonly(f,l){let[h,w]=l;return`const ${m(h)??h} = ${this.emit(w,"value")}`}emitEffect(f,l){let[h,w]=l;this.usesReactivity=!0;let u;if(this.is(w,"block"))u=this.emitFunctionBody(w);else if(this.is(w,"->")||this.is(w,"=>")){let D=this.emit(w,"value");if(h)return`const ${m(h)??this.emit(h,"value")} = __effect(${D})`;return`__effect(${D})`}else u=`{ ${this.emit(w,"value")}; }`;let _=`__effect(() => ${u})`;if(h)return`const ${m(h)??this.emit(h,"value")} = ${_}`;return _}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,l){return`(${this.emit(l[0],"value")} != null)`}emitPresence(f,l){return`(${this.emit(l[0],"value")} ? true : undefined)`}emitTernary(f,l,h){let[w,u,_]=l;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let c=this.emit(u[1],"value"),A=this.emit(u[2],"value"),$=this.emit(_,"value");return`${c} = (${this.unwrap(this.emit(w,"value"))} ? ${A} : ${$})`}return`(${this.unwrap(this.emit(w,"value"))} ? ${this.emit(u,"value")} : ${this.emit(_,"value")})`}emitPipe(f,l){let[h,w]=l,u=this.emit(h,"value");if(Array.isArray(w)&&w.length>1){let _=w[0];if(Array.isArray(_)||typeof _==="string"&&/^[a-zA-Z_$]/.test(_)){let c=this.emit(_,"value"),A=w.slice(1).map(($)=>this.emit($,"value"));return`${c}(${u}, ${A.join(", ")})`}}return`${this.emit(w,"value")}(${u})`}emitLoop(f,l){return`while (true) ${this.emitLoopBody(l[0])}`}emitLoopN(f,l){let[h,w]=l;return`for (let it = 0; it < ${this.emit(h,"value")}; it++) ${this.emitLoopBody(w)}`}emitAwait(f,l){return`await ${this.emit(l[0],"value")}`}emitYield(f,l){return l.length===0?"yield":`yield ${this.emit(l[0],"value")}`}emitYieldFrom(f,l){return`yield* ${this.emit(l[0],"value")}`}emitIf(f,l,h,w){let[u,_,...D]=l;return h==="value"?this.emitIfAsExpression(u,_,D):this.emitIfAsStatement(u,_,D)}emitForIn(f,l,h,w){let[u,_,D,c,A]=l;if(h==="value"&&this.comprehensionDepth===0){let i=["for-in",u,_,D];return this.emit(["comprehension",A,[i],c?[c]:[]],h)}let $=Array.isArray(u)?u:[u],R=$.length===0,[M,z]=R?["_i",null]:$,F=this.is(M,"array")||this.is(M,"object")?this.emitDestructuringPattern(M):M;if(D&&D!==null){let i=this.emit(_,"value"),U=z||"_i",Y=this.emit(D,"value"),H=this.is(D,"-",1),O=H&&(D[1]==="1"||D[1]===1||m(D[1])==="1"),q=!H&&(D==="1"||D===1||m(D)==="1"),n;if(O)n=`for (let ${U} = ${i}.length - 1; ${U} >= 0; ${U}--) `;else if(q)n=`for (let ${U} = 0; ${U} < ${i}.length; ${U}++) `;else if(H)n=`for (let ${U} = ${i}.length - 1; ${U} >= 0; ${U} += ${Y}) `;else n=`for (let ${U} = 0; ${U} < ${i}.length; ${U} += ${Y}) `;if(this.is(A,"block")){let K=A.slice(1);this.indentLevel++;let Z=[];if(!R)Z.push(`let ${F} = ${i}[${U}];`);if(c)Z.push(`if (${this.emit(c,"value")}) {`),this.indentLevel++,Z.push(...this.formatStatements(K)),this.indentLevel--,Z.push(this.indent()+"}");else Z.push(...K.map((G)=>this.addSemicolon(G,this.emit(G,"statement"))));return this.indentLevel--,n+`{
|
|
1243
|
+
${Z.map((G)=>this.indent()+G).join(`
|
|
1245
1244
|
`)}
|
|
1246
|
-
${this.indent()}}`}if(
|
|
1247
|
-
`,this.indentLevel++,U+=this.indent()+`let ${
|
|
1248
|
-
`,
|
|
1249
|
-
`,this.indentLevel++,U+=this.formatStatements(
|
|
1245
|
+
${this.indent()}}`}if(R)return c?n+`{ if (${this.emit(c,"value")}) ${this.emit(A,"statement")}; }`:n+`{ ${this.emit(A,"statement")}; }`;return c?n+`{ let ${F} = ${i}[${U}]; if (${this.emit(c,"value")}) ${this.emit(A,"statement")}; }`:n+`{ let ${F} = ${i}[${U}]; ${this.emit(A,"statement")}; }`}if(z){let i=this.emit(_,"value"),U=`for (let ${z} = 0; ${z} < ${i}.length; ${z}++) `;if(this.is(A,"block")){if(U+=`{
|
|
1246
|
+
`,this.indentLevel++,U+=this.indent()+`let ${F} = ${i}[${z}];
|
|
1247
|
+
`,c)U+=this.indent()+`if (${this.unwrap(this.emit(c,"value"))}) {
|
|
1248
|
+
`,this.indentLevel++,U+=this.formatStatements(A.slice(1)).join(`
|
|
1250
1249
|
`)+`
|
|
1251
1250
|
`,this.indentLevel--,U+=this.indent()+`}
|
|
1252
|
-
`;else U+=this.formatStatements(
|
|
1251
|
+
`;else U+=this.formatStatements(A.slice(1)).join(`
|
|
1253
1252
|
`)+`
|
|
1254
|
-
`;this.indentLevel--,U+=this.indent()+"}"}else U+=
|
|
1255
|
-
${
|
|
1253
|
+
`;this.indentLevel--,U+=this.indent()+"}"}else U+=c?`{ let ${F} = ${i}[${z}]; if (${this.unwrap(this.emit(c,"value"))}) ${this.emit(A,"statement")}; }`:`{ let ${F} = ${i}[${z}]; ${this.emit(A,"statement")}; }`;return U}let W=Array.isArray(_)&&_[0];if(W instanceof String)W=m(W);if(W===".."||W==="..."){let i=W==="...",[U,Y]=_.slice(1),H=(O)=>typeof O==="number"||typeof O==="string"&&!O.includes("(")||O instanceof String&&!m(O).includes("(")||this.is(O,".");if(H(U)&&H(Y)){let O=this.emit(U,"value"),q=this.emit(Y,"value"),n=i?"<":"<=",K=D?`${F} += ${this.emit(D,"value")}`:`${F}++`,Z=`for (let ${F} = ${O}; ${F} ${n} ${q}; ${K}) `;return Z+=c?this.emitLoopBodyWithGuard(A,c):this.emitLoopBody(A),Z}}let Q=`for (let ${F} of ${this.emit(_,"value")}) `;return Q+=c?this.emitLoopBodyWithGuard(A,c):this.emitLoopBody(A),Q}emitForOf(f,l,h,w){let[u,_,D,c,A]=l;if(h==="value"&&this.comprehensionDepth===0){let F=["for-of",u,_,D];return this.emit(["comprehension",A,[F],c?[c]:[]],h)}let[$,R]=Array.isArray(u)?u:[u],M=this.emit(_,"value"),z=`for (let ${$} in ${M}) `;if(D&&!R&&!c){if(this.is(A,"block")){this.indentLevel++;let F=[`if (!Object.hasOwn(${M}, ${$})) continue;`,...A.slice(1).map((W)=>this.addSemicolon(W,this.emit(W,"statement")))];return this.indentLevel--,z+`{
|
|
1254
|
+
${F.map((W)=>this.indent()+W).join(`
|
|
1256
1255
|
`)}
|
|
1257
|
-
${this.indent()}}`}return
|
|
1258
|
-
${
|
|
1256
|
+
${this.indent()}}`}return z+`{ if (!Object.hasOwn(${M}, ${$})) continue; ${this.emit(A,"statement")}; }`}if(R){if(this.is(A,"block")){let W=A.slice(1);this.indentLevel++;let Q=[];if(D)Q.push(`if (!Object.hasOwn(${M}, ${$})) continue;`);if(Q.push(`let ${R} = ${M}[${$}];`),c)Q.push(`if (${this.emit(c,"value")}) {`),this.indentLevel++,Q.push(...W.map((i)=>this.addSemicolon(i,this.emit(i,"statement")))),this.indentLevel--,Q.push(this.indent()+"}");else Q.push(...W.map((i)=>this.addSemicolon(i,this.emit(i,"statement"))));return this.indentLevel--,z+`{
|
|
1257
|
+
${Q.map((i)=>this.indent()+i).join(`
|
|
1259
1258
|
`)}
|
|
1260
|
-
${this.indent()}}`}let
|
|
1259
|
+
${this.indent()}}`}let F="";if(D)F+=`if (!Object.hasOwn(${M}, ${$})) continue; `;if(F+=`let ${R} = ${M}[${$}]; `,c)F+=`if (${this.emit(c,"value")}) `;return F+=`${this.emit(A,"statement")};`,z+`{ ${F} }`}return z+=c?this.emitLoopBodyWithGuard(A,c):this.emitLoopBody(A),z}emitForAs(f,l,h,w){let u=Array.isArray(l[0])?l[0]:[l[0]],[_]=u,D=l[1],c=l[2],A=l[3],$=l[4],R=!1,M=[];if(this.is(_,"array")){let i=_.slice(1),U=i.findIndex((Y)=>this.is(Y,"...")||Y==="...");if(U!==-1&&U<i.length-1){R=!0;let Y=i.slice(U+1),H=Y.length,O=i.slice(0,U),q=i[U],n=this.is(q,"...")?q[1]:"_rest",K=O.map((J)=>J===","?"":typeof J==="string"?J:this.emit(J,"value")).join(", "),Z=K?`${K}, ...${n}`:`...${n}`,G=Y.map((J)=>J===","?"":typeof J==="string"?J:this.emit(J,"value")).join(", ");M.push(`[${Z}] = _item`),M.push(`[${G}] = ${n}.splice(-${H})`),this.helpers.add("slice"),i.forEach((J)=>{if(J===","||J==="...")return;if(typeof J==="string")this.programVars.add(J);else if(this.is(J,"...")&&typeof J[1]==="string")this.programVars.add(J[1])})}}let z=this.emit(D,"value"),F=c?"await ":"",W;if(R)W="_item";else if(this.is(_,"array")||this.is(_,"object"))W=this.emitDestructuringPattern(_);else W=_;let Q=`for ${F}(let ${W} of ${z}) `;if(R&&M.length>0){let i=this.unwrapBlock($),U=this.withIndent(()=>[...M.map((Y)=>this.indent()+Y+";"),...this.formatStatements(i)]);Q+=`{
|
|
1261
1260
|
${U.join(`
|
|
1262
1261
|
`)}
|
|
1263
|
-
${this.indent()}}`}else
|
|
1262
|
+
${this.indent()}}`}else Q+=A?this.emitLoopBodyWithGuard($,A):this.emitLoopBody($);return Q}emitWhile(f,l){let h=l[0],w=l.length===3?l[1]:null,u=l[l.length-1];return`while (${this.unwrap(this.emit(h,"value"))}) `+(w?this.emitLoopBodyWithGuard(u,w):this.emitLoopBody(u))}emitRange(f,l){if(f==="..."){if(l.length===1)return`...${this.emit(l[0],"value")}`;let[D,c]=l,A=this.emit(D,"value"),$=this.emit(c,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${$})`}let[h,w]=l,u=this.emit(h,"value"),_=this.emit(w,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${_})`}emitNot(f,l){let[h]=l;if(typeof h==="string"||h instanceof String)return`!${this.emit(h,"value")}`;if(Array.isArray(h)){if([".","?.","[]","optindex","optcall"].includes(h[0]))return`!${this.emit(h,"value")}`}let w=this.emit(h,"value");return w.startsWith("(")?`!${w}`:`(!${w})`}emitBitwiseNot(f,l){return`(~${this.emit(l[0],"value")})`}emitIncDec(f,l){let[h,w]=l,u=this.emit(h,"value");return w?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,l){return`typeof ${this.emit(l[0],"value")}`}emitDelete(f,l){return`(delete ${this.emit(l[0],"value")})`}emitInstanceof(f,l,h,w){let[u,_]=l,D=l1(w[0],"invert"),c=`(${this.emit(u,"value")} instanceof ${this.emit(_,"value")})`;return D?`(!${c})`:c}emitIn(f,l,h,w){let[u,_]=l,D=this.emit(u,"value"),c=l1(w[0],"invert");if(this.is(_,"object")){let R=`(${D} in ${this.emit(_,"value")})`;return c?`(!${R})`:R}let A=this.emit(_,"value"),$=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${D}) : (${D} in ${A}))`;return c?`(!${$})`:$}emitOf(f,l,h,w){let[u,_]=l,D=this.emit(u,"value"),c=this.emit(_,"value"),A=l1(w[0],"invert"),$=`(${D} in ${c})`;return A?`(!${$})`:$}emitRegexMatch(f,l){let[h,w]=l;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(w,"value"),_=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(h,"value")}${_}).match(${u}))`}emitNew(f,l){let[h]=l;if(this.is(h,".")||this.is(h,"?.")){let[w,u,_]=h;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${_}`;return`new ${this.emit(u,"value")}.${_}`}if(Array.isArray(h)){let[w,...u]=h;return`new ${this.emit(w,"value")}(${u.map((_)=>this.unwrap(this.emit(_,"value"))).join(", ")})`}return`new ${this.emit(h,"value")}()`}emitLogicalAnd(f,l,h,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map((_)=>this.emit(_,"value")).join(" && ")})`}emitLogicalOr(f,l,h,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map((_)=>this.emit(_,"value")).join(" || ")})`}emitSymbol(f,l){return`Symbol.for(${JSON.stringify(l[0])})`}emitArray(f,l){let h=l.length>0&&l[l.length-1]===",",w=l.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 h?`[${w},]`:`[${w}]`}emitObject(f,l,h){if(l.length===1&&Array.isArray(l[0])&&Array.isArray(l[0][2])&&l[0][2][0]==="comprehension"){let[,u,_]=l[0],[,D,c,A]=_;return this.emit(["object-comprehension",u,D,c,A],h)}return`{${l.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[_,D,c]=u,A;if(this.is(D,"dynamicKey"))A=`[${this.emit(D[1],"value")}]`;else if(this.is(D,"str"))A=`[${this.emit(D,"value")}]`;else this.suppressReactiveUnwrap=!0,A=this.emit(D,"value"),this.suppressReactiveUnwrap=!1;let $=this.emit(c,"value");if(_==="=")return`${A} = ${$}`;if(_===":")return`${A}: ${$}`;if(A===$&&!Array.isArray(D))return A;return`${A}: ${$}`}).join(", ")}}`}emitMap(f,l,h){if(l.length===0)return"new Map()";return`new Map([${l.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,_,D]=u,c;if(Array.isArray(_))c=this.emit(_,"value");else{let $=m(_)??_;c=!$.startsWith('"')&&!$.startsWith("'")&&!$.startsWith("/")&&!w1.NUMBER_START_RE.test($)&&!C5.has($)?`"${$}"`:this.emit(_,"value")}let A=this.emit(D,"value");return`[${c}, ${A}]`}).join(", ")}])`}emitBlock(f,l,h){if(h==="statement")return`{
|
|
1264
1263
|
${this.withIndent(()=>this.formatStatements(l)).join(`
|
|
1265
1264
|
`)}
|
|
1266
|
-
${this.indent()}}`;if(l.length===0)return"undefined";if(l.length===1)return this.emit(l[0],
|
|
1267
|
-
${this.withIndent(()=>_.map((
|
|
1265
|
+
${this.indent()}}`;if(l.length===0)return"undefined";if(l.length===1)return this.emit(l[0],h);let w=l[l.length-1];if(Array.isArray(w)&&["break","continue","return","throw"].includes(w[0])){let _=l.map((D)=>this.addSemicolon(D,this.emit(D,"statement")));return`{
|
|
1266
|
+
${this.withIndent(()=>_.map((D)=>this.indent()+D).join(`
|
|
1268
1267
|
`))}
|
|
1269
|
-
${this.indent()}}`}return`(${l.map((_)=>this.emit(_,"value")).join(", ")})`}emitTry(f,l,
|
|
1270
|
-
${this.indent()} ${
|
|
1271
|
-
${this.indent()}}`}}let u=`throw ${this.emit(
|
|
1272
|
-
`;this.indentLevel++;for(let
|
|
1273
|
-
`}this.indentLevel++,
|
|
1274
|
-
`,this.indentLevel++,
|
|
1275
|
-
`;this.indentLevel++,this.comprehensionDepth++,
|
|
1276
|
-
`;for(let
|
|
1277
|
-
`,this.indentLevel++,
|
|
1278
|
-
`}else if(
|
|
1279
|
-
`,this.indentLevel++,
|
|
1280
|
-
`;if(U)
|
|
1281
|
-
`}else if(
|
|
1282
|
-
`,this.indentLevel++}}for(let
|
|
1283
|
-
`,this.indentLevel++;let
|
|
1284
|
-
`;else if(Array.isArray(
|
|
1285
|
-
`;else
|
|
1286
|
-
`}else if(
|
|
1287
|
-
`;else if(Array.isArray(
|
|
1288
|
-
`;else
|
|
1289
|
-
`;for(let
|
|
1290
|
-
`;for(let
|
|
1291
|
-
`;return
|
|
1292
|
-
`,this.indentLevel--,this.comprehensionDepth--,
|
|
1293
|
-
`;this.indentLevel++,
|
|
1294
|
-
`;for(let
|
|
1295
|
-
`,this.indentLevel++,
|
|
1296
|
-
`;if(
|
|
1297
|
-
`}}for(let
|
|
1298
|
-
`,this.indentLevel++;
|
|
1299
|
-
`;for(let
|
|
1300
|
-
`;for(let
|
|
1301
|
-
`;return
|
|
1302
|
-
`,this.indentLevel--,
|
|
1303
|
-
`,_.length>0&&Array.isArray(_[0])){let
|
|
1304
|
-
`;else
|
|
1305
|
-
`}else
|
|
1306
|
-
`;this.indentLevel--}else{this.indentLevel++;for(let
|
|
1307
|
-
`;else
|
|
1308
|
-
`;this.indentLevel--}}}return
|
|
1309
|
-
`}else if(
|
|
1310
|
-
`;else
|
|
1311
|
-
`}return
|
|
1312
|
-
export default ${
|
|
1313
|
-
`;if(
|
|
1314
|
-
`;let U=u.length>0&&
|
|
1315
|
-
`;return}if(!_&&!
|
|
1316
|
-
`;return}}if(!_&&!
|
|
1317
|
-
`;return}}}if(!_&&!
|
|
1318
|
-
`;return}if(!(
|
|
1319
|
-
`;return}
|
|
1320
|
-
`,this.comprehensionTarget="_result";let
|
|
1321
|
-
`;return}let
|
|
1322
|
-
`;else
|
|
1323
|
-
`})};if(U){if(
|
|
1324
|
-
`;else
|
|
1325
|
-
`;for(let
|
|
1326
|
-
`;
|
|
1327
|
-
`;
|
|
1328
|
-
`}return this.indentLevel--,
|
|
1329
|
-
${this.withIndent(()=>l.map((
|
|
1268
|
+
${this.indent()}}`}return`(${l.map((_)=>this.emit(_,"value")).join(", ")})`}emitTry(f,l,h){let w=h==="value",u="try ",_=l[0];if(u+=w&&this.is(_,"block")?this.emitBlockWithReturns(_):this.emit(_,"statement"),l.length>=2&&Array.isArray(l[1])&&l[1].length===2&&l[1][0]!=="block"){let[D,c]=l[1];if(u+=" catch",D&&(this.is(D,"object")||this.is(D,"array"))){u+=" (error)";let A=`(${this.emit(D,"value")} = error)`;c=this.is(c,"block")?["block",A,...c.slice(1)]:["block",A,c]}else if(D)u+=` (${D})`;u+=" "+(w&&this.is(c,"block")?this.emitBlockWithReturns(c):this.emit(c,"statement"))}else if(l.length===2)u+=" finally "+this.emit(l[1],"statement");if(l.length===3)u+=" finally "+this.emit(l[2],"statement");if(l.length===1)u+=" catch {}";if(w){let D=this.containsAwait(l[0])||l[1]&&this.containsAwait(l[1])||l[2]&&this.containsAwait(l[2]);return this.asyncIIFE(D,u)}return u}emitThrow(f,l,h){let[w]=l;if(Array.isArray(w)){let _=w,D=null;if(w[0]==="new"&&Array.isArray(w[1])&&w[1][0]==="if")D="new",_=w[1];else if(w[0]==="if")_=w;if(_[0]==="if"){let[,c,A]=_,$=Array.isArray(A)&&A.length===1?A[0]:A;w=D==="new"?["new",$]:$;let R=this.emit(c,"value"),M=`throw ${this.emit(w,"value")}`;return`if (${R}) {
|
|
1269
|
+
${this.indent()} ${M};
|
|
1270
|
+
${this.indent()}}`}}let u=`throw ${this.emit(w,"value")}`;return h==="value"?`(() => { ${u}; })()`:u}emitControl(f,l,h){let[w,u,_]=l,D=m(w),c=_[0]==="return",A=this.emit(u,"value"),$=_.length>1?_[1]:null,R=c?$?`return ${this.emit($,"value")}`:"return":$?`throw ${this.emit($,"value")}`:"throw new Error()",M=this.wrapForCondition(A);if(h==="value"){if(D==="??")return`(() => { const __v = ${A}; if (__v == null) ${R}; return __v; })()`;if(D==="||")return`(() => { const __v = ${A}; if (!__v) ${R}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${R}; return __v; })()`}if(D==="??")return`if (${M} == null) ${R}`;if(D==="||")return`if (!${M}) ${R}`;return`if (${M}) ${R}`}emitSwitch(f,l,h){let[w,u,_]=l;if(w===null)return this.emitSwitchAsIfChain(u,_,h);let D=`switch (${this.emit(w,"value")}) {
|
|
1271
|
+
`;this.indentLevel++;for(let c of u){let[,A,$]=c;for(let R of A){let M=m(R)??R,z;if(Array.isArray(M))z=this.emit(M,"value");else if(typeof M==="string"&&(M.startsWith('"')||M.startsWith("'")))z=`'${M.slice(1,-1)}'`;else z=this.emit(M,"value");D+=this.indent()+`case ${z}:
|
|
1272
|
+
`}this.indentLevel++,D+=this.emitSwitchCaseBody($,h),this.indentLevel--}if(_)D+=this.indent()+`default:
|
|
1273
|
+
`,this.indentLevel++,D+=this.emitSwitchCaseBody(_,h),this.indentLevel--;if(this.indentLevel--,D+=this.indent()+"}",h==="value"){let c=this.containsAwait(w)||u.some((A)=>this.containsAwait(A[1])||this.containsAwait(A[2]))||_&&this.containsAwait(_);return this.asyncIIFE(c,D)}return D}emitWhen(f,l,h,w){this.error("when clause should be handled by switch",w)}_forInHeader(f,l,h){let w=Array.isArray(f)?f:[f],u=w.length===0,[_,D]=u?["_i",null]:w,c=this.is(_,"array")||this.is(_,"object")?this.emitDestructuringPattern(_):_;if(h&&h!==null){let A=Array.isArray(l)&&l[0];if(A instanceof String)A=m(A);if(A===".."||A==="..."){let Y=A==="...",[H,O]=l.slice(1),q=this.emit(H,"value"),n=this.emit(O,"value"),K=this.emit(h,"value");return{header:`for (let ${c} = ${q}; ${c} ${Y?"<":"<="} ${n}; ${c} += ${K})`,setup:null}}let R=this.emit(l,"value"),M=D||"_i",z=this.emit(h,"value"),F=this.is(h,"-",1),W=F&&(h[1]==="1"||h[1]===1||m(h[1])==="1"),Q=!F&&(h==="1"||h===1||m(h)==="1"),i=W?`${M}--`:Q?`${M}++`:`${M} += ${z}`;return{header:F?`for (let ${M} = ${R}.length - 1; ${M} >= 0; ${i})`:`for (let ${M} = 0; ${M} < ${R}.length; ${i})`,setup:u?null:`let ${c} = ${R}[${M}];`}}if(D){let A=this.emit(l,"value");return{header:`for (let ${D} = 0; ${D} < ${A}.length; ${D}++)`,setup:`let ${c} = ${A}[${D}];`}}return{header:`for (let ${c} of ${this.emit(l,"value")})`,setup:null}}_forOfHeader(f,l,h){let w=Array.isArray(f)?f:[f],[u,_]=w,D=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,c=this.emit(l,"value");return{header:`for (let ${D} in ${c})`,own:h,vv:_,oc:c,kvp:D}}_forAsHeader(f,l,h){let w=Array.isArray(f)?f:[f],[u]=w,_=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${h?"await ":""}(let ${_} of ${this.emit(l,"value")})`}}emitComprehension(f,l,h){let[w,u,_]=l;if(h==="statement")return this.emitComprehensionAsLoop(w,u,_);if(this.comprehensionTarget){let R=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(w,u,_,R)}finally{this.comprehensionTarget=R}}let D=this.containsAwait(w)||u.some((R)=>this.containsAwait(R))||_.some((R)=>this.containsAwait(R)),c=this.asyncIIFEOpen(D)+`
|
|
1274
|
+
`;this.indentLevel++,this.comprehensionDepth++,c+=this.indent()+`const result = [];
|
|
1275
|
+
`;for(let R of u){let[M,z,F,W]=R;if(M==="for-in"){let{header:Q,setup:i}=this._forInHeader(z,F,W);if(c+=this.indent()+Q+` {
|
|
1276
|
+
`,this.indentLevel++,i)c+=this.indent()+i+`
|
|
1277
|
+
`}else if(M==="for-of"){let{header:Q,own:i,vv:U,oc:Y,kvp:H}=this._forOfHeader(z,F,W);if(c+=this.indent()+Q+` {
|
|
1278
|
+
`,this.indentLevel++,i)c+=this.indent()+`if (!Object.hasOwn(${Y}, ${H})) continue;
|
|
1279
|
+
`;if(U)c+=this.indent()+`let ${U} = ${Y}[${H}];
|
|
1280
|
+
`}else if(M==="for-as"){let{header:Q}=this._forAsHeader(z,F,R[3]);c+=this.indent()+Q+` {
|
|
1281
|
+
`,this.indentLevel++}}for(let R of _)c+=this.indent()+`if (${this.emit(R,"value")}) {
|
|
1282
|
+
`,this.indentLevel++;let A=(R)=>{if(typeof R==="string"&&(R==="break"||R==="continue"))return!0;if(!Array.isArray(R))return!1;if(["break","continue","return","throw"].includes(R[0]))return!0;if(R[0]==="if")return R.slice(1).some(A);return R.some(A)},$=["for-in","for-of","for-as","while","loop"];if(this.is(w,"block"))for(let R=0;R<w.length-1;R++){let M=w[R+1];if(R!==w.length-2||A(M))c+=this.indent()+this.emit(M,"statement")+`;
|
|
1283
|
+
`;else if(Array.isArray(M)&&$.includes(M[0]))c+=this.indent()+this.emit(M,"statement")+`;
|
|
1284
|
+
`;else c+=this.indent()+`result.push(${this.emit(M,"value")});
|
|
1285
|
+
`}else if(A(w))c+=this.indent()+this.emit(w,"statement")+`;
|
|
1286
|
+
`;else if(Array.isArray(w)&&$.includes(w[0]))c+=this.indent()+this.emit(w,"statement")+`;
|
|
1287
|
+
`;else c+=this.indent()+`result.push(${this.emit(w,"value")});
|
|
1288
|
+
`;for(let R=0;R<_.length;R++)this.indentLevel--,c+=this.indent()+`}
|
|
1289
|
+
`;for(let R=0;R<u.length;R++)this.indentLevel--,c+=this.indent()+`}
|
|
1290
|
+
`;return c+=this.indent()+`return result;
|
|
1291
|
+
`,this.indentLevel--,this.comprehensionDepth--,c+=this.indent()+"})()",c}emitObjectComprehension(f,l,h){let[w,u,_,D]=l,c=this.containsAwait(w)||this.containsAwait(u)||_.some(($)=>this.containsAwait($))||D.some(($)=>this.containsAwait($)),A=this.asyncIIFEOpen(c)+`
|
|
1292
|
+
`;this.indentLevel++,A+=this.indent()+`const result = {};
|
|
1293
|
+
`;for(let $ of _){let[R,M,z,F]=$;if(R==="for-of"){let[W,Q]=M,i=this.emit(z,"value");if(A+=this.indent()+`for (let ${W} in ${i}) {
|
|
1294
|
+
`,this.indentLevel++,F)A+=this.indent()+`if (!Object.hasOwn(${i}, ${W})) continue;
|
|
1295
|
+
`;if(Q)A+=this.indent()+`let ${Q} = ${i}[${W}];
|
|
1296
|
+
`}}for(let $ of D)A+=this.indent()+`if (${this.emit($,"value")}) {
|
|
1297
|
+
`,this.indentLevel++;A+=this.indent()+`result[${this.emit(w,"value")}] = ${this.emit(u,"value")};
|
|
1298
|
+
`;for(let $=0;$<D.length;$++)this.indentLevel--,A+=this.indent()+`}
|
|
1299
|
+
`;for(let $=0;$<_.length;$++)this.indentLevel--,A+=this.indent()+`}
|
|
1300
|
+
`;return A+=this.indent()+`return result;
|
|
1301
|
+
`,this.indentLevel--,A+=this.indent()+"})()",A}emitClass(f,l,h){let[w,u,..._]=l,D=w?`class ${w}`:"class";if(u)D+=` extends ${this.emit(u,"value")}`;if(D+=` {
|
|
1302
|
+
`,_.length>0&&Array.isArray(_[0])){let c=_[0];if(c[0]==="block"){let A=c.slice(1);if(A.length>0&&Array.isArray(A[0])&&A[0][0]==="object"){let R=A[0].slice(1);this.indentLevel++,D+=this._emitClassMembers(R,u);for(let M of A.slice(1))if(this.is(M,"class")){let[,z,F,...W]=M;if(this.is(z,".")&&z[1]==="this")D+=this.indent()+`static ${z[2]} = ${this.emit(["class",null,F,...W],"value")};
|
|
1303
|
+
`;else D+=this.indent()+this.emit(M,"statement")+`;
|
|
1304
|
+
`}else D+=this.indent()+this.emit(M,"statement")+`;
|
|
1305
|
+
`;this.indentLevel--}else{this.indentLevel++;for(let R of A)if(this.is(R,"=")&&Array.isArray(R[1])&&R[1][0]==="."&&R[1][1]==="this")D+=this.indent()+`static ${R[1][2]} = ${this.emit(R[2],"value")};
|
|
1306
|
+
`;else D+=this.indent()+this.emit(R,"statement")+`;
|
|
1307
|
+
`;this.indentLevel--}}}return D+=this.indent()+"}",D}_emitClassMembers(f,l){let h="",w=[];for(let[,u,_]of f){let D=this.is(u,".")&&u[1]==="this",c=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is(_,"=>")&&!D&&!c&&A!=="constructor")w.push(A)}for(let[,u,_]of f){let D=this.is(u,".")&&u[1]==="this",c=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is(_,"->")||this.is(_,"=>")){let[,$,R]=_,M=this.containsAwait(R),z=this.containsYield(R),F=$,W=[];if(A==="constructor"){let U=!!l,Y=U?new Map:null;F=$.map((H)=>{if(this.is(H,".")&&H[1]==="this"){let O=H[2],q=U?`_${O}`:O;if(W.push(`this.${O} = ${q}`),U)Y.set(O,q);return q}if(this.is(H,"default")&&this.is(H[1],".")&&H[1][1]==="this"){let O=H[1][2],q=U?`_${O}`:O;if(W.push(`this.${O} = ${q}`),U)Y.set(O,q);return["default",q,H[2]]}return H});for(let H of w)W.unshift(`this.${H} = this.${H}.bind(this)`);if(Y?.size>0)this._atParamMap=Y}let Q=this.emitParamList(F),i=(D?"static ":"")+(M?"async ":"")+(z?"*":"");if(h+=this.indent()+`${i}${A}(${Q}) `,!c)this.currentMethodName=A;h+=this.emitMethodBody(R,W,A==="constructor",F),this._atParamMap=null,this.currentMethodName=null,h+=`
|
|
1308
|
+
`}else if(D)h+=this.indent()+`static ${A} = ${this.emit(_,"value")};
|
|
1309
|
+
`;else h+=this.indent()+`${A} = ${this.emit(_,"value")};
|
|
1310
|
+
`}return h}emitSuper(f,l){if(l.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let h=l.map((w)=>this.unwrap(this.emit(w,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${h})`;return`super(${h})`}emitImport(f,l,h,w){if(l.length===1){let c=`import(${this.emit(l[0],"value")})`;if(l1(w[0],"await")===!0)return`(await ${c})`;return c}if(this.options.skipImports)return"";if(l.length===3){let[c,A,$]=l,R=this.addJsExtensionAndAssertions($);if(A[0]==="*"&&A.length===2)return`import ${c}, * as ${A[1]} from ${R}`;let M=A.map((z)=>Array.isArray(z)&&z.length===2?`${z[0]} as ${z[1]}`:z).join(", ");return`import ${c}, { ${M} } from ${R}`}let[u,_]=l,D=this.addJsExtensionAndAssertions(_);if(typeof u==="string")return`import ${u} from ${D}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${D}`;return`import { ${u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ")} } from ${D}`}return`import ${this.emit(u,"value")} from ${D}`}emitExport(f,l){let[h]=l;if(this.options.skipExports){if(this.is(h,"=")){let w=this._componentName,u=this._componentTypeParams,_=this._schemaName;if(this.is(h[2],"component"))this._componentName=m(h[1]),this._componentTypeParams=h[1]?.typeParams||"";if(this.is(h[2],"schema"))this._schemaName=m(h[1]);let D=`const ${h[1]} = ${this.emit(h[2],"value")}`;return this._componentName=w,this._componentTypeParams=u,this._schemaName=_,D}if(Array.isArray(h)&&h.every((w)=>typeof w==="string"))return"";return this.emit(h,"statement")}if(this.is(h,"=")){let w=this._componentName,u=this._componentTypeParams,_=this._schemaName;if(this.is(h[2],"component"))this._componentName=m(h[1]),this._componentTypeParams=h[1]?.typeParams||"";if(this.is(h[2],"schema"))this._schemaName=m(h[1]);let D=`export const ${h[1]} = ${this.emit(h[2],"value")}`;return this._componentName=w,this._componentTypeParams=u,this._schemaName=_,D}if(Array.isArray(h)&&h.every((w)=>typeof w==="string"))return`export { ${h.join(", ")} }`;return`export ${this.emit(h,"statement")}`}emitExportDefault(f,l){let[h]=l;if(this.options.skipExports){if(this.is(h,"="))return`const ${h[1]} = ${this.emit(h[2],"value")}`;return this.emit(h,"statement")}if(this.is(h,"="))return`const ${h[1]} = ${this.emit(h[2],"value")};
|
|
1311
|
+
export default ${h[1]}`;return`export default ${this.emit(h,"statement")}`}emitExportAll(f,l){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(l[0])}`}emitExportFrom(f,l){if(this.options.skipExports)return"";let[h,w]=l,u=this.addJsExtensionAndAssertions(w);if(Array.isArray(h))return`export { ${h.map((D)=>Array.isArray(D)&&D.length===2?`${D[0]} as ${D[1]}`:D).join(", ")} } from ${u}`;return`export ${h} from ${u}`}emitDoIIFE(f,l){return`(${this.emit(l[0],"statement")})()`}emitRegex(f,l){return l.length===0?f:this.emit(l[0],"value")}emitTaggedTemplate(f,l){let[h,w]=l,u=this.emit(h,"value"),_=this.emit(w,"value");if(_.startsWith("`"))return`${u}${_}`;if(_.startsWith('"')||_.startsWith("'"))return`${u}\`${_.slice(1,-1)}\``;return`${u}\`${_}\``}emitString(f,l){let h="`";for(let w of l)if(w instanceof String)h+=this.extractStringContent(w);else if(typeof w==="string")if(w.startsWith('"')||w.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",w);h+=w.slice(1,-1)}else h+=w;else if(Array.isArray(w))if(w.length===1&&typeof w[0]==="string"&&!Array.isArray(w[0])){let u=w[0];h+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=w.length===1&&Array.isArray(w[0])?w[0]:w;h+="${"+this.emit(u,"value")+"}"}return h+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let l=f[0];if(l==="if"&&f.length===3)return{type:l,condition:f[1],value:f[2]};if(l==="+"||l==="-"||l==="*"||l==="/")for(let h=1;h<f.length;h++){let w=this.findPostfixConditional(f[h]);if(w)return w.parentOp=l,w.operandIndex=h,w.otherOperands=f.slice(1).filter((u,_)=>_!==h-1),w}return null}rebuildWithoutConditional(f){let l=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,l];return l}_tryPostfixCall(f,l,h){if(h!=="statement"||l.length!==1)return null;let w=this.findPostfixConditional(l[0]);if(!w)return null;let u=this.rebuildWithoutConditional(w),_=this.emit(f,"value"),D=this.emit(w.condition,"value"),c=this.emit(u,"value");return`if (${D}) ${_}(${c})`}_emitArgs(f){return f.map((l)=>this.unwrap(this.emit(l,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let l=f.findIndex((w)=>this.is(w,"expansion"));if(l!==-1){let w=f.slice(0,l),u=f.slice(l+1),_=w.map((D)=>this.formatParam(D)).join(", ");return this.expansionAfterParams=u,_?`${_}, ..._rest`:"..._rest"}let h=f.findIndex((w)=>this.is(w,"rest"));if(h!==-1&&h<f.length-1){let w=f.slice(0,h),u=f[h],_=f.slice(h+1),D=w.map((c)=>this.formatParam(c));return this.restMiddleParam={restName:u[1],afterParams:_,beforeCount:w.length},D.length>0?`${D.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((w)=>this.formatParam(w)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${this.formatParam(f[1])} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((h)=>{if(h===",")return"";if(h==="...")return"";if(this.is(h,"..."))return`...${h[1]}`;if(this.is(h,"=")&&typeof h[1]==="string")return`${h[1]} = ${this.emit(h[2],"value")}`;if(typeof h==="string")return h;return this.formatParam(h)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((h)=>{if(this.is(h,"..."))return`...${h[1]}`;if(this.is(h,"default"))return`${h[1]} = ${this.emit(h[2],"value")}`;let[w,u,_]=h;if(w==="=")return`${u} = ${this.emit(_,"value")}`;if(u===_)return u;return`${u}: ${this.formatParam(_)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,l=[],h={}){let{sideEffectOnly:w=!1,autoAssignments:u=[],isConstructor:_=!1,hasExpansionParams:D=!1}=h,c=this.sideEffectOnly;this.sideEffectOnly=w;let A=new Set,$=(Q)=>{if(typeof Q==="string")A.add(Q);else if(Array.isArray(Q)){if(Q[0]==="rest"||Q[0]==="..."){if(typeof Q[1]==="string")A.add(Q[1])}else if(Q[0]==="default"){if(typeof Q[1]==="string")A.add(Q[1])}else if(Q[0]==="array"||Q[0]==="object")this.collectVarsFromArray(Q,A)}};if(Array.isArray(l))l.forEach($);let R=this.collectFunctionVariables(f),M=new Set([...R].filter((Q)=>!this.programVars.has(Q)&&!this.reactiveVars?.has(Q)&&!A.has(Q)&&!this.scopeStack.some((i)=>i.has(Q)))),z=["return","throw","break","continue"],F=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...M,...A])),this.is(f,"block")){let Q=this.unwrapBlock(f);if(D&&this.expansionAfterParams?.length>0)Q=[...this.expansionAfterParams.map((O,q)=>{return`const ${typeof O==="string"?O:JSON.stringify(O)} = _rest[_rest.length - ${this.expansionAfterParams.length-q}]`}),...Q],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:H,afterParams:O}=this.restMiddleParam,q=O.length,n=[];if(O.forEach((K,Z)=>{let G=typeof K==="string"?K:this.is(K,"default")?K[1]:JSON.stringify(K);n.push(`const ${G} = ${H}[${H}.length - ${q-Z}]`)}),q>0)n.push(`${H} = ${H}.slice(0, -${q})`);Q=[...n,...Q],this.restMiddleParam=null}this.indentLevel++;let i=`{
|
|
1312
|
+
`;if(M.size>0)i+=this.indent()+`let ${Array.from(M).sort().join(", ")};
|
|
1313
|
+
`;let U=u.length>0&&Q.length>0&&Array.isArray(Q[0])&&Q[0][0]==="super",Y=(H)=>{H.forEach((O,q)=>{let n=q===H.length-1,K=Array.isArray(O)?O[0]:null;if(!n&&K==="comprehension"){let[,N,g,L]=O;i+=this.indent()+this.emitComprehensionAsLoop(N,g,L)+`
|
|
1314
|
+
`;return}if(!_&&!w&&n&&K==="if"){let[N,g,...L]=O.slice(1),T=(_1)=>this.is(_1,"block")&&_1.length>2;if(this.hasStatementInBranch(g)||L.some((_1)=>this.hasStatementInBranch(_1))||T(g)||L.some(T)){i+=this.emitIfElseWithEarlyReturns(O)+`
|
|
1315
|
+
`;return}}if(!_&&!w&&n&&K==="="){let[N,g]=O.slice(1);if(typeof N==="string"&&Array.isArray(g)){let L=g[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=N,i+=this.emit(g,"value"),this.comprehensionTarget=null,i+=this.indent()+`return ${N};
|
|
1316
|
+
`;return}}}if(!_&&!w&&n&&F.includes(K)){if(this.containsYield(O)){i+=this.indent()+this.addSemicolon(O,this.emit(O,"statement"))+`
|
|
1317
|
+
`;return}if(!(K==="for-in"||K==="for-of"||K==="for-as")){i+=this.indent()+this.addSemicolon(O,this.emit(O,"statement"))+`
|
|
1318
|
+
`;return}i+=this.indent()+`const _result = [];
|
|
1319
|
+
`,this.comprehensionTarget="_result";let g=this._skipCompTargetInit;this._skipCompTargetInit=!0,i+=this.emit(O,"value"),this._skipCompTargetInit=g,this.comprehensionTarget=null,i+=this.indent()+`return _result;
|
|
1320
|
+
`;return}let Z=!_&&!w&&n&&!z.includes(K)&&!this.hasExplicitControlFlow(O),G=Z?"value":"statement",J=this.emit(O,G);if(Z)i+=this.indent()+"return "+J+`;
|
|
1321
|
+
`;else i+=this.indent()+this.addSemicolon(O,J)+`
|
|
1322
|
+
`})};if(U){if(Q.length===1&&!_)i+=this.indent()+"return "+this.emit(Q[0],"value")+`;
|
|
1323
|
+
`;else i+=this.indent()+this.emit(Q[0],"statement")+`;
|
|
1324
|
+
`;for(let O of u)i+=this.indent()+O+`;
|
|
1325
|
+
`;Y(Q.slice(1))}else{for(let H of u)i+=this.indent()+H+`;
|
|
1326
|
+
`;Y(Q)}if(w&&Q.length>0){let H=Array.isArray(Q[Q.length-1])?Q[Q.length-1][0]:null;if(!z.includes(H))i+=this.indent()+`return;
|
|
1327
|
+
`}return this.indentLevel--,i+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=c,i}this.sideEffectOnly=c;let W;if(_&&u.length>0){let Q=Array.isArray(f)&&f[0]==="super",i=this.emit(f,"statement"),U=u.map((Y)=>`${Y};`).join(" ");W=Q?`{ ${i}; ${U} }`:`{ ${U} ${i}; }`}else if(_||this.hasExplicitControlFlow(f))W=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(z.includes(f[0])||F.includes(f[0])))W=`{ ${this.emit(f,"statement")}; }`;else if(w)W=`{ ${this.emit(f,"statement")}; return; }`;else W=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),W}emitFunctionBody(f,l=[],h=!1){return this.emitBodyWithReturns(f,l,{sideEffectOnly:h,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,l=[],h=!1,w=[]){return this.emitBodyWithReturns(f,w,{autoAssignments:l,isConstructor:h})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let l=this.unwrapBlock(f);return`{
|
|
1328
|
+
${this.withIndent(()=>l.map((w,u)=>{let _=u===l.length-1,D=Array.isArray(w)?w[0]:null,c=_&&!["return","throw","break","continue"].includes(D),A=this.emit(w,c?"value":"statement");return c?this.indent()+"return "+A+";":this.indent()+A+";"})).join(`
|
|
1330
1329
|
`)}
|
|
1331
1330
|
${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let l=f[0]==="block"?f.slice(1):f;return`{
|
|
1332
|
-
${this.withIndent(()=>l.map((
|
|
1331
|
+
${this.withIndent(()=>l.map((w)=>{if(this.is(w,"comprehension")){let[,u,_,D]=w;return this.indent()+this.emitComprehensionAsLoop(u,_,D)}return this.indent()+this.addSemicolon(w,this.emit(w,"statement"))})).join(`
|
|
1333
1332
|
`)}
|
|
1334
|
-
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,l){let
|
|
1335
|
-
`,
|
|
1336
|
-
${u}${_}${
|
|
1333
|
+
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,l){let h=this.unwrap(this.emit(l,"value"));if(!Array.isArray(f))return`{ if (${h}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let w=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),_=`if (${h}) {
|
|
1334
|
+
`,D=this.withIndent(()=>{this.indentLevel++;let A=this.formatStatements(w);return this.indentLevel--,A}),c=this.withIndent(()=>this.indent()+"}");return`{
|
|
1335
|
+
${u}${_}${D.join(`
|
|
1337
1336
|
`)}
|
|
1338
|
-
${
|
|
1339
|
-
${this.indent()}}`}return`{ if (${this.emit(l,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,l,
|
|
1340
|
-
`;let _=(
|
|
1341
|
-
`;else u+=this.indent()+`${
|
|
1337
|
+
${c}
|
|
1338
|
+
${this.indent()}}`}return`{ if (${this.emit(l,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,l,h,w){let u="";if(!this._skipCompTargetInit)u+=this.indent()+`${w} = [];
|
|
1339
|
+
`;let _=(c)=>{if(typeof c==="string"&&(c==="break"||c==="continue"))return!0;if(!Array.isArray(c))return!1;if(["break","continue","return","throw"].includes(c[0]))return!0;if(c[0]==="if")return c.slice(1).some(_);return c.some(_)},D=()=>{let c=["for-in","for-of","for-as","while","loop"];if(this.is(f,"block"))for(let A=0;A<f.length-1;A++){let $=f[A+1];if(A!==f.length-2||_($)||Array.isArray($)&&c.includes($[0]))u+=this.indent()+this.emit($,"statement")+`;
|
|
1340
|
+
`;else u+=this.indent()+`${w}.push(${this.emit($,"value")});
|
|
1342
1341
|
`}else if(_(f))u+=this.indent()+this.emit(f,"statement")+`;
|
|
1343
|
-
`;else u+=this.indent()+`${
|
|
1344
|
-
`};if(l.length===1){let[
|
|
1345
|
-
`,this.indentLevel++,
|
|
1346
|
-
`;if(
|
|
1347
|
-
`,this.indentLevel++;if(
|
|
1342
|
+
`;else u+=this.indent()+`${w}.push(${this.emit(f,"value")});
|
|
1343
|
+
`};if(l.length===1){let[c,A,$,R]=l[0];if(c==="for-in"){let{header:M,setup:z}=this._forInHeader(A,$,R);if(u+=this.indent()+M+` {
|
|
1344
|
+
`,this.indentLevel++,z)u+=this.indent()+z+`
|
|
1345
|
+
`;if(h?.length>0)u+=this.indent()+`if (${h.map((F)=>this.emit(F,"value")).join(" && ")}) {
|
|
1346
|
+
`,this.indentLevel++;if(D(),h?.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1348
1347
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1349
|
-
`,u}if(
|
|
1350
|
-
`,this.indentLevel++,
|
|
1351
|
-
`;if(
|
|
1352
|
-
`;if(
|
|
1353
|
-
`,this.indentLevel++;if(
|
|
1348
|
+
`,u}if(c==="for-of"){let{header:M,own:z,vv:F,oc:W,kvp:Q}=this._forOfHeader(A,$,R);if(u+=this.indent()+M+` {
|
|
1349
|
+
`,this.indentLevel++,z)u+=this.indent()+`if (!Object.hasOwn(${W}, ${Q})) continue;
|
|
1350
|
+
`;if(F)u+=this.indent()+`let ${F} = ${W}[${Q}];
|
|
1351
|
+
`;if(h?.length>0)u+=this.indent()+`if (${h.map((i)=>this.emit(i,"value")).join(" && ")}) {
|
|
1352
|
+
`,this.indentLevel++;if(D(),h?.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1354
1353
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1355
|
-
`,u}if(
|
|
1356
|
-
`,this.indentLevel++,
|
|
1357
|
-
`,this.indentLevel++;if(
|
|
1354
|
+
`,u}if(c==="for-as"){let{header:M}=this._forAsHeader(A,$,R);if(u+=this.indent()+M+` {
|
|
1355
|
+
`,this.indentLevel++,h?.length>0)u+=this.indent()+`if (${h.map((z)=>this.emit(z,"value")).join(" && ")}) {
|
|
1356
|
+
`,this.indentLevel++;if(D(),h?.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
1358
1357
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
1359
|
-
`,u}}return u="",u+=this.indent()+`${
|
|
1360
|
-
`,u}emitComprehensionAsLoop(f,l,
|
|
1361
|
-
`,this.indentLevel++,
|
|
1362
|
-
`,this.indentLevel--,
|
|
1358
|
+
`,u}}return u="",u+=this.indent()+`${w} = ${this.emit(["comprehension",f,l,h||[]],"value")};
|
|
1359
|
+
`,u}emitComprehensionAsLoop(f,l,h){let w="",u=h?.length?h.map((D)=>this.emit(D,"value")).join(" && "):null,_=()=>{if(u)w+=this.indent()+`if (${u}) {
|
|
1360
|
+
`,this.indentLevel++,w+=this.indent()+this.emit(f,"statement")+`;
|
|
1361
|
+
`,this.indentLevel--,w+=this.indent()+`}
|
|
1362
|
+
`;else w+=this.indent()+this.emit(f,"statement")+`;
|
|
1363
|
+
`};if(l.length===1){let[D,c,A,$]=l[0];if(D==="for-in"){let{header:R,setup:M}=this._forInHeader(c,A,$);if(w+=R+` {
|
|
1364
|
+
`,this.indentLevel++,M)w+=this.indent()+M+`
|
|
1365
|
+
`;return _(),this.indentLevel--,w+=this.indent()+"}",w}if(D==="for-as"){let{header:R}=this._forAsHeader(c,A,$);return w+=R+` {
|
|
1366
|
+
`,this.indentLevel++,_(),this.indentLevel--,w+=this.indent()+"}",w}if(D==="for-of"){let{header:R,own:M,vv:z,oc:F,kvp:W}=this._forOfHeader(c,A,$);if(w+=R+` {
|
|
1367
|
+
`,this.indentLevel++,M)w+=this.indent()+`if (!Object.hasOwn(${F}, ${W})) continue;
|
|
1368
|
+
`;if(z)w+=this.indent()+`let ${z} = ${F}[${W}];
|
|
1369
|
+
`;return _(),this.indentLevel--,w+=this.indent()+"}",w}}return this.emit(["comprehension",f,l,h],"value")}emitIfElseWithEarlyReturns(f){let[l,h,w,...u]=f,_="",D=this.emit(h,"value");_+=this.indent()+`if (${D}) {
|
|
1370
|
+
`,_+=this.withIndent(()=>this.emitBranchWithReturn(w)),_+=this.indent()+"}";for(let c of u)if(_+=" else ",this.is(c,"if")){let[,A,$,...R]=c;_+=`if (${this.emit(A,"value")}) {
|
|
1371
|
+
`,_+=this.withIndent(()=>this.emitBranchWithReturn($)),_+=this.indent()+"}";for(let M of R)_+=` else {
|
|
1372
|
+
`,_+=this.withIndent(()=>this.emitBranchWithReturn(M)),_+=this.indent()+"}"}else _+=`{
|
|
1373
|
+
`,_+=this.withIndent(()=>this.emitBranchWithReturn(c)),_+=this.indent()+"}";return _}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let l=this.unwrapBlock(f),h="";for(let w=0;w<l.length;w++){let u=w===l.length-1,_=l[w],D=Array.isArray(_)?_[0]:null;if(u&&!(D==="return"||D==="throw"||D==="break"||D==="continue"))h+=this.indent()+`return ${this.emit(_,"value")};
|
|
1374
|
+
`;else h+=this.indent()+this.emit(_,"statement")+`;
|
|
1375
|
+
`}return h}emitIfAsExpression(f,l,h){if(this.is(l,"block")&&l.length>2||this.hasStatementInBranch(l)||h.some((c)=>this.is(c,"block")&&c.length>2||this.hasStatementInBranch(c)||this.hasNestedMultiStatement(c))){let c=this.containsAwait(f)||this.containsAwait(l)||h.some(($)=>this.containsAwait($)),A=this.asyncIIFEOpen(c)+" ";A+=`if (${this.emit(f,"value")}) `,A+=this.emitBlockWithReturns(l);for(let $ of h)if(A+=" else ",this.is($,"if")){let[R,M,z,...F]=$;A+=`if (${this.emit(M,"value")}) `,A+=this.emitBlockWithReturns(z);for(let W of F)if(A+=" else ",this.is(W,"if")){let[Q,i,U,...Y]=W;A+=`if (${this.emit(i,"value")}) `,A+=this.emitBlockWithReturns(U),h.push(...Y)}else A+=this.emitBlockWithReturns(W)}else A+=this.emitBlockWithReturns($);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(l)),_=this.buildTernaryChain(h),D=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))D=`(${D})`;return`(${D} ? ${u} : ${_})`}emitIfAsStatement(f,l,h){let w=`if (${this.unwrap(this.emit(f,"value"))}) `;w+=this.emit(this.unwrapIfBranch(l),"statement");for(let u of h)w+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return w}emitSwitchCaseBody(f,l){let h="",w=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(w)for(let _ of u)h+=this.indent()+this.emit(_,"statement")+`;
|
|
1376
|
+
`;else if(l==="value")if(this.is(f,"block")&&f.length>2)for(let _=0;_<u.length;_++)if(_===u.length-1)h+=this.indent()+`return ${this.emit(u[_],"value")};
|
|
1377
|
+
`;else h+=this.indent()+this.emit(u[_],"statement")+`;
|
|
1378
|
+
`;else h+=this.indent()+`return ${this.extractExpression(f)};
|
|
1379
|
+
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[_,D,c,...A]=u[0],$=this.extractExpression(this.unwrapIfBranch(c)),R=this.buildTernaryChain(A);h+=this.indent()+`(${this.unwrap(this.emit(D,"value"))} ? ${$} : ${R});
|
|
1380
|
+
`}else if(this.is(f,"block")&&f.length>1)for(let _ of u)h+=this.indent()+this.emit(_,"statement")+`;
|
|
1363
1381
|
`;else h+=this.indent()+this.emit(f,"statement")+`;
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
`;
|
|
1371
|
-
|
|
1372
|
-
`,_+=this.withIndent(()=>this.emitBranchWithReturn(D)),_+=this.indent()+"}";for(let $ of A)_+=` else {
|
|
1373
|
-
`,_+=this.withIndent(()=>this.emitBranchWithReturn($)),_+=this.indent()+"}"}else _+=`{
|
|
1374
|
-
`,_+=this.withIndent(()=>this.emitBranchWithReturn(w)),_+=this.indent()+"}";return _}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let l=this.unwrapBlock(f),c="";for(let h=0;h<l.length;h++){let u=h===l.length-1,_=l[h],i=Array.isArray(_)?_[0]:null;if(u&&!(i==="return"||i==="throw"||i==="break"||i==="continue"))c+=this.indent()+`return ${this.emit(_,"value")};
|
|
1375
|
-
`;else c+=this.indent()+this.emit(_,"statement")+`;
|
|
1376
|
-
`}return c}emitIfAsExpression(f,l,c){if(this.is(l,"block")&&l.length>2||this.hasStatementInBranch(l)||c.some((w)=>this.is(w,"block")&&w.length>2||this.hasStatementInBranch(w)||this.hasNestedMultiStatement(w))){let w=this.containsAwait(f)||this.containsAwait(l)||c.some((D)=>this.containsAwait(D)),n=this.asyncIIFEOpen(w)+" ";n+=`if (${this.emit(f,"value")}) `,n+=this.emitBlockWithReturns(l);for(let D of c)if(n+=" else ",this.is(D,"if")){let[A,$,R,...M]=D;n+=`if (${this.emit($,"value")}) `,n+=this.emitBlockWithReturns(R);for(let F of M)if(n+=" else ",this.is(F,"if")){let[O,z,U,...H]=F;n+=`if (${this.emit(z,"value")}) `,n+=this.emitBlockWithReturns(U),c.push(...H)}else n+=this.emitBlockWithReturns(F)}else n+=this.emitBlockWithReturns(D);return n+" })()"}let u=this.extractExpression(this.unwrapIfBranch(l)),_=this.buildTernaryChain(c),i=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))i=`(${i})`;return`(${i} ? ${u} : ${_})`}emitIfAsStatement(f,l,c){let h=`if (${this.unwrap(this.emit(f,"value"))}) `;h+=this.emit(this.unwrapIfBranch(l),"statement");for(let u of c)h+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return h}emitSwitchCaseBody(f,l){let c="",h=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(h)for(let _ of u)c+=this.indent()+this.emit(_,"statement")+`;
|
|
1377
|
-
`;else if(l==="value")if(this.is(f,"block")&&f.length>2)for(let _=0;_<u.length;_++)if(_===u.length-1)c+=this.indent()+`return ${this.emit(u[_],"value")};
|
|
1378
|
-
`;else c+=this.indent()+this.emit(u[_],"statement")+`;
|
|
1379
|
-
`;else c+=this.indent()+`return ${this.extractExpression(f)};
|
|
1380
|
-
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[_,i,w,...n]=u[0],D=this.extractExpression(this.unwrapIfBranch(w)),A=this.buildTernaryChain(n);c+=this.indent()+`(${this.unwrap(this.emit(i,"value"))} ? ${D} : ${A});
|
|
1381
|
-
`}else if(this.is(f,"block")&&f.length>1)for(let _ of u)c+=this.indent()+this.emit(_,"statement")+`;
|
|
1382
|
-
`;else c+=this.indent()+this.emit(f,"statement")+`;
|
|
1383
|
-
`;c+=this.indent()+`break;
|
|
1384
|
-
`}return c}emitSwitchAsIfChain(f,l,c){let h="";for(let u=0;u<f.length;u++){let[,_,i]=f[u],w=Array.isArray(_)?_[0]:_;if(h+=(u===0?"":" else ")+`if (${this.emit(w,"value")}) {
|
|
1385
|
-
`,this.indentLevel++,c==="value")h+=this.indent()+`return ${this.extractExpression(i)};
|
|
1386
|
-
`;else for(let n of this.unwrapBlock(i))h+=this.indent()+this.emit(n,"statement")+`;
|
|
1387
|
-
`;this.indentLevel--,h+=this.indent()+"}"}if(l){if(h+=` else {
|
|
1388
|
-
`,this.indentLevel++,c==="value")h+=this.indent()+`return ${this.extractExpression(l)};
|
|
1389
|
-
`;else for(let u of this.unwrapBlock(l))h+=this.indent()+this.emit(u,"statement")+`;
|
|
1390
|
-
`;this.indentLevel--,h+=this.indent()+"}"}if(c==="value"){let u=f.some((_)=>this.containsAwait(_[1])||this.containsAwait(_[2]))||l&&this.containsAwait(l);return this.asyncIIFE(u,h)}return h}asyncIIFE(f,l){return`${f?"await ":""}(${f?"async ":""}() => { ${l} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let l=this.unwrapBlock(f);return l.length>0?this.emit(l[l.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,l){if(!l||l.endsWith(";"))return!1;if(!l.endsWith("}"))return!0;let c=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(c)}addSemicolon(f,l){return l+(this.needsSemicolon(f,l)?";":"")}formatStatements(f,l="statement"){return f.map((c)=>this.indent()+this.addSemicolon(c,this.emit(c,l)))}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 l=f[0];if(l==="return"||l==="throw"||l==="break"||l==="continue")return!0;if(l==="block")return f.slice(1).some((c)=>Array.isArray(c)&&["return","throw","break","continue"].includes(c[0]));if(l==="switch"){let[,,c]=f;return c?.some((h)=>{return this.unwrapBlock(h[2]).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]))})}if(l==="if"){let[,,c,h]=f;return this.branchHasControlFlow(c)&&h&&this.branchHasControlFlow(h)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let l=this.unwrapBlock(f);if(l.length===0)return!1;let c=l[l.length-1];return Array.isArray(c)&&["return","throw","break","continue"].includes(c[0])}withIndent(f){this.indentLevel++;let l=f();return this.indentLevel--,l}is(f,l,c){if(!Array.isArray(f))return null;if((m(f[0])??f[0])!==l)return null;let h=f.slice(1);if(c!=null&&h.length!==c)return null;return h}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let l=0,c=0,h=!0,u=!1;for(let _=0;_<f.length;_++){if(f[_]==="(")l++;if(f[_]===")")l--;if(f[_]==="["||f[_]==="{")c++;if(f[_]==="]"||f[_]==="}")c--;if(f[_]===","&&l===1&&c===0)u=!0;if(l===0&&_<f.length-1){h=!1;break}}if(u)h=!1;if(h)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 l=this._findOptionalInTarget(f[1]);if(l)return{guard:l.guard,rewritten:[f[0],l.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let l=0,c=1/0;for(let h=1;h<f.length-1;h++){if(f[h]==="(")l++;if(f[h]===")")l--;c=Math.min(c,l)}if(c>=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[l,...c]=f;if(l!=="&&"&&l!=="||")return f;let h=[],u=(_)=>{if(Array.isArray(_)&&_[0]===l)for(let i=1;i<_.length;i++)u(_[i]);else h.push(_)};for(let _ of c)u(_);return[l,...h]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let l=f[0];if(l==="return"||l==="throw"||l==="break"||l==="continue")return!0;if(l==="block")return f.slice(1).some((c)=>this.hasStatementInBranch(c));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[l,c,h,...u]=f;return this.is(h,"block")&&h.length>2||u.some((_)=>this.hasNestedMultiStatement(_))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let l=f[0];if(this.is(l,"if")){let[c,h,u,..._]=l,i=this.extractExpression(this.unwrapIfBranch(u)),w=this.buildTernaryChain([..._,...f.slice(1)]);return`(${this.emit(h,"value")} ? ${i} : ${w})`}return this.extractExpression(this.unwrapIfBranch(l))}collectVarsFromArray(f,l){f.slice(1).forEach((c)=>{if(c===","||c==="...")return;if(typeof c==="string"){l.add(c);return}if(Array.isArray(c)){if(c[0]==="..."&&typeof c[1]==="string")l.add(c[1]);else if(c[0]==="="&&typeof c[1]==="string")l.add(c[1]);else if(c[0]==="array")this.collectVarsFromArray(c,l);else if(c[0]==="object")this.collectVarsFromObject(c,l)}})}collectVarsFromLoopHead(f,l){if(!Array.isArray(f))return;f.forEach((c)=>{if(c==null)return;if(typeof c==="string"){l.add(c);return}if(Array.isArray(c)){if(c[0]==="array")this.collectVarsFromArray(c,l);else if(c[0]==="object")this.collectVarsFromObject(c,l)}})}collectVarsFromObject(f,l){f.slice(1).forEach((c)=>{if(!Array.isArray(c))return;if(c[0]==="..."&&typeof c[1]==="string"){l.add(c[1]);return}if(c.length>=2){let[h,u,_]=c;if(h==="="){if(typeof u==="string")l.add(u)}else if(typeof _==="string")l.add(_);else if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,l);else if(_[0]==="object")this.collectVarsFromObject(_,l)}}})}extractStringContent(f){let l=m(f).slice(1,-1),c=l1(f,"indent");if(c)l=l.replace(new RegExp(`\\n${c}`,"g"),`
|
|
1382
|
+
`;h+=this.indent()+`break;
|
|
1383
|
+
`}return h}emitSwitchAsIfChain(f,l,h){let w="";for(let u=0;u<f.length;u++){let[,_,D]=f[u],c=Array.isArray(_)?_[0]:_;if(w+=(u===0?"":" else ")+`if (${this.emit(c,"value")}) {
|
|
1384
|
+
`,this.indentLevel++,h==="value")w+=this.indent()+`return ${this.extractExpression(D)};
|
|
1385
|
+
`;else for(let A of this.unwrapBlock(D))w+=this.indent()+this.emit(A,"statement")+`;
|
|
1386
|
+
`;this.indentLevel--,w+=this.indent()+"}"}if(l){if(w+=` else {
|
|
1387
|
+
`,this.indentLevel++,h==="value")w+=this.indent()+`return ${this.extractExpression(l)};
|
|
1388
|
+
`;else for(let u of this.unwrapBlock(l))w+=this.indent()+this.emit(u,"statement")+`;
|
|
1389
|
+
`;this.indentLevel--,w+=this.indent()+"}"}if(h==="value"){let u=f.some((_)=>this.containsAwait(_[1])||this.containsAwait(_[2]))||l&&this.containsAwait(l);return this.asyncIIFE(u,w)}return w}asyncIIFE(f,l){return`${f?"await ":""}(${f?"async ":""}() => { ${l} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let l=this.unwrapBlock(f);return l.length>0?this.emit(l[l.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,l){if(!l||l.endsWith(";"))return!1;if(!l.endsWith("}"))return!0;let h=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(h)}addSemicolon(f,l){return l+(this.needsSemicolon(f,l)?";":"")}formatStatements(f,l="statement"){return f.map((h)=>this.indent()+this.addSemicolon(h,this.emit(h,l)))}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 l=f[0];if(l==="return"||l==="throw"||l==="break"||l==="continue")return!0;if(l==="block")return f.slice(1).some((h)=>Array.isArray(h)&&["return","throw","break","continue"].includes(h[0]));if(l==="switch"){let[,,h]=f;return h?.some((w)=>{return this.unwrapBlock(w[2]).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]))})}if(l==="if"){let[,,h,w]=f;return this.branchHasControlFlow(h)&&w&&this.branchHasControlFlow(w)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let l=this.unwrapBlock(f);if(l.length===0)return!1;let h=l[l.length-1];return Array.isArray(h)&&["return","throw","break","continue"].includes(h[0])}withIndent(f){this.indentLevel++;let l=f();return this.indentLevel--,l}is(f,l,h){if(!Array.isArray(f))return null;if((m(f[0])??f[0])!==l)return null;let w=f.slice(1);if(h!=null&&w.length!==h)return null;return w}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let l=0,h=0,w=!0,u=!1;for(let _=0;_<f.length;_++){if(f[_]==="(")l++;if(f[_]===")")l--;if(f[_]==="["||f[_]==="{")h++;if(f[_]==="]"||f[_]==="}")h--;if(f[_]===","&&l===1&&h===0)u=!0;if(l===0&&_<f.length-1){w=!1;break}}if(u)w=!1;if(w)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let l=this._findOptionalInTarget(f[1]);if(l)return{guard:l.guard,rewritten:[f[0],l.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let l=0,h=1/0;for(let w=1;w<f.length-1;w++){if(f[w]==="(")l++;if(f[w]===")")l--;h=Math.min(h,l)}if(h>=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[l,...h]=f;if(l!=="&&"&&l!=="||")return f;let w=[],u=(_)=>{if(Array.isArray(_)&&_[0]===l)for(let D=1;D<_.length;D++)u(_[D]);else w.push(_)};for(let _ of h)u(_);return[l,...w]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let l=f[0];if(l==="return"||l==="throw"||l==="break"||l==="continue")return!0;if(l==="block")return f.slice(1).some((h)=>this.hasStatementInBranch(h));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[l,h,w,...u]=f;return this.is(w,"block")&&w.length>2||u.some((_)=>this.hasNestedMultiStatement(_))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let l=f[0];if(this.is(l,"if")){let[h,w,u,..._]=l,D=this.extractExpression(this.unwrapIfBranch(u)),c=this.buildTernaryChain([..._,...f.slice(1)]);return`(${this.emit(w,"value")} ? ${D} : ${c})`}return this.extractExpression(this.unwrapIfBranch(l))}collectVarsFromArray(f,l){f.slice(1).forEach((h)=>{if(h===","||h==="...")return;if(typeof h==="string"){l.add(h);return}if(Array.isArray(h)){if(h[0]==="..."&&typeof h[1]==="string")l.add(h[1]);else if(h[0]==="="&&typeof h[1]==="string")l.add(h[1]);else if(h[0]==="array")this.collectVarsFromArray(h,l);else if(h[0]==="object")this.collectVarsFromObject(h,l)}})}collectVarsFromLoopHead(f,l){if(!Array.isArray(f))return;f.forEach((h)=>{if(h==null)return;if(typeof h==="string"){l.add(h);return}if(Array.isArray(h)){if(h[0]==="array")this.collectVarsFromArray(h,l);else if(h[0]==="object")this.collectVarsFromObject(h,l)}})}collectVarsFromObject(f,l){f.slice(1).forEach((h)=>{if(!Array.isArray(h))return;if(h[0]==="..."&&typeof h[1]==="string"){l.add(h[1]);return}if(h.length>=2){let[w,u,_]=h;if(w==="="){if(typeof u==="string")l.add(u)}else if(typeof _==="string")l.add(_);else if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,l);else if(_[0]==="object")this.collectVarsFromObject(_,l)}}})}extractStringContent(f){let l=m(f).slice(1,-1),h=l1(f,"indent");if(h)l=l.replace(new RegExp(`\\n${h}`,"g"),`
|
|
1391
1390
|
`);if(l1(f,"initialChunk")&&l.startsWith(`
|
|
1392
1391
|
`))l=l.slice(1);if(l1(f,"finalChunk")&&l.endsWith(`
|
|
1393
|
-
`))l=l.slice(0,-1);return l}processHeregex(f){let l="",
|
|
1394
|
-
`)
|
|
1392
|
+
`))l=l.slice(0,-1);return l}processHeregex(f){let l="",h=!1,w=0,u=()=>{let _=0,D=w-1;while(D>=0&&f[D]==="\\")_++,D--;return _%2===1};while(w<f.length){let _=f[w];if(_==="["&&!u()){h=!0,l+=_,w++;continue}if(_==="]"&&h&&!u()){h=!1,l+=_,w++;continue}if(h){l+=_,w++;continue}if(/\s/.test(_)){w++;continue}if(_==="#"){if(u()){l+=_,w++;continue}let D=w-1;while(D>=0&&f[D]==="\\")D--;if(D<w-1){l+=_,w++;continue}while(w<f.length&&f[w]!==`
|
|
1393
|
+
`)w++;continue}l+=_,w++}return l}addJsExtensionAndAssertions(f){if(f instanceof String)f=m(f);if(typeof f!=="string")return f;let h=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,w=h.startsWith("./")||h.startsWith("../"),u=h,_="";if(w){let D=h.lastIndexOf("/"),c=D>=0?h.substring(D+1):h;if(c.includes(".")){if(c.endsWith(".json"))_=" with { type: 'json' }"}else u=h+".js"}return`'${u}'`+_}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&m(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((l)=>this.containsIt(l));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&l1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((l)=>this.containsAwait(l));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((l)=>this.containsYield(l));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`// ============================================================================
|
|
1395
1394
|
// Rip Reactive Runtime
|
|
1396
1395
|
// A minimal, fine-grained reactivity system
|
|
1397
1396
|
//
|
|
@@ -1620,13 +1619,13 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1620
1619
|
}
|
|
1621
1620
|
|
|
1622
1621
|
// === End Reactive Runtime ===
|
|
1623
|
-
`}}class j1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,l){if(l)this.options={...this.options,...l};let
|
|
1624
|
-
`),u=
|
|
1622
|
+
`}}class j1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,l){if(l)this.options={...this.options,...l};let h=null,w=f.split(`
|
|
1623
|
+
`),u=w.findIndex((i)=>i==="__DATA__");if(u!==-1){let i=w.slice(u+1);h=i.length>0?i.join(`
|
|
1625
1624
|
`)+`
|
|
1626
|
-
`:"",f=
|
|
1627
|
-
`)}let _=new
|
|
1628
|
-
//# sourceMappingURL=data:application/json;base64,${
|
|
1629
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(
|
|
1625
|
+
`:"",f=w.slice(0,u).join(`
|
|
1626
|
+
`)}let _=new i1,D;try{D=_.tokenize(f)}catch(i){throw E1(i,f,this.options.filename)}if(this.options.showTokens)D.forEach((i)=>console.log(`${i[0].padEnd(12)} ${JSON.stringify(i[1])}`)),console.log();let c=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...D];if(D=D.filter((i)=>i[0]!=="TYPE_DECL"),_.typeRefNames?.size>0){let i=_.typeRefNames,U=new Set,Y=!1;for(let H of D){if(H[0]==="IMPORT"){Y=!0;continue}if(Y&&H[0]==="TERMINATOR"){Y=!1;continue}if(Y)continue;if(H[0]==="IDENTIFIER")U.add(H[1])}for(let H=D.length-1;H>=0;H--){if(D[H][0]!=="IMPORT")continue;let O=H+1;if(O>=D.length)continue;if(D[O][0]==="CALL_START"||D[O][0]==="(")continue;if(D[O][0]==="STRING")continue;let q=[];while(O<D.length&&D[O][0]!=="FROM"&&D[O][0]!=="TERMINATOR"){if(D[O][0]==="IDENTIFIER")q.push(D[O][1]);O++}if(q.length===0)continue;if(q.some((K)=>U.has(K)))continue;if(!q.some((K)=>i.has(K)))continue;let n=O;while(n<D.length&&D[n][0]!=="TERMINATOR")n++;if(n<D.length)n++;D.splice(H,n-H)}}while(D.length>0&&D[0][0]==="TERMINATOR")D.shift();if(D.every((i)=>i[0]==="TERMINATOR")){if(A&&e1)c=e1(A,["program"],f);return{tokens:D,sexpr:["program"],code:"",dts:c,data:h,reactiveVars:{}}}let $=null;M1.lexer={tokens:D,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let i=this.tokens[this.pos++],U=i[1];if(i.data)U=new String(U),Object.assign(U,i.data);return this.text=U,this.loc=i.loc,this.line=i.loc?.r,$=i.loc,i[0]}};let R;try{R=M1.parse(f)}catch(i){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new D1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let U=E1(i,f,this.options.filename);if(U.phase==="parser"&&$)U.line=$.r??U.line,U.column=$.c??U.column,U.length=$.n||1;throw U}if(this.options.showSExpr)console.log(z1(R,0,!0)),console.log();let M=null;if(this.options.sourceMap){let i=(this.options.filename||"output")+".js",U=this.options.filename||"input.rip";M=new Y2(i,U,f)}let z=new w1({dataSection:h,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,schemaMode:this.options.schemaMode,sourceMap:M}),F=z.compile(R),W=M?M.toJSON():null,Q=M?M.toReverseMap():null;if(W&&this.options.sourceMap==="inline"){let i;if(typeof Buffer<"u")i=Buffer.from(W,"utf8").toString("base64");else{let U=new TextEncoder().encode(W),Y="";for(let H=0;H<U.length;H++)Y+=String.fromCharCode(U[H]);i=btoa(Y)}F+=`
|
|
1627
|
+
//# sourceMappingURL=data:application/json;base64,${i}`}else if(W&&this.options.filename)F+=`
|
|
1628
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(A&&e1)c=e1(A,R,f);return{tokens:D,sexpr:R,code:F,dts:c,map:W,reverseMap:Q,data:h,reactiveVars:z.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}D3(w1,i1);w1.prototype.emitEnum=function(l,h,w){let[u,_]=h,D=u?.valueOf?.()??u,c=[];if(Array.isArray(_)){let R=_[0]==="block"?_.slice(1):[_];for(let M of R)if(Array.isArray(M)){if(M[0]?.valueOf?.()==="="){let z=M[1]?.valueOf?.()??M[1],F=M[2]?.valueOf?.()??M[2];c.push([z,F])}}}if(c.length===0)return`const ${D} = {}`;let A=c.map(([R,M])=>`${R}: ${M}`).join(", "),$=c.map(([R,M])=>`${M}: "${R}"`).join(", ");return`const ${D} = {${A}, ${$}}`};d1(null,w1);function f2(f,l={}){return new j1(l).compile(f)}function H1(f,l={}){return new j1(l).compileToJS(f)}function m1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
1630
1629
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
1631
1630
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
1632
1631
|
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
@@ -1639,20 +1638,22 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
|
1639
1638
|
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
1640
1639
|
globalThis.warn ??= console.warn;
|
|
1641
1640
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
1642
|
-
`}function
|
|
1643
|
-
`+h+f.slice(_.index);return f+`
|
|
1644
|
-
`+h}function $3(f,l){if(!l)return f;return f.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(c,h)=>{let u;try{let n=atob(h),D=new Uint8Array(n.length);for(let A=0;A<n.length;A++)D[A]=n.charCodeAt(A);u=new TextDecoder().decode(D)}catch{return c}let _;try{_=JSON.parse(u)}catch{return c}_.mappings=";".repeat(l)+_.mappings;let i=new TextEncoder().encode(JSON.stringify(_)),w="";for(let n=0;n<i.length;n++)w+=String.fromCharCode(i[n]);return`//# sourceMappingURL=data:application/json;base64,${btoa(w)}`})}function C5(f,l){let c=`${Y2(l)}.js`,h=$3(f,1);return`(async()=>{
|
|
1645
|
-
${A3(h,c)}
|
|
1646
|
-
})()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:$3,addSourceURL:A3,sanitizeSourceURL:Y2};async function M3(){let f=[],l=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),c=l?.getAttribute("data-src");if(c){for(let h of c.trim().split(/\s+/))if(h)f.push({url:h})}for(let h of document.querySelectorAll('script[type="text/rip"]'))if(h.src)f.push({url:h.src});else{let u=T5(h.textContent);if(u)f.push({code:u})}if(f.length>0){let h=await Promise.allSettled(f.map(async(n)=>{if(!n.url)return;let D=await fetch(n.url);if(!D.ok)throw Error(`${n.url} (${D.status})`);if(n.url.endsWith(".rip"))n.code=await D.text();else{let A=await D.json();n.bundle=A}}));for(let n of h)if(n.status==="rejected")console.warn("Rip: fetch failed:",n.reason.message);let u=[],_=[];for(let n of f)if(n.bundle)u.push(n.bundle);else if(n.code)_.push(n);let i=l?.getAttribute("data-router");if(i!=null&&u.length>0){let n=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=n;let D={skipRuntimes:!0,skipExports:!0,skipImports:!0},A=0;for(let R of _){let M=R.url||`inline-${++A}.rip`,F=n?{...D,sourceMap:"inline",filename:M}:D,O;try{O=z1(R.code,F)}catch(z){console.error(G1(z,{source:R.code,file:M,color:!1}));continue}try{await(0,eval)(n?C5(O,M):`(async()=>{
|
|
1647
|
-
${O}
|
|
1648
|
-
})()`)}catch(z){console.error(`Rip runtime error in ${M}:`,z)}}let $=J1.modules?.["app.rip"];if($?.launch){let R=u[u.length-1],M=l.getAttribute("data-persist"),F={bundle:R,hash:i==="hash"};if(M!=null)F.persist=M==="local"?"local":!0;await $.launch("",F)}}else{let n=[];for(let M of u){for(let[F,O]of Object.entries(M.components||{}))n.push({code:O,url:F});if(M.data){let F=l?.getAttribute("data-state"),O={};if(F)try{O=JSON.parse(F)}catch{}Object.assign(O,M.data),l?.setAttribute("data-state",JSON.stringify(O))}}n.push(..._);let D=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=D;let A={skipRuntimes:!0,skipExports:!0,skipImports:!0},$=[],R=0;for(let M of n){if(!M.code)continue;let F=M.url||`inline-${++R}.rip`;try{let O=z1(M.code,A);$.push({js:O,url:F})}catch(O){console.error(G1(O,{source:M.code,file:F,color:!1}))}}if(!globalThis.__ripApp&&l){let M=globalThis.stash;if(M){let F={},O=l.getAttribute("data-state");if(O)try{F=JSON.parse(O)}catch(H){console.error("Rip: invalid data-state JSON:",H.message)}let z=M({data:F});if(globalThis.__ripApp=z,typeof window<"u")window.app=z;let U=l.getAttribute("data-persist");if(U!=null&&globalThis.persistStash)globalThis.persistStash(z,{local:U==="local"})}}if($.length>0){let M=l?.getAttribute("data-mount"),F=l?.getAttribute("data-target")||"body",O=M?`
|
|
1649
|
-
${M}.mount(${JSON.stringify(F)});
|
|
1650
|
-
`:"",z=$.map((H)=>H.js).join(`
|
|
1641
|
+
`}function v1(){return new w1({}).getReactiveRuntime()}function g1(){return new w1({}).getComponentRuntime()}var V5=`
|
|
1651
1642
|
;
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
${l}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");h=h.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(h);if(u&&typeof u.then==="function")return u.then((_)=>{if(_!==void 0)globalThis._=_;return _});if(u!==void 0)globalThis._=u;return u}catch(l){console.error(G1(l,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=R3,globalThis.importRip=J1,globalThis.compileToJS=z1,globalThis.__ripExports={compile:f2,compileToJS:z1,formatSExpr:R1,getStdlibCode:m1,VERSION:n3,BUILD_DATE:D3,getReactiveRuntime:g1,getComponentRuntime:v1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let l=()=>M3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(l));else queueMicrotask(l)});var c2={};y2(c2,{throttle:()=>g5,stash:()=>v3,setContext:()=>j3,raw:()=>L1,persistStash:()=>r3,launch:()=>r5,isStash:()=>V5,hold:()=>v5,hasContext:()=>b3,getContext:()=>y3,delay:()=>x3,debounce:()=>m5,createRouter:()=>s3,createResource:()=>j5,createRenderer:()=>d3,createComponents:()=>a3});var K2,U3,Z2,F3,X2,X1,w1,z3,W3,P2,O3,H3,y1,n1,Q3,Y3,K3,q3,G3,J3,S3,Z3,D1,q2,x1,a1,l2,X3,P3,_2,r1,N3,I3,E3,G2,J2,y3,B3,N2,b3,L3,S2,Z1,I2,T3,C3,B1,V3,j3,S1,m3,E1,b1,g3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,l)=>{if(!f)throw Error(l||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,l)=>{throw l!==void 0?new f(l):Error(f)};globalThis.rand??=(f,l)=>l!==void 0?(f>l&&([f,l]=[l,f]),Math.floor(Math.random()*(l-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((l)=>setTimeout(l,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((l,c)=>f.map((h)=>h[c]));({__state:w1,__effect:X1,__batch:X2}=globalThis.__rip);({setContext:j3,getContext:y3,hasContext:b3}=globalThis.__ripComponent||{});Z2=new WeakMap;K2=new WeakMap;q2=0;l2=w1(0);D1=0;S2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};L3=function(f){return/^-?\d+$/.test(f)};N2=function(f,l){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(l),!c)c=w1(f[l]),f[Symbol.for("signals")].set(l,c);return c};Z1=function(f){return N2(f,Symbol.for("keys"))};g3=function(f){let l;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(l=Z2.get(f),l)return l;return I2(f)};I2=function(f){let l,c;return c=null,l={get:function(h,u){let _,i,w;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return h;if(typeof u==="symbol")return Reflect.get(h,u);if(u==="length"&&Array.isArray(h))return Z1(h).value,h.length;if(!D1&&S2(u))return S1(c,u);if(_=m3(c,u),_)return _;if(i=N2(h,u),w=i.value,w!=null&&typeof w==="object")return g3(w);return w},set:function(h,u,_){let i,w;if(!D1&&S2(u))return E1(c,u,_),!0;if(i=h[u],w=_?.[Symbol.for("raw")]?_[Symbol.for("raw")]:_,w===i)return!0;if(h[u]=w,h[Symbol.for("signals")]?.has(u))h[Symbol.for("signals")].get(u).value=w;if(i===void 0&&w!==void 0)Z1(h).value=++q2;return l2.value++,!0},deleteProperty:function(h,u){let _;if(delete h[u],_=h[Symbol.for("signals")]?.get(u),_!=null)_.value=void 0;return Z1(h).value=++q2,l2.value++,!0},ownKeys:function(h){return Z1(h).value,Reflect.ownKeys(h)}},c=new Proxy(f,l),Z2.set(f,c),c};U3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;b1=function(f){let l,c,h,u,_;h=("."+f).split(U3),h.shift(),_=[],c=0;while(c<h.length){if(u=h[c],l=u[0],l==="."||l==="/")_.push(u.slice(1));else if(l==="[")if(u[1]==='"'||u[1]==="'")_.push(u.slice(2,-2));else _.push(+u.slice(1,-1));c+=2}return _};B1=function(f,l){let c;if(typeof f==="number"&&f<0){if(c=L1(l),Array.isArray(c))return c.length+f}return f};S1=function(f,l){let c,h,u;return u=b1(l),c=f,D1++,(()=>{try{for(let _ of u){if(c==null)return;c=c[B1(_,c)]}return c}finally{D1--}})()};E1=function(f,l,c){let h,u,_,i,w,n;return n=b1(l),i=f,D1++,(()=>{try{for(let D=0;D<n.length;D++){let A=n[D];if(u=B1(A,i),D===n.length-1)i[u]=c;else{if(i[u]==null)_=n[D+1],i[u]=typeof _==="number"||L3(_)?[]:{};i=i[u]}}return c}finally{D1--}})()};F3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};m3=function(f,l){let c,h;if(!F3[l])return;if(c=K2.get(f),!c)c={},K2.set(f,c);if(c[l])return c[l];return h=(()=>{switch(l){case"inc":return function(u,_=1){let i;return i=S1(f,u)??0,E1(f,u,i+_)};case"dec":return function(u,_=1){let i;return i=S1(f,u)??0,E1(f,u,i-_)};case"flip":return function(u){let _;return _=S1(f,u)??!1,E1(f,u,!_)};case"join":return function(u,_){return X2(function(){let i,w,n;if(w=S1(f,u),!(w!=null&&typeof w==="object"))E1(f,u,{}),w=S1(f,u);return D1++,(()=>{try{return(()=>{let D=[];for(let A in _){let $=_[A];D.push(w[A]=$)}return D})()}finally{D1--}})()})};case"keys":return function(u){let _,i,w,n;return D1++,(()=>{try{w=b1(u),_=f;for(let D of w){if(_==null)return[];_=_[B1(D,_)]}if(!(_!=null&&typeof _==="object"))return[];return n=L1(_),Z1(n).value,Object.keys(n)}finally{D1--}})()};case"has":return function(u){let _,i,w,n,D,A;return D1++,(()=>{try{if(D=b1(u),!(D.length>0))return!1;w=f;for(let $=0;$<D.length;$++){let R=D[$];if(i=B1(R,w),$===D.length-1)return A=L1(w),Z1(A).value,Object.prototype.hasOwnProperty.call(A,i);if(w==null)return!1;w=w[i]}return!1}finally{D1--}})()};case"del":return function(u){let _,i,w,n,D;return D1++,(()=>{try{if(D=b1(u),!(D.length>0))return;return w=f,(()=>{let A=[];for(let $=0;$<D.length;$++){let R=D[$];if(i=B1(R,w),$===D.length-1){delete w[i];return}if(w==null)return;A.push(w=w[i])}return A})()}finally{D1--}})()}}})(),c[l]=h,h};var v3=function(f={}){return I2(f)},L1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},V5=function(f){return f?.[Symbol.for("stash")]===!0},r3=function(f,l={}){let c,h,u,_,i,w,n,D;if(n=L1(f)||f,n[Symbol.for("persisted")])return;n[Symbol.for("persisted")]=!0,i=l.local?localStorage:sessionStorage,w=l.key||"__rip_app";try{if(u=i.getItem(w),u){_=JSON.parse(u);for(let A in _){let $=_[A];f.data[A]=$}}}catch{}return c=function(){return(()=>{try{return i.setItem(w,JSON.stringify(L1(f.data)))}catch{return null}})()},X1(function(){let A;return l2.value,A=setTimeout(c,2000),function(){return clearTimeout(A)}}),window.addEventListener("beforeunload",c)},j5=function(f,l={}){let c,h,u,_,i;if(c=w1(l.initial||null),u=w1(!1),h=w1(null),_=async function(){let w;return u.value=!0,h.value=null,await(async()=>{try{return w=await f(),c.value=w}catch(n){return h.value=n}finally{u.value=!1}})()},i={data:void 0,loading:void 0,error:void 0,refetch:_},Object.defineProperty(i,"data",{get:function(){return c.value}}),Object.defineProperty(i,"loading",{get:function(){return u.value}}),Object.defineProperty(i,"error",{get:function(){return h.value}}),!l.lazy)_();return i};a1=function(f){return typeof f==="function"?f:function(){return f.value}};x1=function(f,l){let c;return c={read:function(){return f.read()}},Object.defineProperty(c,"value",{get:function(){return f.value},set:function(h){return l.value=h}}),c};var x3=function(f,l){let c,h;return c=a1(l),h=w1(!!c()),X1(function(){let u;if(c())return u=setTimeout(function(){return h.value=!0},f),function(){return clearTimeout(u)};else return h.value=!1}),typeof l!=="function"?x1(h,l):h},m5=function(f,l){let c,h;return c=a1(l),h=w1(c()),X1(function(){let u,_;return _=c(),u=setTimeout(function(){return h.value=_},f),function(){return clearTimeout(u)}}),typeof l!=="function"?x1(h,l):h},g5=function(f,l){let c,h,u;return c=a1(l),u=w1(c()),h=0,X1(function(){let _,i,w,n;if(n=c(),_=Date.now(),i=f-(_-h),i<=0)return u.value=n,h=_;else return w=setTimeout(function(){return u.value=c(),h=Date.now()},i),function(){return clearTimeout(w)}}),typeof l!=="function"?x1(u,l):u},v5=function(f,l){let c,h;return c=a1(l),h=w1(!!c()),X1(function(){let u;if(c())return h.value=!0;else return u=setTimeout(function(){return h.value=!1},f),function(){return clearTimeout(u)}}),typeof l!=="function"?x1(h,l):h},a3=function(){let f,l,c,h;return l=new Map,h=[],f=new Map,c=function(u,_){let i,w=[];for(let n of h)w.push(n(u,_));return w},{read:function(u){return l.get(u)},write:function(u,_){let i;return i=!l.has(u),l.set(u,_),f.delete(u),c(i?"create":"change",u)},del:function(u){return l.delete(u),f.delete(u),c("delete",u)},exists:function(u){return l.has(u)},size:function(){return l.size},list:function(u=""){let _,i,w,n;n=[],i=u?u+"/":"";for(let[D]of l)if(D.startsWith(i)){if(w=D.slice(i.length),w.includes("/"))continue;n.push(D)}return n},listAll:function(u=""){let _,i,w;w=[],i=u?u+"/":"";for(let[n]of l)if(n.startsWith(i))w.push(n);return w},load:function(u){let _,i,w=[];for(let n in u){let D=u[n];w.push(l.set(n,D))}return w},watch:function(u){return h.push(u),function(){return h.splice(h.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,_){return f.set(u,_)}}};E3=function(f){let l;if(l=f.replace(/\.rip$/,""),l=l.replace(/\[\.\.\.(\w+)\]/g,"*$1"),l=l.replace(/\[(\w+)\]/g,":$1"),l==="index")return"/";return l=l.replace(/\/index$/,""),"/"+l};C3=function(f){let l,c;return l=[],c=f.replace(/\*(\w+)/g,function(h,u){return l.push(u),"(.+)"}).replace(/:(\w+)/g,function(h,u){return l.push(u),"([^/]+)"}),{regex:new RegExp("^"+c+"$"),names:l}};T3=function(f,l){let c,h,u,_,i;for(let w of l)if(h=f.match(w.regex.regex),h){_={};for(let n=0;n<w.regex.names.length;n++){let D=w.regex.names[n];_[D]=decodeURIComponent(h[n+1])}return{route:w,params:_}}return null};_2=function(f,l="components"){let c,h,u,_,i,w,n,D,A,$;D=[],_=new Map,c=f.listAll(l);for(let R of c){if(n=R.slice(l.length+1),!n.endsWith(".rip"))continue;if(i=n.split("/").pop(),i==="_layout.rip"){h=n==="_layout.rip"?"":n.slice(0,-12),_.set(h,R);continue}if(i.startsWith("_"))continue;if(A=n.split("/"),A.length>1&&A.some(function(M,F){return F<A.length-1&&M.startsWith("_")}))continue;$=E3(n),w=C3($),D.push({pattern:$,regex:w,file:R,rel:n})}return D.sort(function(R,M){let F,O,z,U;if(O=(R.pattern.match(/:/g)||[]).length,U=(M.pattern.match(/:/g)||[]).length,F=R.pattern.includes("*")?1:0,z=M.pattern.includes("*")?1:0,F!==z)return F-z;if(O!==U)return O-U;return R.pattern.localeCompare(M.pattern)}),{routes:D,layouts:_}};B3=function(f,l,c){let h,u,_,i,w,n;if(h=[],i=f.slice(l.length+1),n=i.split("/"),u="",c.has(""))h.push(c.get(""));for(let D=0;D<n.length;D++){let A=n[D];if(D===n.length-1)break;if(u=u?u+"/"+A:A,c.has(u))h.push(c.get(u))}return h};var s3=function(f,l={}){let c,h,u,_,i,w,n,D,A,$,R,M,F,O,z,U,H,W,Q,q,K;if(H=l.root||"components",A=l.base||"",$=l.hash||!1,F=l.onError||null,Q=function(Y){return A&&Y.startsWith(A)?Y.slice(A.length)||"/":Y},D=function(Y){return A?A+Y:Y},z=function(){let Y;if($){if(Y=location.hash.slice(1),!Y)return"/";return Y[0]==="/"?Y:"/"+Y}else return location.pathname+location.search+location.hash},K=function(Y){return $?Y==="/"?location.pathname:"#"+Y.slice(1):D(Y)},i=w1(Q($?z():location.pathname)),_=w1({}),n=w1(null),h=w1([]),w=w1({}),c=w1(""),u=x3(100,w1(!1)),q=_2(f,H),R=new Set,f.watch(function(Y,J){if(!J.startsWith(H+"/"))return;return q=_2(f,H)}),U=function(Y){let J,G,S,N,v,L;if(v=Y.split("?")[0].split("#")[0],S=Q(v),S=S[0]==="/"?S:"/"+S,N=Y.split("?")[1]?.split("#")[0]||"",G=Y.includes("#")?Y.split("#")[1]:"",L=T3(S,q.routes),L){X2(function(){return i.value=S,_.value=L.params,n.value=L.route,h.value=B3(L.route.file,H,q.layouts),w.value=Object.fromEntries(new URLSearchParams(N)),c.value=G});for(let T of R)T(W.current);return!0}if(F)F({status:404,path:S});return!1},O=function(){return U(z())},typeof window<"u")window.addEventListener("popstate",O);if(M=function(Y){let J,G,S;if(Y.button!==0||Y.metaKey||Y.ctrlKey||Y.shiftKey||Y.altKey)return;G=Y.target;while(G&&G.tagName!=="A")G=G.parentElement;if(!G?.href)return;if(S=new URL(G.href,location.origin),S.origin!==location.origin)return;if(G.target==="_blank"||G.hasAttribute("data-external"))return;return Y.preventDefault(),J=$&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,W.push(J)},typeof document<"u")document.addEventListener("click",M);return W={push:function(Y){return U(Y)?history.pushState(null,"",K(i.read())):void 0},replace:function(Y){return U(Y)?history.replaceState(null,"",K(i.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(Y){return R.add(Y),function(){return R.delete(Y)}},rebuild:function(){return q=_2(f,H)},routes:void 0,init:function(){return U(z()),W},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",O);if(typeof document<"u")document.removeEventListener("click",M);return R.clear()}},Object.defineProperty(W,"current",{get:function(){return{path:i.value,params:_.value,route:n.value,layouts:h.value,query:w.value,hash:c.value}}}),Object.defineProperty(W,"path",{get:function(){return i.value}}),Object.defineProperty(W,"params",{get:function(){return _.value}}),Object.defineProperty(W,"route",{get:function(){return n.value}}),Object.defineProperty(W,"layouts",{get:function(){return h.value}}),Object.defineProperty(W,"query",{get:function(){return w.value}}),Object.defineProperty(W,"hash",{get:function(){return c.value}}),Object.defineProperty(W,"navigating",{get:function(){return u.value},set:function(Y){return u.value=Y}}),Object.defineProperty(W,"routes",{get:function(){return q.routes}}),W};X3=function(f,l){let c,h;if(f.length!==l.length)return!1;for(let u=0;u<f.length;u++)if(f[u]!==l[u])return!1;return!0};J2=function(f){let l,c;for(let h in f){let u=f[h];if(typeof u==="function"&&(u.prototype?.mount||u.prototype?._create))return u}return typeof f.default==="function"?f.default:void 0};G2=function(f){let l,c,h;c={};for(let u in f){let _=f[u];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))c[u]=_}return c};I3=function(f){let l;return l=f.split("/").pop().replace(/\.rip$/,""),l.replace(/(^|[-_])([a-z])/g,function(c,h,u){return u.toUpperCase()})};P3=function(f,l="components"){let c,h,u,_;h={};for(let i of f.listAll(l)){if(!i.endsWith(".rip"))continue;if(c=i.split("/").pop(),c.startsWith("_"))continue;if(u=I3(i),h[u])console.warn(`[Rip] Component name collision: ${u} (${h[u]} vs ${i})`);h[u]=i}return h};V3=function(f,l,c){let h,u,_,i,w,n;if(_=f.replace(/^(\.\.\/|\.\/)+/,""),h=_.split("/").pop(),l){w=l.split("/"),w.pop();for(let D of f.split("/"))if(D==="..")w.pop();else if(D!==".")w.push(D);if(u=w.join("/"),c.exists(u))return u}if(c.exists(`components/_lib/${_}`))return`components/_lib/${_}`;if(c.exists(`components/${_}`))return`components/${_}`;for(let D of c.listAll("components"))if(D.endsWith(`/${h}`))return D;return null};r1=async function(f,l,c=null,h=null,u=null){let _,i,w,n,D,A,$,R,M,F,O,z,U,H,W,Q,q,K,Y,J,G,S,N,v,L,T,Z,_1,X,E,y,g,o,c1;if(c&&h){if(w=c.getCompiled(h),w)return w}if(u&&h)u.compiling??={},u.compiling[h]=!0;if(n=globalThis?.__ripDebug?.enabled&&h,_1=0,U=n?l(f,{sourceMap:"inline",filename:h}):l(f),u){if(z=new Set,c){E=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,Q=Array.from(U.matchAll(E));for(let P=Q.length-1;P>=0;P--){let B=Q[P];if([F,T,G,y,L]=B,g=V3(y,h,c),g===h)continue;if(!g){if(K=`[Rip] Could not resolve import: ${y}`,h)K+=` (from ${h})`;console.warn(K);continue}if(!u.blobUrls?.[g]){if(u.compiling?.[g])continue;if($=c.read(g),$)await r1($,l,c,g,u)}if(i=u.blobUrls?.[g],i){if(X=`${T}${i}${L}`,U=U.slice(0,B.index)+X+U.slice(B.index+F.length),G)for(let V of G.split(","))z.add(V.trim().split(/\s+as\s+/).pop().trim())}}}N={};for(let P in u.map){let B=u.map[P];if(z.has(P))continue;if(B!==h&&U.includes(`new ${P}(`)){if(!u.classes[P]){if($=c.read(B),$){D=await r1($,l,c,B,u),M=G2(D);for(let V in M){let x=M[V];u.classes[V]=x}}}if(u.classes[P])N[P]=!0}}if(S=Object.keys(N),S.length>0)Z=`const {${S.join(", ")}} = globalThis['${u.key}'];
|
|
1657
|
-
|
|
1658
|
-
`:"",O)_1+=1;if(R=O+U,n&&_1>0){if(v=globalThis?.__ripDebug?.offsetSourceMap,v)R=v(R,_1)}if(_=new Blob([R],{type:"application/javascript"}),o=URL.createObjectURL(_),u&&h){if(u.blobUrls??={},u.blobUrls[h]=o,u.compiling)delete u.compiling[h]}if(q=await import(o),u){M=G2(q);for(let P in M){let B=M[P];u.classes[P]=B}}if(c&&h)c.setCompiled(h,q);return q};var d3=function(f={}){let l,c,h,u,_,i,w,n,D,A,$,R,M,F,O,z,U,H,W,Q,q,K;if({router:Q,app:l,components:_,resolver:W,compile:h,target:q,onError:U}=f,i=typeof q==="string"?document.querySelector(q):q||document.getElementById("app"),!i)i=document.createElement("div"),i.id="app",document.body.appendChild(i);return w=null,A=null,D=null,n=[],M=[],O=i,R=0,$=null,u=new Map,F=f.cacheSize||10,c=function(){let Y,J;if(w&&A){if(w.beforeUnmount)w.beforeUnmount();if(u.set(A,w),u.size>F){if(J=u.keys().next().value,Y=u.get(J),Y.unmounted)Y.unmounted();u.delete(J)}return w=null,A=null}},K=function(){let Y;c();for(let J=M.length-1;J>=0;J--){let G=M[J];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return M=[],O=i},_.watch(function(Y,J){let G;if(u.has(J)){if(G=u.get(J),G.unmounted)G.unmounted();return u.delete(J)}}),z=async function(Y){let J,G,S,N,v,L,T,Z,_1,X,E,y,g,o,c1,P,B,V,x,t,e,C,a;if({route:t,params:B,layouts:_1,query:x}=Y,!t)return;if(t.file===A&&JSON.stringify(B)===JSON.stringify(D))return;return D=B,N=++R,Q.navigating=!0,await(async()=>{try{if(C=_.read(t.file),!C){if(U)U({status:404,message:`File not found: ${t.file}`});Q.navigating=!1;return}if(g=await r1(C,h,_,t.file,W),N!==R){Q.navigating=!1;return}if(J=J2(g),!J){if(U)U({status:500,message:`No component found in ${t.file}`});Q.navigating=!1;return}if(y=!X3(_1,n),c1=w?._target,y)K();else c();if(o=y?i:O,y&&_1.length>0){i.innerHTML="",o=i;for(let d of _1){if(E=_.read(d),!E)continue;if(X=await r1(E,h,_,d,W),N!==R){Q.navigating=!1;return}if(G=J2(X),!G)continue;if(L=new G({app:l,params:B,router:Q}),L.beforeMount)L.beforeMount();a=document.createElement("div"),a.setAttribute("data-layout",d),o.appendChild(a),L.mount(a),M.push(L),e=a.querySelector("#content")||a,o=e}n=[..._1],O=o}else if(y)i.innerHTML="",n=[],O=i;if(S=u.get(t.file),S){if(u.delete(t.file),o.appendChild(S._target),w=S,A=t.file,B)S.params=B;if(x)S.query=x;if(S.mounted)S.mounted();if(S.load)await S.load(B,x)}else{if(P=document.createElement("div"),P.setAttribute("data-component",t.file),o.appendChild(P),T=new J({app:l,params:B,query:x,router:Q}),T.beforeMount)T.beforeMount();if(T.mount(P),w=T,A=t.file,T.load)await T.load(B,x)}return c1?.remove(),Q.navigating=!1}catch(d){if(Q.navigating=!1,console.error(`Renderer: error mounting ${t.file}:`,d),U)U({status:500,message:d.message,error:d});v=!1;for(let p=M.length-1;p>=0;p--){let I=M[p];if(I.onError)try{I.onError(d),v=!0;break}catch(r){console.error("Renderer: error boundary failed:",r)}}return(()=>{if(!v)return V=document.createElement("pre"),V.style.cssText="color:red;padding:1em",V.textContent=d.stack||d.message,i.innerHTML="",i.appendChild(V)})()}})()},H={start:function(){return $=X1(function(){let Y;return Y=Q.current,Y.route?z(Y):void 0}),Q.init(),H},stop:function(){if(K(),$)$(),$=null;return i.innerHTML=""},remount:function(){let Y;return Y=Q.current,Y.route?z(Y):void 0},cache:u},H};N3=function(f){let l,c,h;return h=1000,c=30000,l=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return h=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){let _,i=[];for(let w of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL(w.href),f.searchParams.set("_t",Date.now()),w.href=f.toString();return i}),u.onerror=function(){return u.close(),setTimeout(l,h),h=Math.min(h*2,c)}},l()};var r5=async function(f="",l={}){let c,h,u,_,i,w,n,D,A,$,R,M,F,O,z,U,H;if(globalThis.__ripLaunched=!0,typeof f==="object")l=f,f="";if(f=f.replace(/\/+$/,""),H=l.target||"#app",w=l.compile||null,M=l.persist||!1,$=l.hash||!1,!w)w=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(H))n=document.createElement("div"),n.id=H.replace(/^#/,""),document.body.prepend(n);if(l.bundle)u=l.bundle;else if(l.bundleUrl){if(R={},A=`__rip_etag_${l.bundleUrl}`,_=sessionStorage.getItem(A),_)R["If-None-Match"]=_;if(O=await fetch(l.bundleUrl,{headers:R}),O.status===304)u=JSON.parse(sessionStorage.getItem(`${A}_data`));else if(O.ok){if(u=await O.json(),D=O.headers.get("etag"),D)sessionStorage.setItem(A,D),sessionStorage.setItem(`${A}_data`,JSON.stringify(u))}else throw Error(`launch: ${l.bundleUrl} (${O.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(c=v3({components:{},routes:{},data:{}}),globalThis.__ripApp=c,u.data)c.data=u.data;if(u.routes)c.routes=u.routes;if(M&&typeof sessionStorage<"u")r3(c,{local:M==="local",key:`__rip_${f}`});if(h=a3(),u.components)h.load(u.components);if(i=`__rip_${f.replace(/\//g,"_")||"app"}`,z={map:P3(h),classes:{},key:i},typeof globalThis<"u")globalThis[i]=z.classes;if(c.data.title&&typeof document<"u")document.title=c.data.title;if(U=s3(h,{root:"components",base:f,hash:$,onError:function(W){return console.error(`[Rip] Error ${W.status}: ${W.message||W.path}`)}}),F=d3({router:U,app:c,components:h,resolver:z,compile:w,target:H,onError:function(W){return console.error(`[Rip] ${W.message}`,W.error)}}),F.start(),u.data?.watch)N3(`${f}/watch`);if(typeof window<"u")window.app=c,window.__RIP__={app:c,components:h,router:U,renderer:F,resolver:z,cache:F.cache,version:"0.3.0"};return{app:c,components:h,router:U,renderer:F}};n1=function(f,l){if(!l)return;return f.preventDefault(),f.stopPropagation(),l()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;O3=function(f,l){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return n1(f,l.next);case"ArrowUp":return n1(f,l.prev);case"Home":case"PageUp":return n1(f,l.first);case"End":case"PageDown":return n1(f,l.last);case"Enter":case" ":return n1(f,l.select);case"Escape":return n1(f,l.dismiss);case"Tab":return l.tab?.();default:return f.key.length===1?l.char?.(f.key):void 0}})()};Q3=function(f,l,c,h=[],u=null){let _,i,w;if(!f)return;return _=function(n){return typeof n==="function"?n():n},i=(n)=>{return![_(l),...h.map(_)].some(function(D){return D?.contains(n.target)})?c():void 0},w=(n)=>{if(_(l)?.contains(n.target))return;return u?u():c()},document.addEventListener("mousedown",i),window.addEventListener("scroll",w,!0),function(){return document.removeEventListener("mousedown",i),window.removeEventListener("scroll",w,!0)}};Y3=function(f=250){let l;return l=0,{block:function(c=f){return l=Date.now()+c},canOpen:function(){return Date.now()>=l}}};W3=function(f,l,c,h=null){let u,_,i,w,n,D,A,$,R,M,F;if(w=function(O){return typeof O==="function"?O():O},u=function(){let O,z;if(O=document.activeElement,O&&O!==document.body)return O;if(z=globalThis.__ariaLastFocusedEl,z?.isConnected!==!1)return z;return null},i=w(l),!i)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(A=null,F=function(O){if(O){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}},$=function(){let O,z;if(z=A,A=null,!z?.focus)return;return O=function(U=6){if(z.isConnected===!1)return;try{z.focus({preventScroll:!0})}catch{z.focus()}if(document.activeElement===z||U<=1)return;return setTimeout(function(){return O(U-1)},16)},requestAnimationFrame(function(){return O()})},n=function(O){let z;if(z=O.newState==="open",z)A=w(h)||u(),F(!0);else F(!1),$();return c?.(z)},i.addEventListener("toggle",n),R=i.matches(":popover-open"),_=!!f,R!==_){if(M=w(h),_)A=M||u(),F(!0);D=M&&_?{force:_,source:M}:{force:_};try{i.togglePopover(D)}catch{}}else F(_);return function(){return i.removeEventListener("toggle",n)}};z3=function(f,l,c,h=!0){let u,_,i,w,n,D,A,$;if(i=function(R){return typeof R==="function"?R():R},u=function(){let R,M;if(R=document.activeElement,R&&R!==document.body)return R;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},_=i(l),!_?.showModal)return;if(D=null,$=function(R){if(R){_.hidden=!1;try{_.inert=!1}catch{}return _.removeAttribute("aria-hidden")}else{try{_.inert=!0}catch{}return _.setAttribute("aria-hidden","true"),_.hidden=!0}},A=function(){let R,M;if(M=D,D=null,!M?.focus)return;return R=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 R(F-1)},16)},requestAnimationFrame(function(){return R()})},w=function(R){if(!h){R.preventDefault();return}return c?.(!1)},n=function(){return c?.(!1),$(!1),A()},_.addEventListener("cancel",w),_.addEventListener("close",n),f&&!_.open){if(!D)D=u();$(!0);try{_.showModal()}catch{}}else if(!f&&_.open)_.close();else $(!!f);return function(){return _.removeEventListener("cancel",w),_.removeEventListener("close",n)}};G3=function(f,l,c="vertical"){let h,u;if(f.isComposing)return;return u=c!=="horizontal",h=c!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?n1(f,l.next):void 0;case"ArrowUp":return u?n1(f,l.prev):void 0;case"ArrowRight":return h?n1(f,l.next):void 0;case"ArrowLeft":return h?n1(f,l.prev):void 0;case"Home":case"PageUp":return n1(f,l.first);case"End":case"PageDown":return n1(f,l.last);case"Enter":case" ":return n1(f,l.select);case"Escape":return n1(f,l.dismiss);default:return f.key.length===1?l.char?.(f.key):void 0}})()};q3=function(f,l,c=4,h=!0){let u,_;if(!(f&&l))return;if(_=f.getBoundingClientRect(),l.style.position="fixed",l.style.left=`${_.left}px`,l.style.top=`${_.bottom+c}px`,l.style.minWidth=`${_.width}px`,u=l.getBoundingClientRect(),u.bottom>window.innerHeight)l.style.top=`${_.top-u.height-c}px`;if(u.right>window.innerWidth)l.style.left=`${window.innerWidth-u.width-c}px`;return h?l.style.visibility="visible":void 0};var x5='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';J3=function(f){let l;return l=function(c){let h,u,_;if(c.key!=="Tab")return;if(_=Array.from(f.querySelectorAll(x5)).filter(function(i){return i.offsetParent!==null}),!_.length)return;return h=_[0],u=_[_.length-1],c.shiftKey?document.activeElement===h?(c.preventDefault(),u.focus()):void 0:document.activeElement===u?(c.preventDefault(),h.focus()):void 0},f.addEventListener("keydown",l),function(){return f.removeEventListener("keydown",l)}};Z3=function(f,l){let c,h;if(!f)return;if(h=f.querySelector("h1,h2,h3,h4,h5,h6"),h)h.id??=`${l}-title`,f.setAttribute("aria-labelledby",h.id);if(c=f.querySelector("p"),c)return c.id??=`${l}-desc`,f.setAttribute("aria-describedby",c.id)};y1=[];H3=function(f){let l;if(l=window.scrollY,y1.push({instance:f,scrollY:l}),y1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${l}px`,document.body.style.width="100%"};S3=function(f){let l,c;if(l=y1.findIndex(function(h){return h.instance===f}),l<0)return;if({scrollY:c}=y1.splice(l,1)[0],!y1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,c)};P2=function(){let f,l,c;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),l=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",l.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(l),c=l.getBoundingClientRect(),f.remove(),l.remove(),c.top>50}catch{return!1}})()}();K3=function(f,l,c={}){let h,u,_,i,w,n,D;if(!(f&&l))return;if(w=c.placement??"bottom start",i=c.offset??4,u=c.matchWidth??!1,P2){switch(_=`--anchor-${l.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=_,l.style.positionAnchor=_,l.style.position="fixed",l.style.inset="auto",l.style.margin="0",l.style.positionArea=w,l.style.positionTry="flip-block, flip-inline, flip-block flip-inline",l.style.positionVisibility="anchors-visible",[D]=w.split(" "),l.style.marginTop="",l.style.marginBottom="",l.style.marginLeft="",l.style.marginRight="",D){case"bottom":l.style.marginTop=`${i}px`;break;case"top":l.style.marginBottom=`${i}px`;break;case"left":l.style.marginRight=`${i}px`;break;case"right":l.style.marginLeft=`${i}px`;break}return u?l.style.minWidth="anchor-size(width)":void 0}else{switch(n=f.getBoundingClientRect(),l.style.position="fixed",l.style.inset="auto",l.style.margin="0",[D,h]=w.split(" "),h??="start",D){case"bottom":l.style.top=`${n.bottom+i}px`;break;case"top":l.style.bottom=`${window.innerHeight-n.top+i}px`;break;case"left":l.style.right=`${window.innerWidth-n.left+i}px`;break;case"right":l.style.left=`${n.right+i}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(D):(D in["bottom","top"]))switch(h){case"start":l.style.left=`${n.left}px`;break;case"center":l.style.left=`${n.left+n.width/2}px`,l.style.transform="translateX(-50%)";break;case"end":l.style.right=`${window.innerWidth-n.right}px`;break}else switch(h){case"start":l.style.top=`${n.top}px`;break;case"center":l.style.top=`${n.top+n.height/2}px`,l.style.transform="translateY(-50%)";break;case"end":l.style.bottom=`${window.innerHeight-n.bottom}px`;break}return u?l.style.minWidth=`${n.width}px`:void 0}};globalThis.__aria??={listNav:O3,rovingNav:G3,popupDismiss:Q3,popupGuard:Y3,bindPopover:W3,bindDialog:z3,positionBelow:q3,trapFocus:J3,wireAria:Z3,lockScroll:H3,unlockScroll:S3,position:K3,hasAnchor:P2};globalThis.ARIA??=globalThis.__aria;J1.modules["app.rip"]=c2;for(let[f,l]of Object.entries(c2))if(typeof l==="function")globalThis[f]=l;})();
|
|
1643
|
+
`,j5=2;function m5(f){let l=/\n?\/\/# sourceMappingURL=data:application\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\s*$/,h=f.match(l);if(!h)return{js:f,mapJSON:null};let w;try{let u=atob(h[1]),_=new Uint8Array(u.length);for(let D=0;D<u.length;D++)_[D]=u.charCodeAt(D);w=new TextDecoder().decode(_)}catch{return{js:f.slice(0,h.index),mapJSON:null}}return{js:f.slice(0,h.index),mapJSON:w}}function v5(f){let l=0;for(let h=0;h<f.length;h++)if(f.charCodeAt(h)===10)l++;return l}function g5(f){let l=f.split(";"),h=[],w=0,u=0,_=0,D=0;for(let c of l){let A=[],$=0;if(c.length>0)for(let R of c.split(",")){if(R.length===0)continue;let M=A3(R);if($+=M[0],M.length===1)A.push({genCol:$});else{w+=M[1],u+=M[2],_+=M[3];let z={genCol:$,src:w,origLine:u,origCol:_};if(M.length>=5)D+=M[4],z.name=D;A.push(z)}}h.push(A)}return h}function x5(f){let l=0,h=0,w=0,u=0,_=0,D=[];for(let c of f){l=0;let A=[];for(let $ of c){if($.src==null)A.push(R1($.genCol-l));else{let R=R1($.genCol-l);if(R+=R1($.src-h),R+=R1($.origLine-w),R+=R1($.origCol-u),$.name!=null)R+=R1($.name-_),_=$.name;h=$.src,w=$.origLine,u=$.origCol,A.push(R)}l=$.genCol}D.push(A.join(","))}return D.join(";")}function r5(f){let l=f.map((U)=>{if(U.mapJSON!==void 0)return{js:U.js,mapJSON:U.mapJSON};return m5(U.js)}),h=l.some((U)=>U.mapJSON),w=l.map((U)=>U.js).join(V5);if(!h)return{js:w,mapJSON:null};let u=[],_=[],D=new Map,c=[],A=new Map;function $(U,Y){if(D.has(U))return D.get(U);let H=u.length;return u.push(U),_.push(Y??null),D.set(U,H),H}function R(U){if(A.has(U))return A.get(U);let Y=c.length;return c.push(U),A.set(U,Y),Y}let M=[],z=0;for(let U=0;U<l.length;U++){let Y=l[U],H={lineOffset:z,srcRemap:[],nameRemap:[],perLineSegs:null};if(Y.mapJSON){let n;try{n=JSON.parse(Y.mapJSON)}catch{n=null}if(n&&typeof n.mappings==="string"){let K=n.sources||[],Z=n.sourcesContent||[];H.srcRemap=K.map((J,N)=>$(J,Z[N]));let G=n.names||[];H.nameRemap=G.map((J)=>R(J)),H.perLineSegs=g5(n.mappings)}}M.push(H);let O=v5(Y.js),q=U<l.length-1?j5:0;z+=O+q}let F=z+1,W=Array(F).fill(null).map(()=>[]);for(let U of M){if(!U.perLineSegs)continue;for(let Y=0;Y<U.perLineSegs.length;Y++){let H=U.lineOffset+Y;if(H>=W.length)while(W.length<=H)W.push([]);for(let O of U.perLineSegs[Y])if(O.src==null)W[H].push({genCol:O.genCol});else{let q={genCol:O.genCol,src:U.srcRemap[O.src],origLine:O.origLine,origCol:O.origCol};if(O.name!=null)q.name=U.nameRemap[O.name];W[H].push(q)}}}let Q=x5(W);return{js:w,mapJSON:JSON.stringify({version:3,sources:u,sourcesContent:_,names:c,mappings:Q})}}function a5(f){if(typeof Buffer<"u")return Buffer.from(f,"utf8").toString("base64");let l=new TextEncoder().encode(f),h="";for(let w=0;w<l.length;w++)h+=String.fromCharCode(l[w]);return btoa(h)}function $3(f){let{js:l,mapJSON:h}=r5(f);if(!h)return l;let w=a5(h);return l+`
|
|
1644
|
+
//# sourceMappingURL=data:application/json;base64,`+w+`
|
|
1645
|
+
`}var R3="3.15.4",M3="2026-04-27@08:44:03GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(v1())();if(!globalThis.__ripComponent)Function(g1())()}var d5=(f)=>{let l=f.match(/^[ \t]*(?=\S)/gm),h=Math.min(...(l||[]).map((w)=>w.length));return f.replace(RegExp(`^[ ]{${h}}`,"gm"),"").trim()},K2=(f)=>String(f).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function U3(f,l){let w=`//# sourceURL=${K2(l)}`,u=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,_=f.match(u);if(_)return f.slice(0,_.index)+`
|
|
1646
|
+
`+w+f.slice(_.index);return f+`
|
|
1647
|
+
`+w}function F3(f,l){if(!l)return f;return f.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(h,w)=>{let u;try{let A=atob(w),$=new Uint8Array(A.length);for(let R=0;R<A.length;R++)$[R]=A.charCodeAt(R);u=new TextDecoder().decode($)}catch{return h}let _;try{_=JSON.parse(u)}catch{return h}_.mappings=";".repeat(l)+_.mappings;let D=new TextEncoder().encode(JSON.stringify(_)),c="";for(let A=0;A<D.length;A++)c+=String.fromCharCode(D[A]);return`//# sourceMappingURL=data:application/json;base64,${btoa(c)}`})}function s5(f,l){let h=`${K2(l)}.js`,w=F3(f,1);return`(async()=>{
|
|
1648
|
+
${U3(w,h)}
|
|
1649
|
+
})()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:F3,addSourceURL:U3,sanitizeSourceURL:K2};async function z3(){let f=[],l=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),h=l?.getAttribute("data-src");if(h){for(let w of h.trim().split(/\s+/))if(w)f.push({url:w})}for(let w of document.querySelectorAll('script[type="text/rip"]'))if(w.src)f.push({url:w.src});else{let u=d5(w.textContent);if(u)f.push({code:u})}if(f.length>0){let w=await Promise.allSettled(f.map(async(A)=>{if(!A.url)return;let $=await fetch(A.url);if(!$.ok)throw Error(`${A.url} (${$.status})`);if(A.url.endsWith(".rip"))A.code=await $.text();else{let R=await $.json();A.bundle=R}}));for(let A of w)if(A.status==="rejected")console.warn("Rip: fetch failed:",A.reason.message);let u=[],_=[];for(let A of f)if(A.bundle)u.push(A.bundle);else if(A.code)_.push(A);let D=l?.getAttribute("data-router");if(D!=null&&u.length>0){let A=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=A;let $={skipRuntimes:!0,skipExports:!0,skipImports:!0},R=0;for(let z of _){let F=z.url||`inline-${++R}.rip`,W=A?{...$,sourceMap:"inline",filename:F}:$,Q;try{Q=H1(z.code,W)}catch(i){console.error(Z1(i,{source:z.code,file:F,color:!1}));continue}try{await(0,eval)(A?s5(Q,F):`(async()=>{
|
|
1650
|
+
${Q}
|
|
1651
|
+
})()`)}catch(i){console.error(`Rip runtime error in ${F}:`,i)}}let M=J1.modules?.["app.rip"];if(M?.launch){let z=u[u.length-1],F=l.getAttribute("data-persist"),W={bundle:z,hash:D==="hash"};if(F!=null)W.persist=F==="local"?"local":!0;await M.launch("",W)}}else{let A=[];for(let F of u){for(let[W,Q]of Object.entries(F.components||{}))A.push({code:Q,url:W});if(F.data){let W=l?.getAttribute("data-state"),Q={};if(W)try{Q=JSON.parse(W)}catch{}Object.assign(Q,F.data),l?.setAttribute("data-state",JSON.stringify(Q))}}A.push(..._);let $=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=$;let R={skipRuntimes:!0,skipExports:!0,skipImports:!0},M=[],z=0;for(let F of A){if(!F.code)continue;let W=F.url||`inline-${++z}.rip`,Q=$?{...R,sourceMap:"inline",filename:W}:R;try{let i=H1(F.code,Q);M.push({js:i,url:W})}catch(i){console.error(Z1(i,{source:F.code,file:W,color:!1}))}}if(!globalThis.__ripApp&&l){let F=globalThis.stash;if(F){let W={},Q=l.getAttribute("data-state");if(Q)try{W=JSON.parse(Q)}catch(Y){console.error("Rip: invalid data-state JSON:",Y.message)}let i=F({data:W});if(globalThis.__ripApp=i,typeof window<"u")window.app=i;let U=l.getAttribute("data-persist");if(U!=null&&globalThis.persistStash)globalThis.persistStash(i,{local:U==="local"})}}if(M.length>0){let F=l?.getAttribute("data-mount"),W=l?.getAttribute("data-target")||"body",Q=F?`
|
|
1652
|
+
${F}.mount(${JSON.stringify(W)});
|
|
1653
|
+
`:"",i=$3(M.map((H)=>({js:H.js}))),U=F?i.replace(/(\n\/\/# sourceMappingURL=[^\n]*\n?)?$/,Q+"$1"):i,Y=!0;try{await(0,eval)(`(async()=>{
|
|
1654
|
+
${U}
|
|
1655
|
+
})()`)}catch(H){if(Y=!1,H instanceof SyntaxError)console.error(`Rip syntax error: ${H.message}`);else console.error("Rip runtime error:",H)}if(Y)document.body.classList.add("ready")}}}if(l?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let w=!1,u=1000,_=30000,D=()=>{let c=new EventSource("/watch");c.addEventListener("connected",()=>{if(u=1000,w)location.reload();w=!0}),c.addEventListener("reload",(A)=>{if(A.data==="styles"){let $=Date.now(),R=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((M)=>{if(new URL(M.href).origin!==location.origin)return;let z=new URL(M.href);z.searchParams.set("_r",$),M.href=z.toString(),R++}),!R)location.reload()}else location.reload()}),c.onerror=()=>{c.close(),setTimeout(D,u),u=Math.min(u*2,_)}};D()}}async function J1(f){for(let[D,c]of Object.entries(J1.modules))if(f.includes(D))return c;let l=await fetch(f).then((D)=>{if(!D.ok)throw Error(`importRip: ${f} (${D.status})`);return D.text()}),h=H1(l),w=`// ${f}
|
|
1656
|
+
`,u=new Blob([w+h],{type:"application/javascript"});return await import(URL.createObjectURL(u))}J1.modules={};function W3(f){try{let l=f.replace(/^/gm," "),w=H1(`do ->
|
|
1657
|
+
${l}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");w=w.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(w);if(u&&typeof u.then==="function")return u.then((_)=>{if(_!==void 0)globalThis._=_;return _});if(u!==void 0)globalThis._=u;return u}catch(l){console.error(Z1(l,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=W3,globalThis.importRip=J1,globalThis.compileToJS=H1,globalThis.__ripExports={compile:f2,compileToJS:H1,formatSExpr:z1,getStdlibCode:m1,VERSION:R3,BUILD_DATE:M3,getReactiveRuntime:v1,getComponentRuntime:g1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let l=()=>z3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(l));else queueMicrotask(l)});var h2={};y2(h2,{throttle:()=>p5,stash:()=>r3,setContext:()=>v3,raw:()=>L1,persistStash:()=>a3,launch:()=>u0,isStash:()=>k5,hold:()=>e5,hasContext:()=>T3,getContext:()=>b3,delay:()=>d3,debounce:()=>t5,createRouter:()=>k3,createResource:()=>o5,createRenderer:()=>o3,createComponents:()=>s3});var n2,i3,X2,H3,S2,P1,c1,Q3,Y3,P2,O3,K3,y1,A1,n3,q3,G3,Z3,J3,X3,S3,P3,$1,q2,r1,a1,l2,N3,E3,_2,x1,I3,y3,B3,G2,Z2,b3,L3,N2,T3,C3,J2,S1,E2,V3,j3,B1,m3,v3,X1,g3,I1,b1,x3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,l)=>{if(!f)throw Error(l||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,l)=>{throw l!==void 0?new f(l):Error(f)};globalThis.rand??=(f,l)=>l!==void 0?(f>l&&([f,l]=[l,f]),Math.floor(Math.random()*(l-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((l)=>setTimeout(l,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((l,h)=>f.map((w)=>w[h]));({__state:c1,__effect:P1,__batch:S2}=globalThis.__rip);({setContext:v3,getContext:b3,hasContext:T3}=globalThis.__ripComponent||{});X2=new WeakMap;n2=new WeakMap;q2=0;l2=c1(0);$1=0;J2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};C3=function(f){return/^-?\d+$/.test(f)};N2=function(f,l){let h;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(h=f[Symbol.for("signals")].get(l),!h)h=c1(f[l]),f[Symbol.for("signals")].set(l,h);return h};S1=function(f){return N2(f,Symbol.for("keys"))};x3=function(f){let l;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(l=X2.get(f),l)return l;return E2(f)};E2=function(f){let l,h;return h=null,l={get:function(w,u){let _,D,c;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return w;if(typeof u==="symbol")return Reflect.get(w,u);if(u==="length"&&Array.isArray(w))return S1(w).value,w.length;if(!$1&&J2(u))return X1(h,u);if(_=g3(h,u),_)return _;if(D=N2(w,u),c=D.value,c!=null&&typeof c==="object")return x3(c);return c},set:function(w,u,_){let D,c;if(!$1&&J2(u))return I1(h,u,_),!0;if(D=w[u],c=_?.[Symbol.for("raw")]?_[Symbol.for("raw")]:_,c===D)return!0;if(w[u]=c,w[Symbol.for("signals")]?.has(u))w[Symbol.for("signals")].get(u).value=c;if(D===void 0&&c!==void 0)S1(w).value=++q2;return l2.value++,!0},deleteProperty:function(w,u){let _;if(delete w[u],_=w[Symbol.for("signals")]?.get(u),_!=null)_.value=void 0;return S1(w).value=++q2,l2.value++,!0},ownKeys:function(w){return S1(w).value,Reflect.ownKeys(w)}},h=new Proxy(f,l),X2.set(f,h),h};i3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;b1=function(f){let l,h,w,u,_;w=("."+f).split(i3),w.shift(),_=[],h=0;while(h<w.length){if(u=w[h],l=u[0],l==="."||l==="/")_.push(u.slice(1));else if(l==="[")if(u[1]==='"'||u[1]==="'")_.push(u.slice(2,-2));else _.push(+u.slice(1,-1));h+=2}return _};B1=function(f,l){let h;if(typeof f==="number"&&f<0){if(h=L1(l),Array.isArray(h))return h.length+f}return f};X1=function(f,l){let h,w,u;return u=b1(l),h=f,$1++,(()=>{try{for(let _ of u){if(h==null)return;h=h[B1(_,h)]}return h}finally{$1--}})()};I1=function(f,l,h){let w,u,_,D,c,A;return A=b1(l),D=f,$1++,(()=>{try{for(let $=0;$<A.length;$++){let R=A[$];if(u=B1(R,D),$===A.length-1)D[u]=h;else{if(D[u]==null)_=A[$+1],D[u]=typeof _==="number"||C3(_)?[]:{};D=D[u]}}return h}finally{$1--}})()};H3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};g3=function(f,l){let h,w;if(!H3[l])return;if(h=n2.get(f),!h)h={},n2.set(f,h);if(h[l])return h[l];return w=(()=>{switch(l){case"inc":return function(u,_=1){let D;return D=X1(f,u)??0,I1(f,u,D+_)};case"dec":return function(u,_=1){let D;return D=X1(f,u)??0,I1(f,u,D-_)};case"flip":return function(u){let _;return _=X1(f,u)??!1,I1(f,u,!_)};case"join":return function(u,_){return S2(function(){let D,c,A;if(c=X1(f,u),!(c!=null&&typeof c==="object"))I1(f,u,{}),c=X1(f,u);return $1++,(()=>{try{return(()=>{let $=[];for(let R in _){let M=_[R];$.push(c[R]=M)}return $})()}finally{$1--}})()})};case"keys":return function(u){let _,D,c,A;return $1++,(()=>{try{c=b1(u),_=f;for(let $ of c){if(_==null)return[];_=_[B1($,_)]}if(!(_!=null&&typeof _==="object"))return[];return A=L1(_),S1(A).value,Object.keys(A)}finally{$1--}})()};case"has":return function(u){let _,D,c,A,$,R;return $1++,(()=>{try{if($=b1(u),!($.length>0))return!1;c=f;for(let M=0;M<$.length;M++){let z=$[M];if(D=B1(z,c),M===$.length-1)return R=L1(c),S1(R).value,Object.prototype.hasOwnProperty.call(R,D);if(c==null)return!1;c=c[D]}return!1}finally{$1--}})()};case"del":return function(u){let _,D,c,A,$;return $1++,(()=>{try{if($=b1(u),!($.length>0))return;return c=f,(()=>{let R=[];for(let M=0;M<$.length;M++){let z=$[M];if(D=B1(z,c),M===$.length-1){delete c[D];return}if(c==null)return;R.push(c=c[D])}return R})()}finally{$1--}})()}}})(),h[l]=w,w};var r3=function(f={}){return E2(f)},L1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},k5=function(f){return f?.[Symbol.for("stash")]===!0},a3=function(f,l={}){let h,w,u,_,D,c,A,$;if(A=L1(f)||f,A[Symbol.for("persisted")])return;A[Symbol.for("persisted")]=!0,D=l.local?localStorage:sessionStorage,c=l.key||"__rip_app";try{if(u=D.getItem(c),u){_=JSON.parse(u);for(let R in _){let M=_[R];f.data[R]=M}}}catch{}return h=function(){return(()=>{try{return D.setItem(c,JSON.stringify(L1(f.data)))}catch{return null}})()},P1(function(){let R;return l2.value,R=setTimeout(h,2000),function(){return clearTimeout(R)}}),window.addEventListener("beforeunload",h)},o5=function(f,l={}){let h,w,u,_,D;if(h=c1(l.initial||null),u=c1(!1),w=c1(null),_=async function(){let c;return u.value=!0,w.value=null,await(async()=>{try{return c=await f(),h.value=c}catch(A){return w.value=A}finally{u.value=!1}})()},D={data:void 0,loading:void 0,error:void 0,refetch:_},Object.defineProperty(D,"data",{get:function(){return h.value}}),Object.defineProperty(D,"loading",{get:function(){return u.value}}),Object.defineProperty(D,"error",{get:function(){return w.value}}),!l.lazy)_();return D};a1=function(f){return typeof f==="function"?f:function(){return f.value}};r1=function(f,l){let h;return h={read:function(){return f.read()}},Object.defineProperty(h,"value",{get:function(){return f.value},set:function(w){return l.value=w}}),h};var d3=function(f,l){let h,w;return h=a1(l),w=c1(!!h()),P1(function(){let u;if(h())return u=setTimeout(function(){return w.value=!0},f),function(){return clearTimeout(u)};else return w.value=!1}),typeof l!=="function"?r1(w,l):w},t5=function(f,l){let h,w;return h=a1(l),w=c1(h()),P1(function(){let u,_;return _=h(),u=setTimeout(function(){return w.value=_},f),function(){return clearTimeout(u)}}),typeof l!=="function"?r1(w,l):w},p5=function(f,l){let h,w,u;return h=a1(l),u=c1(h()),w=0,P1(function(){let _,D,c,A;if(A=h(),_=Date.now(),D=f-(_-w),D<=0)return u.value=A,w=_;else return c=setTimeout(function(){return u.value=h(),w=Date.now()},D),function(){return clearTimeout(c)}}),typeof l!=="function"?r1(u,l):u},e5=function(f,l){let h,w;return h=a1(l),w=c1(!!h()),P1(function(){let u;if(h())return w.value=!0;else return u=setTimeout(function(){return w.value=!1},f),function(){return clearTimeout(u)}}),typeof l!=="function"?r1(w,l):w},s3=function(){let f,l,h,w;return l=new Map,w=[],f=new Map,h=function(u,_){let D,c=[];for(let A of w)c.push(A(u,_));return c},{read:function(u){return l.get(u)},write:function(u,_){let D;return D=!l.has(u),l.set(u,_),f.delete(u),h(D?"create":"change",u)},del:function(u){return l.delete(u),f.delete(u),h("delete",u)},exists:function(u){return l.has(u)},size:function(){return l.size},list:function(u=""){let _,D,c,A;A=[],D=u?u+"/":"";for(let[$]of l)if($.startsWith(D)){if(c=$.slice(D.length),c.includes("/"))continue;A.push($)}return A},listAll:function(u=""){let _,D,c;c=[],D=u?u+"/":"";for(let[A]of l)if(A.startsWith(D))c.push(A);return c},load:function(u){let _,D,c=[];for(let A in u){let $=u[A];c.push(l.set(A,$))}return c},watch:function(u){return w.push(u),function(){return w.splice(w.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,_){return f.set(u,_)}}};B3=function(f){let l;if(l=f.replace(/\.rip$/,""),l=l.replace(/\[\.\.\.(\w+)\]/g,"*$1"),l=l.replace(/\[(\w+)\]/g,":$1"),l==="index")return"/";return l=l.replace(/\/index$/,""),"/"+l};j3=function(f){let l,h;return l=[],h=f.replace(/\*(\w+)/g,function(w,u){return l.push(u),"(.+)"}).replace(/:(\w+)/g,function(w,u){return l.push(u),"([^/]+)"}),{regex:new RegExp("^"+h+"$"),names:l}};V3=function(f,l){let h,w,u,_,D;for(let c of l)if(w=f.match(c.regex.regex),w){_={};for(let A=0;A<c.regex.names.length;A++){let $=c.regex.names[A];_[$]=decodeURIComponent(w[A+1])}return{route:c,params:_}}return null};_2=function(f,l="components"){let h,w,u,_,D,c,A,$,R,M;$=[],_=new Map,h=f.listAll(l);for(let z of h){if(A=z.slice(l.length+1),!A.endsWith(".rip"))continue;if(D=A.split("/").pop(),D==="_layout.rip"){w=A==="_layout.rip"?"":A.slice(0,-12),_.set(w,z);continue}if(D.startsWith("_"))continue;if(R=A.split("/"),R.length>1&&R.some(function(F,W){return W<R.length-1&&F.startsWith("_")}))continue;M=B3(A),c=j3(M),$.push({pattern:M,regex:c,file:z,rel:A})}return $.sort(function(z,F){let W,Q,i,U;if(Q=(z.pattern.match(/:/g)||[]).length,U=(F.pattern.match(/:/g)||[]).length,W=z.pattern.includes("*")?1:0,i=F.pattern.includes("*")?1:0,W!==i)return W-i;if(Q!==U)return Q-U;return z.pattern.localeCompare(F.pattern)}),{routes:$,layouts:_}};L3=function(f,l,h){let w,u,_,D,c,A;if(w=[],D=f.slice(l.length+1),A=D.split("/"),u="",h.has(""))w.push(h.get(""));for(let $=0;$<A.length;$++){let R=A[$];if($===A.length-1)break;if(u=u?u+"/"+R:R,h.has(u))w.push(h.get(u))}return w};var k3=function(f,l={}){let h,w,u,_,D,c,A,$,R,M,z,F,W,Q,i,U,Y,H,O,q,n;if(Y=l.root||"components",R=l.base||"",M=l.hash||!1,W=l.onError||null,O=function(K){return R&&K.startsWith(R)?K.slice(R.length)||"/":K},$=function(K){return R?R+K:K},i=function(){let K;if(M){if(K=location.hash.slice(1),!K)return"/";return K[0]==="/"?K:"/"+K}else return location.pathname+location.search+location.hash},n=function(K){return M?K==="/"?location.pathname:"#"+K.slice(1):$(K)},D=c1(O(M?i():location.pathname)),_=c1({}),A=c1(null),w=c1([]),c=c1({}),h=c1(""),u=d3(100,c1(!1)),q=_2(f,Y),z=new Set,f.watch(function(K,Z){if(!Z.startsWith(Y+"/"))return;return q=_2(f,Y)}),U=function(K){let Z,G,J,N,g,L;if(g=K.split("?")[0].split("#")[0],J=O(g),J=J[0]==="/"?J:"/"+J,N=K.split("?")[1]?.split("#")[0]||"",G=K.includes("#")?K.split("#")[1]:"",L=V3(J,q.routes),L){S2(function(){return D.value=J,_.value=L.params,A.value=L.route,w.value=L3(L.route.file,Y,q.layouts),c.value=Object.fromEntries(new URLSearchParams(N)),h.value=G});for(let T of z)T(H.current);return!0}if(W)W({status:404,path:J});return!1},Q=function(){return U(i())},typeof window<"u")window.addEventListener("popstate",Q);if(F=function(K){let Z,G,J;if(K.button!==0||K.metaKey||K.ctrlKey||K.shiftKey||K.altKey)return;G=K.target;while(G&&G.tagName!=="A")G=G.parentElement;if(!G?.href)return;if(J=new URL(G.href,location.origin),J.origin!==location.origin)return;if(G.target==="_blank"||G.hasAttribute("data-external"))return;return K.preventDefault(),Z=M&&J.hash?J.hash.slice(1)||"/":J.pathname+J.search+J.hash,H.push(Z)},typeof document<"u")document.addEventListener("click",F);return H={push:function(K){return U(K)?history.pushState(null,"",n(D.read())):void 0},replace:function(K){return U(K)?history.replaceState(null,"",n(D.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(K){return z.add(K),function(){return z.delete(K)}},rebuild:function(){return q=_2(f,Y)},routes:void 0,init:function(){return U(i()),H},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",Q);if(typeof document<"u")document.removeEventListener("click",F);return z.clear()}},Object.defineProperty(H,"current",{get:function(){return{path:D.value,params:_.value,route:A.value,layouts:w.value,query:c.value,hash:h.value}}}),Object.defineProperty(H,"path",{get:function(){return D.value}}),Object.defineProperty(H,"params",{get:function(){return _.value}}),Object.defineProperty(H,"route",{get:function(){return A.value}}),Object.defineProperty(H,"layouts",{get:function(){return w.value}}),Object.defineProperty(H,"query",{get:function(){return c.value}}),Object.defineProperty(H,"hash",{get:function(){return h.value}}),Object.defineProperty(H,"navigating",{get:function(){return u.value},set:function(K){return u.value=K}}),Object.defineProperty(H,"routes",{get:function(){return q.routes}}),H};N3=function(f,l){let h,w;if(f.length!==l.length)return!1;for(let u=0;u<f.length;u++)if(f[u]!==l[u])return!1;return!0};Z2=function(f){let l,h;for(let w in f){let u=f[w];if(typeof u==="function"&&(u.prototype?.mount||u.prototype?._create))return u}return typeof f.default==="function"?f.default:void 0};G2=function(f){let l,h,w;h={};for(let u in f){let _=f[u];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))h[u]=_}return h};y3=function(f){let l;return l=f.split("/").pop().replace(/\.rip$/,""),l.replace(/(^|[-_])([a-z])/g,function(h,w,u){return u.toUpperCase()})};E3=function(f,l="components"){let h,w,u,_;w={};for(let D of f.listAll(l)){if(!D.endsWith(".rip"))continue;if(h=D.split("/").pop(),h.startsWith("_"))continue;if(u=y3(D),w[u])console.warn(`[Rip] Component name collision: ${u} (${w[u]} vs ${D})`);w[u]=D}return w};m3=function(f,l,h){let w,u,_,D,c,A;if(_=f.replace(/^(\.\.\/|\.\/)+/,""),w=_.split("/").pop(),l){c=l.split("/"),c.pop();for(let $ of f.split("/"))if($==="..")c.pop();else if($!==".")c.push($);if(u=c.join("/"),h.exists(u))return u}if(h.exists(`components/_lib/${_}`))return`components/_lib/${_}`;if(h.exists(`components/${_}`))return`components/${_}`;for(let $ of h.listAll("components"))if($.endsWith(`/${w}`))return $;return null};x1=async function(f,l,h=null,w=null,u=null){let _,D,c,A,$,R,M,z,F,W,Q,i,U,Y,H,O,q,n,K,Z,G,J,N,g,L,T,X,_1,S,I,y,v,k,h1;if(h&&w){if(c=h.getCompiled(w),c)return c}if(u&&w)u.compiling??={},u.compiling[w]=!0;if(A=globalThis?.__ripDebug?.enabled&&w,_1=0,U=A?l(f,{sourceMap:"inline",filename:w}):l(f),u){if(i=new Set,h){I=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,O=Array.from(U.matchAll(I));for(let P=O.length-1;P>=0;P--){let B=O[P];if([W,T,G,y,L]=B,v=m3(y,w,h),v===w)continue;if(!v){if(n=`[Rip] Could not resolve import: ${y}`,w)n+=` (from ${w})`;console.warn(n);continue}if(!u.blobUrls?.[v]){if(u.compiling?.[v])continue;if(M=h.read(v),M)await x1(M,l,h,v,u)}if(D=u.blobUrls?.[v],D){if(S=`${T}${D}${L}`,U=U.slice(0,B.index)+S+U.slice(B.index+W.length),G)for(let V of G.split(","))i.add(V.trim().split(/\s+as\s+/).pop().trim())}}}N={};for(let P in u.map){let B=u.map[P];if(i.has(P))continue;if(B!==w&&U.includes(`new ${P}(`)){if(!u.classes[P]){if(M=h.read(B),M){$=await x1(M,l,h,B,u),F=G2($);for(let V in F){let r=F[V];u.classes[V]=r}}}if(u.classes[P])N[P]=!0}}if(J=Object.keys(N),J.length>0)X=`const {${J.join(", ")}} = globalThis['${u.key}'];
|
|
1658
|
+
`,U=X+U,_1+=1}if(Q=w?`// ${w}
|
|
1659
|
+
`:"",Q)_1+=1;if(z=Q+U,A&&_1>0){if(g=globalThis?.__ripDebug?.offsetSourceMap,g)z=g(z,_1)}if(_=new Blob([z],{type:"application/javascript"}),k=URL.createObjectURL(_),u&&w){if(u.blobUrls??={},u.blobUrls[w]=k,u.compiling)delete u.compiling[w]}if(q=await import(k),u){F=G2(q);for(let P in F){let B=F[P];u.classes[P]=B}}if(h&&w)h.setCompiled(w,q);return q};var o3=function(f={}){let l,h,w,u,_,D,c,A,$,R,M,z,F,W,Q,i,U,Y,H,O,q,n;if({router:O,app:l,components:_,resolver:H,compile:w,target:q,onError:U}=f,D=typeof q==="string"?document.querySelector(q):q||document.getElementById("app"),!D)D=document.createElement("div"),D.id="app",document.body.appendChild(D);return c=null,R=null,$=null,A=[],F=[],Q=D,z=0,M=null,u=new Map,W=f.cacheSize||10,h=function(){let K,Z;if(c&&R){if(c.beforeUnmount)c.beforeUnmount();if(u.set(R,c),u.size>W){if(Z=u.keys().next().value,K=u.get(Z),K.unmounted)K.unmounted();u.delete(Z)}return c=null,R=null}},n=function(){let K;h();for(let Z=F.length-1;Z>=0;Z--){let G=F[Z];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return F=[],Q=D},_.watch(function(K,Z){let G;if(u.has(Z)){if(G=u.get(Z),G.unmounted)G.unmounted();return u.delete(Z)}}),i=async function(K){let Z,G,J,N,g,L,T,X,_1,S,I,y,v,k,h1,P,B,V,r,o,e,C,a;if({route:o,params:B,layouts:_1,query:r}=K,!o)return;if(o.file===R&&JSON.stringify(B)===JSON.stringify($))return;return $=B,N=++z,O.navigating=!0,await(async()=>{try{if(C=_.read(o.file),!C){if(U)U({status:404,message:`File not found: ${o.file}`});O.navigating=!1;return}if(v=await x1(C,w,_,o.file,H),N!==z){O.navigating=!1;return}if(Z=Z2(v),!Z){if(U)U({status:500,message:`No component found in ${o.file}`});O.navigating=!1;return}if(y=!N3(_1,A),h1=c?._target,y)n();else h();if(k=y?D:Q,y&&_1.length>0){D.innerHTML="",k=D;for(let s of _1){if(I=_.read(s),!I)continue;if(S=await x1(I,w,_,s,H),N!==z){O.navigating=!1;return}if(G=Z2(S),!G)continue;if(L=new G({app:l,params:B,router:O}),L.beforeMount)L.beforeMount();a=document.createElement("div"),a.setAttribute("data-layout",s),k.appendChild(a),L.mount(a),F.push(L),e=a.querySelector("#content")||a,k=e}A=[..._1],Q=k}else if(y)D.innerHTML="",A=[],Q=D;if(J=u.get(o.file),J){if(u.delete(o.file),k.appendChild(J._target),c=J,R=o.file,B)J.params=B;if(r)J.query=r;if(J.mounted)J.mounted();if(J.load)await J.load(B,r)}else{if(P=document.createElement("div"),P.setAttribute("data-component",o.file),k.appendChild(P),T=new Z({app:l,params:B,query:r,router:O}),T.beforeMount)T.beforeMount();if(T.mount(P),c=T,R=o.file,T.load)await T.load(B,r)}return h1?.remove(),O.navigating=!1}catch(s){if(O.navigating=!1,console.error(`Renderer: error mounting ${o.file}:`,s),U)U({status:500,message:s.message,error:s});g=!1;for(let p=F.length-1;p>=0;p--){let E=F[p];if(E.onError)try{E.onError(s),g=!0;break}catch(x){console.error("Renderer: error boundary failed:",x)}}return(()=>{if(!g)return V=document.createElement("pre"),V.style.cssText="color:red;padding:1em",V.textContent=s.stack||s.message,D.innerHTML="",D.appendChild(V)})()}})()},Y={start:function(){return M=P1(function(){let K;return K=O.current,K.route?i(K):void 0}),O.init(),Y},stop:function(){if(n(),M)M(),M=null;return D.innerHTML=""},remount:function(){let K;return K=O.current,K.route?i(K):void 0},cache:u},Y};I3=function(f){let l,h,w;return w=1000,h=30000,l=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return w=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){let _,D=[];for(let c of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL(c.href),f.searchParams.set("_t",Date.now()),c.href=f.toString();return D}),u.onerror=function(){return u.close(),setTimeout(l,w),w=Math.min(w*2,h)}},l()};var u0=async function(f="",l={}){let h,w,u,_,D,c,A,$,R,M,z,F,W,Q,i,U,Y;if(globalThis.__ripLaunched=!0,typeof f==="object")l=f,f="";if(f=f.replace(/\/+$/,""),Y=l.target||"#app",c=l.compile||null,F=l.persist||!1,M=l.hash||!1,!c)c=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(Y))A=document.createElement("div"),A.id=Y.replace(/^#/,""),document.body.prepend(A);if(l.bundle)u=l.bundle;else if(l.bundleUrl){if(z={},R=`__rip_etag_${l.bundleUrl}`,_=sessionStorage.getItem(R),_)z["If-None-Match"]=_;if(Q=await fetch(l.bundleUrl,{headers:z}),Q.status===304)u=JSON.parse(sessionStorage.getItem(`${R}_data`));else if(Q.ok){if(u=await Q.json(),$=Q.headers.get("etag"),$)sessionStorage.setItem(R,$),sessionStorage.setItem(`${R}_data`,JSON.stringify(u))}else throw Error(`launch: ${l.bundleUrl} (${Q.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(h=r3({components:{},routes:{},data:{}}),globalThis.__ripApp=h,u.data)h.data=u.data;if(u.routes)h.routes=u.routes;if(F&&typeof sessionStorage<"u")a3(h,{local:F==="local",key:`__rip_${f}`});if(w=s3(),u.components)w.load(u.components);if(D=`__rip_${f.replace(/\//g,"_")||"app"}`,i={map:E3(w),classes:{},key:D},typeof globalThis<"u")globalThis[D]=i.classes;if(h.data.title&&typeof document<"u")document.title=h.data.title;if(U=k3(w,{root:"components",base:f,hash:M,onError:function(H){return console.error(`[Rip] Error ${H.status}: ${H.message||H.path}`)}}),W=o3({router:U,app:h,components:w,resolver:i,compile:c,target:Y,onError:function(H){return console.error(`[Rip] ${H.message}`,H.error)}}),W.start(),u.data?.watch)I3(`${f}/watch`);if(typeof window<"u")window.app=h,window.__RIP__={app:h,components:w,router:U,renderer:W,resolver:i,cache:W.cache,version:"0.3.0"};return{app:h,components:w,router:U,renderer:W}};A1=function(f,l){if(!l)return;return f.preventDefault(),f.stopPropagation(),l()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;O3=function(f,l){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return A1(f,l.next);case"ArrowUp":return A1(f,l.prev);case"Home":case"PageUp":return A1(f,l.first);case"End":case"PageDown":return A1(f,l.last);case"Enter":case" ":return A1(f,l.select);case"Escape":return A1(f,l.dismiss);case"Tab":return l.tab?.();default:return f.key.length===1?l.char?.(f.key):void 0}})()};n3=function(f,l,h,w=[],u=null){let _,D,c;if(!f)return;return _=function(A){return typeof A==="function"?A():A},D=(A)=>{return![_(l),...w.map(_)].some(function($){return $?.contains(A.target)})?h():void 0},c=(A)=>{if(_(l)?.contains(A.target))return;return u?u():h()},document.addEventListener("mousedown",D),window.addEventListener("scroll",c,!0),function(){return document.removeEventListener("mousedown",D),window.removeEventListener("scroll",c,!0)}};q3=function(f=250){let l;return l=0,{block:function(h=f){return l=Date.now()+h},canOpen:function(){return Date.now()>=l}}};Y3=function(f,l,h,w=null){let u,_,D,c,A,$,R,M,z,F,W;if(c=function(Q){return typeof Q==="function"?Q():Q},u=function(){let Q,i;if(Q=document.activeElement,Q&&Q!==document.body)return Q;if(i=globalThis.__ariaLastFocusedEl,i?.isConnected!==!1)return i;return null},D=c(l),!D)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(R=null,W=function(Q){if(Q){D.hidden=!1;try{D.inert=!1}catch{}return D.removeAttribute("aria-hidden")}else{try{D.inert=!0}catch{}return D.setAttribute("aria-hidden","true"),D.hidden=!0}},M=function(){let Q,i;if(i=R,R=null,!i?.focus)return;return Q=function(U=6){if(i.isConnected===!1)return;try{i.focus({preventScroll:!0})}catch{i.focus()}if(document.activeElement===i||U<=1)return;return setTimeout(function(){return Q(U-1)},16)},requestAnimationFrame(function(){return Q()})},A=function(Q){let i;if(i=Q.newState==="open",i)R=c(w)||u(),W(!0);else W(!1),M();return h?.(i)},D.addEventListener("toggle",A),z=D.matches(":popover-open"),_=!!f,z!==_){if(F=c(w),_)R=F||u(),W(!0);$=F&&_?{force:_,source:F}:{force:_};try{D.togglePopover($)}catch{}}else W(_);return function(){return D.removeEventListener("toggle",A)}};Q3=function(f,l,h,w=!0){let u,_,D,c,A,$,R,M;if(D=function(z){return typeof z==="function"?z():z},u=function(){let z,F;if(z=document.activeElement,z&&z!==document.body)return z;if(F=globalThis.__ariaLastFocusedEl,F?.isConnected!==!1)return F;return null},_=D(l),!_?.showModal)return;if($=null,M=function(z){if(z){_.hidden=!1;try{_.inert=!1}catch{}return _.removeAttribute("aria-hidden")}else{try{_.inert=!0}catch{}return _.setAttribute("aria-hidden","true"),_.hidden=!0}},R=function(){let z,F;if(F=$,$=null,!F?.focus)return;return z=function(W=6){if(F.isConnected===!1)return;try{F.focus({preventScroll:!0})}catch{F.focus()}if(document.activeElement===F||W<=1)return;return setTimeout(function(){return z(W-1)},16)},requestAnimationFrame(function(){return z()})},c=function(z){if(!w){z.preventDefault();return}return h?.(!1)},A=function(){return h?.(!1),M(!1),R()},_.addEventListener("cancel",c),_.addEventListener("close",A),f&&!_.open){if(!$)$=u();M(!0);try{_.showModal()}catch{}}else if(!f&&_.open)_.close();else M(!!f);return function(){return _.removeEventListener("cancel",c),_.removeEventListener("close",A)}};J3=function(f,l,h="vertical"){let w,u;if(f.isComposing)return;return u=h!=="horizontal",w=h!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?A1(f,l.next):void 0;case"ArrowUp":return u?A1(f,l.prev):void 0;case"ArrowRight":return w?A1(f,l.next):void 0;case"ArrowLeft":return w?A1(f,l.prev):void 0;case"Home":case"PageUp":return A1(f,l.first);case"End":case"PageDown":return A1(f,l.last);case"Enter":case" ":return A1(f,l.select);case"Escape":return A1(f,l.dismiss);default:return f.key.length===1?l.char?.(f.key):void 0}})()};Z3=function(f,l,h=4,w=!0){let u,_;if(!(f&&l))return;if(_=f.getBoundingClientRect(),l.style.position="fixed",l.style.left=`${_.left}px`,l.style.top=`${_.bottom+h}px`,l.style.minWidth=`${_.width}px`,u=l.getBoundingClientRect(),u.bottom>window.innerHeight)l.style.top=`${_.top-u.height-h}px`;if(u.right>window.innerWidth)l.style.left=`${window.innerWidth-u.width-h}px`;return w?l.style.visibility="visible":void 0};var f0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';X3=function(f){let l;return l=function(h){let w,u,_;if(h.key!=="Tab")return;if(_=Array.from(f.querySelectorAll(f0)).filter(function(D){return D.offsetParent!==null}),!_.length)return;return w=_[0],u=_[_.length-1],h.shiftKey?document.activeElement===w?(h.preventDefault(),u.focus()):void 0:document.activeElement===u?(h.preventDefault(),w.focus()):void 0},f.addEventListener("keydown",l),function(){return f.removeEventListener("keydown",l)}};P3=function(f,l){let h,w;if(!f)return;if(w=f.querySelector("h1,h2,h3,h4,h5,h6"),w)w.id??=`${l}-title`,f.setAttribute("aria-labelledby",w.id);if(h=f.querySelector("p"),h)return h.id??=`${l}-desc`,f.setAttribute("aria-describedby",h.id)};y1=[];K3=function(f){let l;if(l=window.scrollY,y1.push({instance:f,scrollY:l}),y1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${l}px`,document.body.style.width="100%"};S3=function(f){let l,h;if(l=y1.findIndex(function(w){return w.instance===f}),l<0)return;if({scrollY:h}=y1.splice(l,1)[0],!y1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,h)};P2=function(){let f,l,h;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),l=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",l.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(l),h=l.getBoundingClientRect(),f.remove(),l.remove(),h.top>50}catch{return!1}})()}();G3=function(f,l,h={}){let w,u,_,D,c,A,$;if(!(f&&l))return;if(c=h.placement??"bottom start",D=h.offset??4,u=h.matchWidth??!1,P2){switch(_=`--anchor-${l.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=_,l.style.positionAnchor=_,l.style.position="fixed",l.style.inset="auto",l.style.margin="0",l.style.positionArea=c,l.style.positionTry="flip-block, flip-inline, flip-block flip-inline",l.style.positionVisibility="anchors-visible",[$]=c.split(" "),l.style.marginTop="",l.style.marginBottom="",l.style.marginLeft="",l.style.marginRight="",$){case"bottom":l.style.marginTop=`${D}px`;break;case"top":l.style.marginBottom=`${D}px`;break;case"left":l.style.marginRight=`${D}px`;break;case"right":l.style.marginLeft=`${D}px`;break}return u?l.style.minWidth="anchor-size(width)":void 0}else{switch(A=f.getBoundingClientRect(),l.style.position="fixed",l.style.inset="auto",l.style.margin="0",[$,w]=c.split(" "),w??="start",$){case"bottom":l.style.top=`${A.bottom+D}px`;break;case"top":l.style.bottom=`${window.innerHeight-A.top+D}px`;break;case"left":l.style.right=`${window.innerWidth-A.left+D}px`;break;case"right":l.style.left=`${A.right+D}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes($):($ in["bottom","top"]))switch(w){case"start":l.style.left=`${A.left}px`;break;case"center":l.style.left=`${A.left+A.width/2}px`,l.style.transform="translateX(-50%)";break;case"end":l.style.right=`${window.innerWidth-A.right}px`;break}else switch(w){case"start":l.style.top=`${A.top}px`;break;case"center":l.style.top=`${A.top+A.height/2}px`,l.style.transform="translateY(-50%)";break;case"end":l.style.bottom=`${window.innerHeight-A.bottom}px`;break}return u?l.style.minWidth=`${A.width}px`:void 0}};globalThis.__aria??={listNav:O3,rovingNav:J3,popupDismiss:n3,popupGuard:q3,bindPopover:Y3,bindDialog:Q3,positionBelow:Z3,trapFocus:X3,wireAria:P3,lockScroll:K3,unlockScroll:S3,position:G3,hasAnchor:P2};globalThis.ARIA??=globalThis.__aria;J1.modules["app.rip"]=h2;for(let[f,l]of Object.entries(h2))if(typeof l==="function")globalThis[f]=l;})();
|