From 1eb8d7df305c665d1983fe9a2e2ffddea292c862 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:05:17 +0200 Subject: [PATCH 1/9] Implement support for new expressions & directives - seq & yield expressions - #nowarn directive - Support tuples separated by DOTs and COMMAs - Require statements to include package references - Recursive functions using rec - Support COMMA in SynType idents --- src/Visp.Compiler/CoreParser.fs | 2 +- src/Visp.Compiler/Lexer.fsl | 4 + src/Visp.Compiler/Parser.fsy | 73 +- .../Syntax/FsLexYaccOutput/Lexer.fs | 904 ++--- .../Syntax/FsLexYaccOutput/Parser.fs | 2968 +++++++++-------- .../Syntax/FsLexYaccOutput/Parser.fsi | 15 + src/Visp.Compiler/Syntax/LexHelpers.fs | 6 +- src/Visp.Compiler/Syntax/SynWriter.fs | 44 +- src/Visp.Compiler/Syntax/Syntax.fs | 28 +- src/Visp.Compiler/Transforms/Helpers.fs | 34 +- 10 files changed, 2258 insertions(+), 1820 deletions(-) diff --git a/src/Visp.Compiler/CoreParser.fs b/src/Visp.Compiler/CoreParser.fs index 1cdee72..59ce002 100644 --- a/src/Visp.Compiler/CoreParser.fs +++ b/src/Visp.Compiler/CoreParser.fs @@ -52,7 +52,7 @@ let state = { Todo = () } let outputSyntaxError (syn: ParseHelpers.SyntaxError) = match syn.Data0 with | :? FSharp.Text.Parsing.ParseErrorContext as ctx -> - let (startPos, endPos) = ctx.ParseState.ResultRange + let (startPos, _) = ctx.ParseState.ResultRange eprintfn "ReduceTokens: %A" ctx.ReduceTokens eprintfn "ReducibleProductions: %A" ctx.ReducibleProductions eprintfn "ShiftTokens: %A" ctx.ShiftTokens diff --git a/src/Visp.Compiler/Lexer.fsl b/src/Visp.Compiler/Lexer.fsl index f22f26d..c0b716b 100644 --- a/src/Visp.Compiler/Lexer.fsl +++ b/src/Visp.Compiler/Lexer.fsl @@ -106,6 +106,8 @@ rule token (args: LexArgs) (skip: bool) = parse | "..." { SYMBOL (lexeme lexbuf) } + | "#nowarn" { HASH_IDENT ((lexeme lexbuf).TrimStart('#'))} + | '+' anyspace+ { OP_PLUS } | '-' anyspace+ { OP_MINUS } | '.' anyspace+ { DOT } @@ -177,6 +179,8 @@ and tokenStream (args: LexArgs) (skip: bool) = parse | ";" [^'\n''\r']* { tokenStream args skip lexbuf } | eof { EOF } + | "#line" { HASH_IDENT ((lexeme lexbuf).TrimStart('#'))} + // punct | '(' { LPAREN } | ')' { RPAREN } diff --git a/src/Visp.Compiler/Parser.fsy b/src/Visp.Compiler/Parser.fsy index 700e9e1..f488767 100644 --- a/src/Visp.Compiler/Parser.fsy +++ b/src/Visp.Compiler/Parser.fsy @@ -31,12 +31,13 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %token AT %token OPEN MODULE %token FN FNSTAR LET LETSTAR MUT SET DOT NEW DOT_BRACKET DOT_PLUS IF_KW BEGIN_KW DO_KW QUOTE_KW UNQUOTE_KW SPLICE_UNQUOTE_KW QUASIQUOTE_KW -%token ATOM_KW DEREF_KW WHILE TYPE MEMBER MEMBERFN OVERRIDE MACRO MATCH WHEN CONS CONCAT -%token THREAD_FIRST THREAD_LAST SYNTAX_MACRO -%token INLINE +%token ATOM_KW DEREF_KW WHILE TYPE MEMBER MEMBERFN OVERRIDE MACRO MATCH WHEN CONS CONCAT REQUIRE +%token THREAD_FIRST THREAD_LAST SYNTAX_MACRO SEQ YIELD +%token INLINE REC %token INT32 %token INT64 %token DECIMAL +%token HASH_IDENT %token PROP_PLUS %token MACRO_NAME %token CHAR @@ -49,6 +50,8 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %nonassoc prec_module_decl %nonassoc prec_module_decls +%nonassoc prec_hash_ident_args +%nonassoc prec_hash_ident // https://github.com/dotnet/fsharp/blob/363e8768ecd3e537aff643e0ea6da89115f249c2/src/Compiler/pars.fsy#L189 @@ -70,6 +73,7 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %nonassoc prec_expr %nonassoc TRUE FALSE NIL INT32 INT64 DECIMAL SYMBOL KEYWORD RAWSTRING DOT_METHOD STRING UNIT CHAR +%nonassoc HASH_IDENT %nonassoc prec_dot_no_paren %nonassoc prec_paren @@ -135,9 +139,23 @@ rev_module_decls: | rev_module_decls module_decl %prec prec_module_decls { $2 :: $1 } module_decl: + | HASH_IDENT hash_ident_args %prec prec_hash_ident + { SynModuleDecl.HashDirective(ParsedHashDirective($1, $2, lhs parseState), lhs parseState)} | module_parens { $1 } | expr { SynModuleDecl.Expr($1, lhs parseState) } +hash_ident_args: rev_hash_ident_args %prec prec_hash_ident_args { List.rev $1 } +rev_hash_ident_args: + | %prec prec_hash_ident_args { [] } + | hash_ident_arg %prec prec_hash_ident { [$1] } + | rev_hash_ident_args hash_ident_arg %prec prec_hash_ident_args { $2 :: $1 } + +hash_ident_arg: + | STRING %prec prec_hash_ident { + let (raw, k, _) = $1 + ParsedHashDirectiveArgument.String(raw, k, rhs parseState 1) + } + module_parens: | LPAREN module_help RPAREN { $2 } @@ -146,6 +164,9 @@ module_help: { SynModuleDecl.Open($2, lhs parseState) } | MODULE symbol module_decls { SynModuleDecl.NestedModule($2, $3, lhs parseState) } + | REQUIRE symbol STRING + { let (raw, _, _) = $3 + SynModuleDecl.Require($2, raw, lhs parseState) } expr_list: rev_expr_list { List.rev $1 } rev_expr_list: @@ -178,10 +199,7 @@ expr: | inside_parens %prec prec_paren { $1 } lambda_short_expr_list: - | operators_not_in_parens { SynExpr.Op($1) } - | function_call { $1 } - | dot_expr { $1 } - | new_expr { $1 } + | parens_expr { $1 } vector_start: | LBRACKET RBRACKET { SynExpr.Vector([], lhs parseState) } @@ -203,9 +221,20 @@ inside_parens: parens_expr_start: | parens_expr %prec prec_paren_expr { $1 } +dotted_exprs: rev_dotted_exprs { List.rev $1 } +rev_dotted_exprs: + | { [] } + | expr { [$1] } + | rev_dotted_exprs DOT expr { $3 :: $1 } + | rev_dotted_exprs COMMA expr { $3 :: $1 } + parens_expr: - | expr DOT expr - { SynExpr.Pair($1, $3, lhs parseState)} + // | expr DOT expr + // { SynExpr.Pair($1, $3, lhs parseState)} + | expr DOT dotted_exprs + { SynExpr.Tuple($1 :: $3, lhs parseState)} + | expr COMMA dotted_exprs + { SynExpr.Tuple($1 :: $3, lhs parseState)} | function_def %prec prec_fn { $1 } | macro_def { $1 } | function_call %prec prec_call { $1 } @@ -260,6 +289,9 @@ parens_expr: | BANG_VEC { SynExpr.FsVec([], lhs parseState)} | BANG_VEC expr_list { SynExpr.FsVec($2, lhs parseState)} + | SEQ expr_list { SynExpr.FsSeq($2, lhs parseState) } + | YIELD expr { SynExpr.FsYield($2, lhs parseState) } + macro_call_expr: | macro_call { SynExpr.SyntaxMacroCall($1) } @@ -426,6 +458,10 @@ range_expr: { SynExpr.RangeExpr ($2, None, $4, lhs parseState) } | BANG_RANGE expr expr { SynExpr.RangeExpr ($2, None, $3, lhs parseState) } + | expr DOTDOT expr DOTDOT expr + { SynExpr.RangeExpr ($1, Some($3), $5, lhs parseState) } + | expr DOTDOT expr + { SynExpr.RangeExpr ($1, None, $3, lhs parseState) } if_expr: | IF_KW expr expr @@ -657,6 +693,11 @@ syntype_ident: { let text = $1 SynType.Ident(Ident(text, lhs parseState)) } + | SYMBOL COMMA SYMBOL + { let text1 = $1 + let text2 = $3 + SynType.Ident(Ident(text1 + "," + text2, lhs parseState)) + } | QUOTE_SYM SYMBOL { let text = $2 SynType.Ident(Ident("'" + text, lhs parseState)) @@ -682,9 +723,13 @@ rawConstant: function_def: | FN symbol arg_list_start expr_list %prec prec_fn - { SynExpr.FunctionDef($2, false, $3, $4, (lhs parseState)) } + { SynExpr.FunctionDef($2, FunctionFlags.None, $3, $4, (lhs parseState)) } | FN INLINE symbol arg_list_start expr_list %prec prec_fn - { SynExpr.FunctionDef($3, true, $4, $5, (lhs parseState)) } + { SynExpr.FunctionDef($3, FunctionFlags.Inline, $4, $5, (lhs parseState)) } + | FN REC INLINE symbol arg_list_start expr_list %prec prec_fn + { SynExpr.FunctionDef($4, FunctionFlags.Recursive ||| FunctionFlags.Inline, $5, $6, (lhs parseState)) } + | FN REC symbol arg_list_start expr_list %prec prec_fn + { SynExpr.FunctionDef($3, FunctionFlags.Recursive, $4, $5, (lhs parseState)) } | FN arg_list_start expr_list %prec prec_lambda_def { SynExpr.LambdaDef(SynLambda($2, $3, (lhs parseState))) } | FNSTAR arg_list_start expr_list @@ -697,15 +742,15 @@ invalid_function_def: { SynExpr.LambdaDef(SynLambda([], [], (lhs parseState))) } // TODO: Report | FN symbol %prec prec_invalid_fn - { SynExpr.FunctionDef($2, false, [], [], lhs parseState) } + { SynExpr.FunctionDef($2, FunctionFlags.None, [], [], lhs parseState) } // TODO: Report | FN arg_list_start %prec prec_invalid_fn { SynExpr.LambdaDef(SynLambda([], [], (lhs parseState))) } // TODO: Report | FN symbol arg_list_start %prec prec_invalid_fn - { SynExpr.FunctionDef($2, false, $3, [], (lhs parseState)) } + { SynExpr.FunctionDef($2, FunctionFlags.None, $3, [], (lhs parseState)) } | FN INLINE symbol arg_list_start %prec prec_invalid_fn - { SynExpr.FunctionDef($3, true, $4, [], (lhs parseState)) } + { SynExpr.FunctionDef($3, FunctionFlags.Inline, $4, [], (lhs parseState)) } macro_def: | MACRO symbol arg_list_start expr_list diff --git a/src/Visp.Compiler/Syntax/FsLexYaccOutput/Lexer.fs b/src/Visp.Compiler/Syntax/FsLexYaccOutput/Lexer.fs index 55431a4..1eb2428 100644 --- a/src/Visp.Compiler/Syntax/FsLexYaccOutput/Lexer.fs +++ b/src/Visp.Compiler/Syntax/FsLexYaccOutput/Lexer.fs @@ -79,21 +79,21 @@ let trans : uint16[] array = (* State 13 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 14 *) - [| 40us;40us;40us;40us;40us;40us;40us;40us;40us;15us;17us;40us;40us;16us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;15us;39us;38us;29us;40us;39us;40us;40us;20us;21us;39us;35us;27us;36us;28us;40us;34us;34us;34us;34us;34us;34us;34us;34us;34us;34us;26us;18us;39us;39us;39us;39us;40us;39us;39us;39us;39us;37us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;24us;40us;25us;40us;39us;40us;39us;39us;39us;39us;37us;32us;39us;39us;39us;39us;39us;39us;39us;33us;39us;39us;39us;39us;39us;31us;30us;39us;39us;39us;39us;39us;22us;40us;23us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;19us;|]; + [| 40us;40us;40us;40us;40us;40us;40us;40us;40us;15us;17us;40us;40us;16us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;15us;39us;38us;20us;40us;39us;40us;40us;21us;22us;39us;35us;28us;36us;29us;40us;34us;34us;34us;34us;34us;34us;34us;34us;34us;34us;27us;18us;39us;39us;39us;39us;40us;39us;39us;39us;39us;37us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;39us;25us;40us;26us;40us;39us;40us;39us;39us;39us;39us;37us;32us;39us;39us;39us;39us;39us;39us;39us;33us;39us;39us;39us;39us;39us;31us;30us;39us;39us;39us;39us;39us;23us;40us;24us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;40us;19us;|]; (* State 15 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;136us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;136us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;140us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;140us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 16 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;135us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;139us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 17 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 18 *) - [| 134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;65535us;134us;134us;65535us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;65535us;|]; + [| 138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;65535us;138us;138us;65535us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;65535us;|]; (* State 19 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 20 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;133us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;87us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;88us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;86us;65535us;65535us;65535us;65535us;65535us;89us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 21 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;85us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 22 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 23 *) @@ -103,13 +103,13 @@ let trans : uint16[] array = (* State 25 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 26 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;129us;129us;65535us;65535us;129us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;129us;130us;65535us;65535us;65535us;130us;65535us;130us;65535us;65535us;130us;130us;65535us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;65535us;65535us;130us;130us;130us;130us;65535us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;65535us;65535us;65535us;65535us;130us;65535us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;130us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; - (* State 27 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 27 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;81us;81us;65535us;65535us;81us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;81us;82us;65535us;65535us;65535us;82us;65535us;82us;65535us;65535us;82us;82us;65535us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;65535us;65535us;82us;82us;82us;82us;65535us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;65535us;65535us;65535us;65535us;82us;65535us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;82us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 28 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;125us;125us;65535us;65535us;125us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;125us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;126us;65535us;60us;60us;60us;60us;60us;60us;60us;60us;60us;60us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 29 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;77us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;78us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;79us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;77us;77us;65535us;65535us;77us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;77us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;78us;65535us;60us;60us;60us;60us;60us;60us;60us;60us;60us;60us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 30 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;41us;65535us;65535us;65535us;41us;65535us;41us;65535us;65535us;41us;41us;65535us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;65535us;65535us;41us;41us;41us;41us;65535us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;65535us;65535us;65535us;65535us;41us;65535us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;74us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 31 *) @@ -205,143 +205,143 @@ let trans : uint16[] array = (* State 76 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;41us;65535us;65535us;65535us;41us;65535us;41us;65535us;65535us;41us;41us;65535us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;65535us;65535us;41us;41us;41us;41us;65535us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;65535us;65535us;65535us;65535us;41us;65535us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;41us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 77 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;124us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;80us;80us;65535us;65535us;80us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;80us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 78 *) - [| 90us;90us;90us;90us;90us;90us;90us;90us;90us;65535us;65535us;90us;90us;65535us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;65535us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;89us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;86us;90us;90us;90us;90us;90us;90us;90us;90us;90us;84us;90us;83us;90us;90us;90us;90us;87us;85us;88us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;90us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;79us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 79 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;80us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 80 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;81us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;80us;80us;65535us;65535us;80us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;80us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 81 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;82us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;84us;84us;65535us;65535us;84us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;84us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 82 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;83us;65535us;65535us;65535us;83us;65535us;83us;65535us;65535us;83us;83us;65535us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;65535us;65535us;83us;83us;83us;83us;65535us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;65535us;65535us;65535us;65535us;83us;65535us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 83 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;117us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;118us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;83us;65535us;65535us;65535us;83us;65535us;83us;65535us;65535us;83us;83us;65535us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;65535us;65535us;83us;83us;83us;83us;65535us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;65535us;65535us;65535us;65535us;83us;65535us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;83us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 84 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;111us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;84us;84us;65535us;65535us;84us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;84us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 85 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;110us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 86 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;103us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;135us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 87 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;99us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;134us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 88 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;95us;95us;95us;95us;95us;95us;95us;95us;95us;95us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;95us;95us;95us;95us;95us;95us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;95us;95us;95us;95us;95us;95us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 100us;100us;100us;100us;100us;100us;100us;100us;100us;65535us;65535us;100us;100us;65535us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;65535us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;99us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;96us;100us;100us;100us;100us;100us;100us;100us;100us;100us;94us;100us;93us;100us;100us;100us;100us;97us;95us;98us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;100us;65535us;|]; (* State 89 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;91us;91us;91us;91us;91us;91us;91us;91us;91us;91us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;91us;91us;91us;91us;91us;91us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;91us;91us;91us;91us;91us;91us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;90us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 90 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;91us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 91 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;92us;92us;92us;92us;92us;92us;92us;92us;92us;92us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;92us;92us;92us;92us;92us;92us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;92us;92us;92us;92us;92us;92us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;92us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 92 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;93us;93us;93us;93us;93us;93us;93us;93us;93us;93us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;93us;93us;93us;93us;93us;93us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;93us;93us;93us;93us;93us;93us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 93 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;94us;94us;94us;94us;94us;94us;94us;94us;94us;94us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;94us;94us;94us;94us;94us;94us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;94us;94us;94us;94us;94us;94us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;127us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;128us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 94 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;121us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 95 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;96us;96us;96us;96us;96us;96us;96us;96us;96us;96us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;96us;96us;96us;96us;96us;96us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;96us;96us;96us;96us;96us;96us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;120us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 96 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;97us;97us;97us;97us;97us;97us;97us;97us;97us;97us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;97us;97us;97us;97us;97us;97us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;97us;97us;97us;97us;97us;97us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;113us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 97 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;98us;98us;98us;98us;98us;98us;98us;98us;98us;98us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;98us;98us;98us;98us;98us;98us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;98us;98us;98us;98us;98us;98us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;109us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 98 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;105us;105us;105us;105us;105us;105us;105us;105us;105us;105us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;105us;105us;105us;105us;105us;105us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;105us;105us;105us;105us;105us;105us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 99 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;100us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;101us;101us;101us;101us;101us;101us;101us;101us;101us;101us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;101us;101us;101us;101us;101us;101us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;101us;101us;101us;101us;101us;101us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 100 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;101us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 101 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;102us;102us;102us;102us;102us;102us;102us;102us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;102us;102us;102us;102us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;102us;102us;102us;102us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 102 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;103us;103us;103us;103us;103us;103us;103us;103us;103us;103us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;103us;103us;103us;103us;103us;103us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;103us;103us;103us;103us;103us;103us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 103 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;104us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;104us;104us;104us;104us;104us;104us;104us;104us;104us;104us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;104us;104us;104us;104us;104us;104us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;104us;104us;104us;104us;104us;104us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 104 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;105us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 105 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;106us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;106us;106us;106us;106us;106us;106us;106us;106us;106us;106us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;106us;106us;106us;106us;106us;106us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;106us;106us;106us;106us;106us;106us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 106 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;107us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;107us;107us;107us;107us;107us;107us;107us;107us;107us;107us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;107us;107us;107us;107us;107us;107us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;107us;107us;107us;107us;107us;107us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 107 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;108us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;108us;108us;108us;108us;108us;108us;108us;108us;108us;108us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;108us;108us;108us;108us;108us;108us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;108us;108us;108us;108us;108us;108us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 108 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;109us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 109 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;110us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 110 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;111us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 111 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 112 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;113us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 113 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;114us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;114us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 114 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;115us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;115us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 115 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;116us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;116us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 116 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;117us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 117 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;120us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;118us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 118 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;119us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;119us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 119 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 120 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;121us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 121 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;122us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;122us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 122 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;123us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;123us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 123 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;102us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;124us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 124 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;125us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 125 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;128us;128us;65535us;65535us;128us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;128us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;126us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 126 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;127us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 127 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;130us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 128 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;128us;128us;65535us;65535us;128us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;128us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;129us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 129 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;132us;132us;65535us;65535us;132us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;132us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 130 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;131us;65535us;65535us;65535us;131us;65535us;131us;65535us;65535us;131us;131us;65535us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;65535us;65535us;131us;131us;131us;131us;65535us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;65535us;65535us;65535us;65535us;131us;65535us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;131us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 131 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;131us;65535us;65535us;65535us;131us;65535us;131us;65535us;65535us;131us;131us;65535us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;65535us;65535us;131us;131us;131us;131us;65535us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;65535us;65535us;65535us;65535us;131us;65535us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;131us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;132us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 132 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;132us;132us;65535us;65535us;132us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;132us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;133us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 133 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;112us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 134 *) - [| 134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;65535us;134us;134us;65535us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;134us;65535us;|]; - (* State 135 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 135 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;136us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 136 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;136us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;136us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;137us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 137 *) - [| 167us;167us;167us;167us;167us;167us;167us;167us;167us;138us;140us;167us;167us;139us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;138us;166us;163us;154us;167us;166us;167us;155us;143us;144us;164us;152us;150us;153us;151us;165us;157us;157us;157us;157us;157us;157us;157us;157us;157us;157us;149us;141us;166us;166us;166us;166us;156us;166us;166us;166us;166us;158us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;166us;147us;167us;148us;167us;166us;167us;166us;166us;166us;166us;158us;161us;166us;166us;166us;166us;166us;166us;166us;162us;166us;166us;166us;166us;166us;160us;159us;166us;166us;166us;166us;166us;145us;167us;146us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;167us;142us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 138 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;271us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;271us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;65535us;138us;138us;65535us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;138us;65535us;|]; (* State 139 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;270us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; - (* State 140 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 140 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;140us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;140us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 141 *) - [| 269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;65535us;269us;269us;65535us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;65535us;|]; + [| 171us;171us;171us;171us;171us;171us;171us;171us;171us;142us;144us;171us;171us;143us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;142us;170us;167us;156us;171us;170us;171us;159us;147us;148us;168us;157us;154us;158us;155us;169us;161us;161us;161us;161us;161us;161us;161us;161us;161us;161us;153us;145us;170us;170us;170us;170us;160us;170us;170us;170us;170us;162us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;170us;151us;171us;152us;171us;170us;171us;170us;170us;170us;170us;162us;165us;170us;170us;170us;170us;170us;170us;170us;166us;170us;170us;170us;170us;170us;164us;163us;170us;170us;170us;170us;170us;149us;171us;150us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;171us;146us;|]; (* State 142 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;281us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;281us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 143 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;280us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 144 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 145 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;65535us;279us;279us;65535us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;65535us;|]; (* State 146 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 147 *) @@ -349,725 +349,755 @@ let trans : uint16[] array = (* State 148 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 149 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;267us;65535us;65535us;65535us;267us;65535us;267us;65535us;65535us;267us;267us;65535us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;65535us;65535us;267us;267us;267us;267us;65535us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;65535us;65535us;65535us;65535us;267us;65535us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;267us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 150 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 151 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;260us;260us;65535us;65535us;260us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;260us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;262us;65535us;65535us;259us;65535us;190us;190us;190us;190us;190us;190us;190us;190us;190us;190us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;261us;65535us;65535us;65535us;65535us;65535us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;263us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 152 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;253us;253us;65535us;65535us;253us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;253us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;255us;255us;255us;255us;255us;255us;255us;255us;255us;255us;65535us;65535us;168us;168us;168us;168us;65535us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;65535us;65535us;65535us;65535us;168us;65535us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;254us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 153 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;244us;244us;65535us;65535us;244us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;244us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;247us;168us;245us;245us;245us;245us;245us;245us;245us;245us;245us;245us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;277us;65535us;65535us;65535us;277us;65535us;277us;65535us;65535us;277us;277us;65535us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;65535us;65535us;277us;277us;277us;277us;65535us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;65535us;65535us;65535us;65535us;277us;65535us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;277us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 154 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;195us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;197us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;198us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;196us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; - (* State 155 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 155 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;270us;270us;65535us;65535us;270us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;270us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;272us;65535us;65535us;269us;65535us;194us;194us;194us;194us;194us;194us;194us;194us;194us;194us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;271us;65535us;65535us;65535us;65535us;65535us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;273us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 156 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;215us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;217us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;214us;65535us;65535us;65535us;218us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;216us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 157 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;189us;65535us;187us;187us;187us;187us;187us;187us;187us;187us;187us;187us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;186us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;186us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;208us;208us;65535us;65535us;208us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;208us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;210us;210us;210us;210us;210us;210us;210us;210us;210us;210us;65535us;65535us;172us;172us;172us;172us;65535us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;65535us;65535us;65535us;65535us;172us;65535us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 158 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;184us;65535us;184us;168us;168us;183us;183us;183us;183us;183us;183us;183us;183us;183us;183us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;199us;199us;65535us;65535us;199us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;199us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;202us;172us;200us;200us;200us;200us;200us;200us;200us;200us;200us;200us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 159 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;180us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 160 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;177us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 161 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;173us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;193us;65535us;191us;191us;191us;191us;191us;191us;191us;191us;191us;191us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;190us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;190us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 162 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;171us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;188us;65535us;188us;172us;172us;187us;187us;187us;187us;187us;187us;187us;187us;187us;187us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 163 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;169us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;184us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 164 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;181us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 165 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;177us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 166 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;175us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 167 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;173us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 168 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 169 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;170us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; - (* State 170 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 170 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 171 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;172us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 172 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 173 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;174us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;174us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 174 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;175us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 175 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;176us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;176us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 176 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 177 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;178us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;178us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 178 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;179us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;179us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 179 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;180us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 180 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;181us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 181 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;182us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;182us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 182 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;183us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 183 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;185us;185us;185us;185us;185us;185us;185us;185us;185us;185us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 184 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;183us;183us;183us;183us;183us;183us;183us;183us;183us;183us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;185us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 185 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;185us;185us;185us;185us;185us;185us;185us;185us;185us;185us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;186us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 186 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 187 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;189us;65535us;187us;187us;187us;187us;187us;187us;187us;187us;187us;187us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;186us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;186us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;189us;189us;189us;189us;189us;189us;189us;189us;189us;189us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 188 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;193us;65535us;193us;65535us;65535us;192us;192us;192us;192us;192us;192us;192us;192us;192us;192us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;187us;187us;187us;187us;187us;187us;187us;187us;187us;187us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 189 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;190us;190us;190us;190us;190us;190us;190us;190us;190us;190us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;189us;189us;189us;189us;189us;189us;189us;189us;189us;189us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 190 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;191us;191us;191us;191us;191us;191us;191us;191us;191us;191us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 191 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;191us;191us;191us;191us;191us;191us;191us;191us;191us;191us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;188us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;193us;65535us;191us;191us;191us;191us;191us;191us;191us;191us;191us;191us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;190us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;190us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 192 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;194us;194us;194us;194us;194us;194us;194us;194us;194us;194us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;197us;65535us;197us;65535us;65535us;196us;196us;196us;196us;196us;196us;196us;196us;196us;196us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 193 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;192us;192us;192us;192us;192us;192us;192us;192us;192us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; - (* State 194 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;194us;194us;194us;194us;194us;194us;194us;194us;194us;194us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 194 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;195us;195us;195us;195us;195us;195us;195us;195us;195us;195us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 195 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;243us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;195us;195us;195us;195us;195us;195us;195us;195us;195us;195us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;192us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 196 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;198us;198us;198us;198us;198us;198us;198us;198us;198us;198us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 197 *) - [| 209us;209us;209us;209us;209us;209us;209us;209us;209us;65535us;65535us;209us;209us;65535us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;65535us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;208us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;205us;209us;209us;209us;209us;209us;209us;209us;209us;209us;203us;209us;202us;209us;209us;209us;209us;206us;204us;207us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;209us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;196us;196us;196us;196us;196us;196us;196us;196us;196us;196us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 198 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;199us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;198us;198us;198us;198us;198us;198us;198us;198us;198us;198us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 199 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;200us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;207us;207us;65535us;65535us;207us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;207us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 200 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;201us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;202us;172us;206us;206us;206us;206us;206us;206us;206us;206us;206us;206us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 201 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;188us;65535us;188us;172us;172us;187us;187us;187us;187us;187us;187us;187us;187us;187us;187us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 202 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;236us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;237us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;203us;203us;203us;203us;203us;203us;203us;203us;203us;203us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 203 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;230us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;204us;204us;204us;204us;204us;204us;204us;204us;204us;204us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 204 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;229us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;204us;204us;204us;204us;204us;204us;204us;204us;204us;204us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 205 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;222us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 206 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;218us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;202us;172us;206us;206us;206us;206us;206us;206us;206us;206us;206us;206us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;201us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 207 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;214us;214us;214us;214us;214us;214us;214us;214us;214us;214us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;214us;214us;214us;214us;214us;214us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;214us;214us;214us;214us;214us;214us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;207us;207us;65535us;65535us;207us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;207us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 208 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;210us;210us;210us;210us;210us;210us;210us;210us;210us;210us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;210us;210us;210us;210us;210us;210us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;210us;210us;210us;210us;210us;210us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;213us;65535us;65535us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 209 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;212us;65535us;65535us;65535us;212us;65535us;212us;65535us;65535us;212us;212us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;212us;212us;212us;212us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;212us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 210 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;211us;211us;211us;211us;211us;211us;211us;211us;211us;211us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;211us;211us;211us;211us;211us;211us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;211us;211us;211us;211us;211us;211us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;211us;211us;211us;211us;211us;211us;211us;211us;211us;211us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 211 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;172us;65535us;65535us;65535us;172us;65535us;172us;65535us;65535us;172us;172us;65535us;172us;172us;172us;211us;211us;211us;211us;211us;211us;211us;211us;211us;211us;65535us;65535us;172us;172us;172us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;172us;65535us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;205us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;172us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 212 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;213us;213us;213us;213us;213us;213us;213us;213us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;213us;213us;213us;213us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;213us;213us;213us;213us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;212us;65535us;65535us;65535us;212us;65535us;212us;65535us;65535us;212us;212us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;212us;212us;212us;212us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;212us;65535us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;212us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 213 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;213us;65535us;65535us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;213us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 214 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;215us;215us;215us;215us;215us;215us;215us;215us;215us;215us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;215us;215us;215us;215us;215us;215us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;215us;215us;215us;215us;215us;215us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;264us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 215 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;216us;216us;216us;216us;216us;216us;216us;216us;216us;216us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;216us;216us;216us;216us;216us;216us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;216us;216us;216us;216us;216us;216us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;263us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 216 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;217us;217us;217us;217us;217us;217us;217us;217us;217us;217us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;217us;217us;217us;217us;217us;217us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;217us;217us;217us;217us;217us;217us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; - (* State 217 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 217 *) + [| 229us;229us;229us;229us;229us;229us;229us;229us;229us;65535us;65535us;229us;229us;65535us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;65535us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;228us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;225us;229us;229us;229us;229us;229us;229us;229us;229us;229us;223us;229us;222us;229us;229us;229us;229us;226us;224us;227us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;229us;65535us;|]; (* State 218 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;219us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;219us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 219 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;220us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;220us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 220 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 221 *) [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 222 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;223us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;256us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;257us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 223 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;224us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;250us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 224 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;225us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;249us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 225 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;226us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;242us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 226 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;227us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;238us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 227 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;228us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;234us;234us;234us;234us;234us;234us;234us;234us;234us;234us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;234us;234us;234us;234us;234us;234us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;234us;234us;234us;234us;234us;234us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 228 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;230us;230us;230us;230us;230us;230us;230us;230us;230us;230us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;230us;230us;230us;230us;230us;230us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;230us;230us;230us;230us;230us;230us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 229 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 230 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;231us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;231us;231us;231us;231us;231us;231us;231us;231us;231us;231us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;231us;231us;231us;231us;231us;231us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;231us;231us;231us;231us;231us;231us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 231 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;232us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;232us;232us;232us;232us;232us;232us;232us;232us;232us;232us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;232us;232us;232us;232us;232us;232us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;232us;232us;232us;232us;232us;232us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 232 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;233us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;233us;233us;233us;233us;233us;233us;233us;233us;233us;233us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;233us;233us;233us;233us;233us;233us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;233us;233us;233us;233us;233us;233us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 233 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;234us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 234 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;235us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;235us;235us;235us;235us;235us;235us;235us;235us;235us;235us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;235us;235us;235us;235us;235us;235us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;235us;235us;235us;235us;235us;235us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 235 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;236us;236us;236us;236us;236us;236us;236us;236us;236us;236us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;236us;236us;236us;236us;236us;236us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;236us;236us;236us;236us;236us;236us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 236 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;239us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;237us;237us;237us;237us;237us;237us;237us;237us;237us;237us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;237us;237us;237us;237us;237us;237us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;237us;237us;237us;237us;237us;237us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 237 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;238us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 238 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;239us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 239 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;240us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;240us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 240 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 241 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;242us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 242 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;221us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;243us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 243 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;244us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 244 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;252us;252us;65535us;65535us;252us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;252us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;245us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 245 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;247us;168us;251us;251us;251us;251us;251us;251us;251us;251us;251us;251us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;246us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 246 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;184us;65535us;184us;168us;168us;183us;183us;183us;183us;183us;183us;183us;183us;183us;183us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;247us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 247 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;248us;248us;248us;248us;248us;248us;248us;248us;248us;248us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;248us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 248 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;249us;249us;249us;249us;249us;249us;249us;249us;249us;249us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 249 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;249us;249us;249us;249us;249us;249us;249us;249us;249us;249us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 250 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;251us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 251 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;247us;168us;251us;251us;251us;251us;251us;251us;251us;251us;251us;251us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;246us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;252us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 252 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;252us;252us;65535us;65535us;252us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;252us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;253us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 253 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;258us;258us;65535us;65535us;258us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;258us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;254us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 254 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;257us;65535us;65535us;65535us;257us;65535us;257us;65535us;65535us;257us;257us;65535us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;65535us;65535us;257us;257us;257us;257us;65535us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;65535us;65535us;65535us;65535us;257us;65535us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;255us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 255 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;256us;256us;256us;256us;256us;256us;256us;256us;256us;256us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 256 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;168us;65535us;65535us;65535us;168us;65535us;168us;65535us;65535us;168us;168us;65535us;168us;168us;168us;256us;256us;256us;256us;256us;256us;256us;256us;256us;256us;65535us;65535us;168us;168us;168us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;168us;65535us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;250us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;168us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;259us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 257 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;257us;65535us;65535us;65535us;257us;65535us;257us;65535us;65535us;257us;257us;65535us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;65535us;65535us;257us;257us;257us;257us;65535us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;65535us;65535us;65535us;65535us;257us;65535us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;257us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;258us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 258 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;258us;258us;65535us;65535us;258us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;258us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 259 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;266us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;260us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 260 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;265us;265us;65535us;65535us;265us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;265us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;261us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 261 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;262us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 262 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;241us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 263 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;65535us;65535us;65535us;65535us;65535us;65535us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 264 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;65535us;65535us;65535us;65535us;65535us;65535us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;264us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;265us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 265 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;265us;265us;65535us;65535us;265us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;265us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;266us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 266 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;267us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 267 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;268us;65535us;65535us;65535us;268us;65535us;268us;65535us;65535us;268us;268us;65535us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;65535us;65535us;268us;268us;268us;268us;65535us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;65535us;65535us;65535us;65535us;268us;65535us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;268us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 268 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;268us;65535us;65535us;65535us;268us;65535us;268us;65535us;65535us;268us;268us;65535us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;65535us;65535us;268us;268us;268us;268us;65535us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;65535us;65535us;65535us;65535us;268us;65535us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;268us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 269 *) - [| 269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;65535us;269us;269us;65535us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;269us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;276us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 270 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;275us;275us;65535us;65535us;275us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;275us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; (* State 271 *) - [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;271us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;271us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 272 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 273 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;65535us;65535us;65535us;65535us;65535us;65535us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 274 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;65535us;65535us;65535us;65535us;65535us;65535us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;274us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 275 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;275us;275us;65535us;65535us;275us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;275us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 276 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 277 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;278us;65535us;65535us;65535us;278us;65535us;278us;65535us;65535us;278us;278us;65535us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;65535us;65535us;278us;278us;278us;278us;65535us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;65535us;65535us;65535us;65535us;278us;65535us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 278 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;278us;65535us;65535us;65535us;278us;65535us;278us;65535us;65535us;278us;278us;65535us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;65535us;65535us;278us;278us;278us;278us;65535us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;65535us;65535us;65535us;65535us;278us;65535us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;278us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 279 *) + [| 279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;65535us;279us;279us;65535us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;279us;65535us;|]; + (* State 280 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; + (* State 281 *) + [| 65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;281us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;281us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;|]; |] -let actions : uint16[] = [|65535us;2us;1us;1us;2us;1us;65535us;0us;65535us;0us;1us;1us;2us;1us;25us;0us;1us;1us;2us;3us;4us;5us;6us;7us;8us;9us;31us;11us;31us;31us;30us;30us;30us;30us;24us;30us;25us;30us;26us;30us;31us;30us;65535us;27us;25us;30us;25us;24us;30us;30us;25us;25us;24us;24us;24us;24us;24us;24us;65535us;65535us;25us;25us;25us;65535us;25us;30us;19us;30us;30us;30us;18us;30us;30us;17us;30us;30us;16us;65535us;65535us;65535us;65535us;65535us;28us;23us;23us;23us;23us;23us;23us;23us;23us;65535us;65535us;65535us;22us;65535us;65535us;65535us;21us;65535us;65535us;65535us;20us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;20us;65535us;65535us;65535us;65535us;14us;12us;65535us;13us;12us;10us;29us;29us;10us;15us;2us;1us;0us;32us;0us;1us;1us;2us;3us;4us;5us;6us;7us;8us;9us;10us;11us;55us;33us;32us;55us;19us;24us;31us;53us;53us;53us;53us;53us;40us;43us;44us;53us;55us;53us;65535us;42us;53us;39us;53us;53us;53us;38us;53us;53us;37us;53us;53us;36us;32us;53us;32us;31us;31us;65535us;65535us;32us;32us;32us;65535us;32us;17us;23us;65535us;65535us;65535us;65535us;41us;28us;28us;28us;28us;28us;28us;28us;28us;65535us;65535us;65535us;27us;65535us;65535us;65535us;26us;65535us;65535us;65535us;25us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;25us;65535us;65535us;65535us;65535us;35us;14us;31us;53us;53us;32us;32us;31us;31us;14us;13us;16us;31us;31us;16us;13us;18us;15us;20us;21us;22us;22us;15us;12us;51us;51us;2us;1us;0us;|] +let actions : uint16[] = [|65535us;2us;1us;1us;2us;1us;65535us;0us;65535us;0us;1us;1us;2us;1us;26us;0us;1us;1us;2us;3us;32us;5us;6us;7us;8us;9us;10us;32us;12us;32us;31us;31us;31us;31us;25us;31us;26us;31us;27us;31us;32us;31us;65535us;28us;26us;31us;26us;25us;31us;31us;26us;26us;25us;25us;25us;25us;25us;25us;65535us;65535us;26us;26us;26us;65535us;26us;31us;20us;31us;31us;31us;19us;31us;31us;18us;31us;31us;17us;13us;65535us;14us;13us;11us;30us;30us;11us;16us;65535us;65535us;65535us;65535us;65535us;65535us;29us;24us;24us;24us;24us;24us;24us;24us;24us;65535us;65535us;65535us;23us;65535us;65535us;65535us;22us;65535us;65535us;65535us;21us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;21us;65535us;65535us;65535us;65535us;15us;65535us;65535us;4us;2us;1us;0us;33us;0us;1us;1us;2us;3us;4us;5us;6us;7us;8us;9us;10us;11us;56us;56us;34us;33us;20us;25us;32us;54us;54us;54us;54us;54us;41us;44us;45us;54us;56us;54us;65535us;43us;54us;40us;54us;54us;54us;39us;54us;54us;38us;54us;54us;37us;33us;54us;33us;32us;32us;65535us;65535us;33us;33us;33us;65535us;33us;15us;32us;54us;54us;33us;33us;32us;32us;15us;14us;17us;32us;32us;17us;14us;65535us;18us;24us;65535us;65535us;65535us;65535us;42us;29us;29us;29us;29us;29us;29us;29us;29us;65535us;65535us;65535us;28us;65535us;65535us;65535us;27us;65535us;65535us;65535us;26us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;65535us;26us;65535us;65535us;65535us;65535us;36us;65535us;65535us;65535us;65535us;13us;19us;16us;21us;22us;23us;23us;16us;12us;52us;52us;2us;1us;0us;|] let _fslex_tables = FSharp.Text.Lexing.UnicodeTables.Create(trans,actions) let rec _fslex_dummy () = _fslex_dummy() // Rule token and token (args: LexArgs) (skip: bool) lexbuf = - match _fslex_tables.Interpret(137,lexbuf) with + match _fslex_tables.Interpret(141,lexbuf) with | 0 -> ( # 92 "Lexer.fsl" token args skip lexbuf -# 607 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 627 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 1 -> ( # 93 "Lexer.fsl" newline lexbuf; token args skip lexbuf -# 612 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 632 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 2 -> ( # 94 "Lexer.fsl" token args skip lexbuf -# 617 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 637 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 3 -> ( # 95 "Lexer.fsl" EOF -# 622 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 642 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 4 -> ( # 98 "Lexer.fsl" LPAREN -# 627 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 647 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 5 -> ( # 99 "Lexer.fsl" RPAREN -# 632 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 652 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 6 -> ( # 100 "Lexer.fsl" LBRACE -# 637 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 657 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 7 -> ( # 101 "Lexer.fsl" RBRACE -# 642 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 662 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 8 -> ( # 102 "Lexer.fsl" LBRACKET -# 647 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 667 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 9 -> ( # 103 "Lexer.fsl" RBRACKET -# 652 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 672 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 10 -> ( # 104 "Lexer.fsl" COLON -# 657 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 677 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 11 -> ( # 105 "Lexer.fsl" COMMA -# 662 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 682 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 12 -> ( # 107 "Lexer.fsl" SYMBOL (lexeme lexbuf) -# 667 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 687 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 13 -> ( # 109 "Lexer.fsl" - OP_PLUS -# 672 "Syntax\\FsLexYaccOutput\\Lexer.fs" + HASH_IDENT ((lexeme lexbuf).TrimStart('#')) +# 692 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 14 -> ( -# 110 "Lexer.fsl" - OP_MINUS -# 677 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 111 "Lexer.fsl" + OP_PLUS +# 697 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 15 -> ( -# 111 "Lexer.fsl" - DOT -# 682 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 112 "Lexer.fsl" + OP_MINUS +# 702 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 16 -> ( -# 112 "Lexer.fsl" - PROP_PLUS (lexeme lexbuf) -# 687 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 113 "Lexer.fsl" + DOT +# 707 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 17 -> ( -# 113 "Lexer.fsl" - HASH_PAREN -# 692 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 114 "Lexer.fsl" + PROP_PLUS (lexeme lexbuf) +# 712 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 18 -> ( -# 114 "Lexer.fsl" - DOTDOT -# 697 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 115 "Lexer.fsl" + HASH_PAREN +# 717 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 19 -> ( -# 115 "Lexer.fsl" - QUOTE_SYM -# 702 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 116 "Lexer.fsl" + DOTDOT +# 722 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 20 -> ( -# 116 "Lexer.fsl" - DOT_BRACKET -# 707 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 117 "Lexer.fsl" + QUOTE_SYM +# 727 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 21 -> ( -# 117 "Lexer.fsl" - DOT_PLUS -# 712 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 118 "Lexer.fsl" + DOT_BRACKET +# 732 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 22 -> ( -# 118 "Lexer.fsl" - DOT_METHOD (lexeme lexbuf) -# 717 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 119 "Lexer.fsl" + DOT_PLUS +# 737 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 23 -> ( -# 119 "Lexer.fsl" - HASH_BRACE -# 722 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 120 "Lexer.fsl" + DOT_METHOD (lexeme lexbuf) +# 742 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 24 -> ( -# 120 "Lexer.fsl" - AT -# 727 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 121 "Lexer.fsl" + HASH_BRACE +# 747 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 25 -> ( -# 121 "Lexer.fsl" - CHAR (lexeme lexbuf) -# 732 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 122 "Lexer.fsl" + AT +# 752 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 26 -> ( -# 122 "Lexer.fsl" - CHAR (lexeme lexbuf) -# 737 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 123 "Lexer.fsl" + CHAR (lexeme lexbuf) +# 757 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 27 -> ( -# 123 "Lexer.fsl" +# 124 "Lexer.fsl" CHAR (lexeme lexbuf) -# 742 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 762 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 28 -> ( -# 124 "Lexer.fsl" +# 125 "Lexer.fsl" CHAR (lexeme lexbuf) -# 747 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 767 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 29 -> ( -# 125 "Lexer.fsl" - token args skip lexbuf -# 752 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 126 "Lexer.fsl" + CHAR (lexeme lexbuf) +# 772 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 30 -> ( -# 126 "Lexer.fsl" - newline lexbuf; token args skip lexbuf -# 757 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 127 "Lexer.fsl" + token args skip lexbuf +# 777 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 31 -> ( -# 127 "Lexer.fsl" +# 128 "Lexer.fsl" + newline lexbuf; token args skip lexbuf +# 782 "Syntax\\FsLexYaccOutput\\Lexer.fs" + ) + | 32 -> ( +# 129 "Lexer.fsl" let text = (lexeme lexbuf) if text.EndsWith('L') then INT64 (int64 (text.TrimEnd('L'))) else INT32 (int (text.TrimEnd('l'))) -# 767 "Syntax\\FsLexYaccOutput\\Lexer.fs" - ) - | 32 -> ( -# 133 "Lexer.fsl" - DECIMAL (decimal (lexeme lexbuf)) -# 772 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 792 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 33 -> ( # 135 "Lexer.fsl" - OP_PLUS -# 777 "Syntax\\FsLexYaccOutput\\Lexer.fs" + DECIMAL (decimal (lexeme lexbuf)) +# 797 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 34 -> ( -# 136 "Lexer.fsl" - OP_MINUS -# 782 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 137 "Lexer.fsl" + OP_PLUS +# 802 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 35 -> ( -# 137 "Lexer.fsl" - UNIT -# 787 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 138 "Lexer.fsl" + OP_MINUS +# 807 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 36 -> ( -# 138 "Lexer.fsl" - UNIT -# 792 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 139 "Lexer.fsl" + UNIT +# 812 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 37 -> ( -# 139 "Lexer.fsl" - TRUE -# 797 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 140 "Lexer.fsl" + UNIT +# 817 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 38 -> ( -# 140 "Lexer.fsl" - FALSE -# 802 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 141 "Lexer.fsl" + TRUE +# 822 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 39 -> ( -# 141 "Lexer.fsl" - NIL -# 807 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 142 "Lexer.fsl" + FALSE +# 827 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 40 -> ( # 143 "Lexer.fsl" + NIL +# 832 "Syntax\\FsLexYaccOutput\\Lexer.fs" + ) + | 41 -> ( +# 145 "Lexer.fsl" let buf, fin, m = startString lexbuf // TODO: validate singleQuoteString (buf, fin, m, LexerStringKind.String, args) skip lexbuf -# 815 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 840 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 41 -> ( -# 148 "Lexer.fsl" + | 42 -> ( +# 150 "Lexer.fsl" let buf, fin, m = startString lexbuf // TODO: validate tripleQuoteString (buf, fin, m, LexerStringKind.String, args) skip lexbuf -# 823 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 848 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 42 -> ( -# 153 "Lexer.fsl" + | 43 -> ( +# 155 "Lexer.fsl" let buf, fin, m = startString lexbuf // TODO: validate tripleQuoteString (buf, fin, m, LexerStringKind.String, args) skip lexbuf -# 831 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 856 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 43 -> ( -# 157 "Lexer.fsl" + | 44 -> ( +# 159 "Lexer.fsl" OP_MULT -# 836 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 861 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 44 -> ( -# 158 "Lexer.fsl" + | 45 -> ( +# 160 "Lexer.fsl" OP_DIV -# 841 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 866 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 45 -> ( -# 159 "Lexer.fsl" + | 46 -> ( +# 161 "Lexer.fsl" LPAREN -# 846 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 871 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 46 -> ( -# 160 "Lexer.fsl" + | 47 -> ( +# 162 "Lexer.fsl" RPAREN -# 851 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 876 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 47 -> ( -# 161 "Lexer.fsl" + | 48 -> ( +# 163 "Lexer.fsl" LBRACE -# 856 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 881 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 48 -> ( -# 162 "Lexer.fsl" + | 49 -> ( +# 164 "Lexer.fsl" RBRACE -# 861 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 886 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 49 -> ( -# 163 "Lexer.fsl" + | 50 -> ( +# 165 "Lexer.fsl" LBRACKET -# 866 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 891 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 50 -> ( -# 164 "Lexer.fsl" + | 51 -> ( +# 166 "Lexer.fsl" RBRACKET -# 871 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 896 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 51 -> ( -# 165 "Lexer.fsl" + | 52 -> ( +# 167 "Lexer.fsl" KEYWORD (lexeme lexbuf) -# 876 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 901 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 52 -> ( -# 166 "Lexer.fsl" + | 53 -> ( +# 168 "Lexer.fsl" COLON -# 881 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 906 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 53 -> ( -# 167 "Lexer.fsl" + | 54 -> ( +# 169 "Lexer.fsl" let text = lexeme lexbuf symbolOrKeyword text -# 889 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 914 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 54 -> ( -# 171 "Lexer.fsl" + | 55 -> ( +# 173 "Lexer.fsl" COMMA -# 894 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 919 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 55 -> ( -# 172 "Lexer.fsl" + | 56 -> ( +# 174 "Lexer.fsl" unexpected_char "token" lexbuf -# 899 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 924 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | _ -> failwith "token" // Rule tokenStream and tokenStream (args: LexArgs) (skip: bool) lexbuf = match _fslex_tables.Interpret(14,lexbuf) with | 0 -> ( -# 175 "Lexer.fsl" +# 177 "Lexer.fsl" tokenStream args skip lexbuf -# 908 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 933 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 1 -> ( -# 176 "Lexer.fsl" +# 178 "Lexer.fsl" newline lexbuf; tokenStream args skip lexbuf -# 913 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 938 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 2 -> ( -# 177 "Lexer.fsl" +# 179 "Lexer.fsl" tokenStream args skip lexbuf -# 918 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 943 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 3 -> ( -# 178 "Lexer.fsl" +# 180 "Lexer.fsl" EOF -# 923 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 948 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 4 -> ( -# 181 "Lexer.fsl" - LPAREN -# 928 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 182 "Lexer.fsl" + HASH_IDENT ((lexeme lexbuf).TrimStart('#')) +# 953 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 5 -> ( -# 182 "Lexer.fsl" - RPAREN -# 933 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 185 "Lexer.fsl" + LPAREN +# 958 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 6 -> ( -# 183 "Lexer.fsl" - LBRACE -# 938 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 186 "Lexer.fsl" + RPAREN +# 963 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 7 -> ( -# 184 "Lexer.fsl" - RBRACE -# 943 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 187 "Lexer.fsl" + LBRACE +# 968 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 8 -> ( -# 185 "Lexer.fsl" - LBRACKET -# 948 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 188 "Lexer.fsl" + RBRACE +# 973 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 9 -> ( -# 186 "Lexer.fsl" - RBRACKET -# 953 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 189 "Lexer.fsl" + LBRACKET +# 978 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 10 -> ( -# 187 "Lexer.fsl" - COLON -# 958 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 190 "Lexer.fsl" + RBRACKET +# 983 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 11 -> ( -# 188 "Lexer.fsl" - COMMA -# 963 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 191 "Lexer.fsl" + COLON +# 988 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 12 -> ( -# 189 "Lexer.fsl" - DOT -# 968 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 192 "Lexer.fsl" + COMMA +# 993 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 13 -> ( -# 191 "Lexer.fsl" - SYMBOL (lexeme lexbuf) -# 973 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 193 "Lexer.fsl" + DOT +# 998 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 14 -> ( -# 194 "Lexer.fsl" - UNIT -# 978 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 195 "Lexer.fsl" + SYMBOL (lexeme lexbuf) +# 1003 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 15 -> ( -# 195 "Lexer.fsl" +# 198 "Lexer.fsl" UNIT -# 983 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1008 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 16 -> ( -# 196 "Lexer.fsl" +# 199 "Lexer.fsl" UNIT -# 988 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1013 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 17 -> ( -# 197 "Lexer.fsl" - TRUE -# 993 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 200 "Lexer.fsl" + UNIT +# 1018 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 18 -> ( -# 198 "Lexer.fsl" - FALSE -# 998 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 201 "Lexer.fsl" + TRUE +# 1023 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 19 -> ( -# 199 "Lexer.fsl" - NIL -# 1003 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 202 "Lexer.fsl" + FALSE +# 1028 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 20 -> ( -# 200 "Lexer.fsl" - CHAR (lexeme lexbuf) -# 1008 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 203 "Lexer.fsl" + NIL +# 1033 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 21 -> ( -# 201 "Lexer.fsl" - CHAR (lexeme lexbuf) -# 1013 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 204 "Lexer.fsl" + CHAR (lexeme lexbuf) +# 1038 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 22 -> ( -# 202 "Lexer.fsl" +# 205 "Lexer.fsl" CHAR (lexeme lexbuf) -# 1018 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1043 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 23 -> ( -# 203 "Lexer.fsl" +# 206 "Lexer.fsl" CHAR (lexeme lexbuf) -# 1023 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1048 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 24 -> ( -# 204 "Lexer.fsl" +# 207 "Lexer.fsl" + CHAR (lexeme lexbuf) +# 1053 "Syntax\\FsLexYaccOutput\\Lexer.fs" + ) + | 25 -> ( +# 208 "Lexer.fsl" let text = (lexeme lexbuf) if text.EndsWith('L') then INT64 (int64 (text.TrimEnd('L'))) else INT32 (int (text.TrimEnd('l'))) -# 1033 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1063 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 25 -> ( -# 210 "Lexer.fsl" + | 26 -> ( +# 214 "Lexer.fsl" DECIMAL (decimal (lexeme lexbuf)) -# 1038 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1068 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 26 -> ( -# 212 "Lexer.fsl" + | 27 -> ( +# 216 "Lexer.fsl" let buf, fin, m = startString lexbuf // TODO: validate singleQuoteString (buf, fin, m, LexerStringKind.String, args) skip lexbuf -# 1046 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1076 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 27 -> ( -# 218 "Lexer.fsl" + | 28 -> ( +# 222 "Lexer.fsl" let buf, fin, m = startString lexbuf // TODO: validate tripleQuoteString (buf, fin, m, LexerStringKind.String, args) skip lexbuf -# 1054 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1084 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 28 -> ( -# 223 "Lexer.fsl" + | 29 -> ( +# 227 "Lexer.fsl" let buf, fin, m = startString lexbuf // TODO: validate tripleQuoteString (buf, fin, m, LexerStringKind.String, args) skip lexbuf -# 1062 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1092 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 29 -> ( -# 229 "Lexer.fsl" + | 30 -> ( +# 233 "Lexer.fsl" KEYWORD (lexeme lexbuf) -# 1067 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1097 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 30 -> ( -# 230 "Lexer.fsl" + | 31 -> ( +# 234 "Lexer.fsl" let text = lexeme lexbuf if args.mode.IsQuasiquoteMode then @@ -1079,76 +1109,76 @@ and tokenStream (args: LexArgs) (skip: bool) lexbuf = SYMBOL text else SYMBOL text -# 1082 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1112 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) - | 31 -> ( -# 241 "Lexer.fsl" + | 32 -> ( +# 245 "Lexer.fsl" unexpected_char "tokenStream" lexbuf -# 1087 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1117 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | _ -> failwith "tokenStream" // Rule singleQuoteString and singleQuoteString (sargs: LexerStringArgs) (skip: bool) lexbuf = match _fslex_tables.Interpret(8,lexbuf) with | 0 -> ( -# 245 "Lexer.fsl" +# 249 "Lexer.fsl" let (buf, fin, _m, kind, args) = sargs //let cont = LexCont.Token(args.ifdefStack, args.stringNest) let cont = LexCont.Token(()) fin.Finish buf kind (LexerStringFinisherContext()) cont -# 1100 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1130 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 1 -> ( -# 251 "Lexer.fsl" +# 255 "Lexer.fsl" newline lexbuf; let (buf, _fin, m, kind, args) = sargs addUnicodeString buf (lexeme lexbuf) singleQuoteString sargs skip lexbuf -# 1109 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1139 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 2 -> ( -# 257 "Lexer.fsl" +# 261 "Lexer.fsl" let (buf, _fin, m, kind, args) = sargs addUnicodeString buf (lexeme lexbuf) // if not skip then // STRING_TEXT (LexCont.String(args.ifdefStack, args.stringNest, LexerStringStyle.SingleQuote, kind, args.interpolationDelimiterLength, m)) // else singleQuoteString sargs skip lexbuf -# 1119 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1149 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | _ -> failwith "singleQuoteString" // Rule tripleQuoteString and tripleQuoteString (sargs: LexerStringArgs) (skip: bool) lexbuf = match _fslex_tables.Interpret(0,lexbuf) with | 0 -> ( -# 266 "Lexer.fsl" +# 270 "Lexer.fsl" let (buf, fin, _m, kind, args) = sargs //let cont = LexCont.Token(args.ifdefStack, args.stringNest) let cont = LexCont.Token(()) fin.Finish buf kind (LexerStringFinisherContext.TripleQuote) cont -# 1132 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1162 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 1 -> ( -# 272 "Lexer.fsl" +# 276 "Lexer.fsl" newline lexbuf; let (buf, _fin, m, kind, args) = sargs addUnicodeString buf (lexeme lexbuf) tripleQuoteString sargs skip lexbuf -# 1141 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1171 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | 2 -> ( -# 278 "Lexer.fsl" +# 282 "Lexer.fsl" let (buf, _fin, m, kind, args) = sargs addUnicodeString buf (lexeme lexbuf) // if not skip then // STRING_TEXT (LexCont.String(args.ifdefStack, args.stringNest, LexerStringStyle.SingleQuote, kind, args.interpolationDelimiterLength, m)) // else tripleQuoteString sargs skip lexbuf -# 1151 "Syntax\\FsLexYaccOutput\\Lexer.fs" +# 1181 "Syntax\\FsLexYaccOutput\\Lexer.fs" ) | _ -> failwith "tripleQuoteString" diff --git a/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fs b/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fs index d8dd995..81f002b 100644 --- a/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fs +++ b/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fs @@ -32,13 +32,17 @@ type token = | CHAR of (string) | MACRO_NAME of (string) | PROP_PLUS of (string) + | HASH_IDENT of (string) | DECIMAL of (decimal) | INT64 of (int64) | INT32 of (int) | INLINE + | REC | THREAD_FIRST | THREAD_LAST | SYNTAX_MACRO + | SEQ + | YIELD | ATOM_KW | DEREF_KW | WHILE @@ -51,6 +55,7 @@ type token = | WHEN | CONS | CONCAT + | REQUIRE | FN | FNSTAR | LET @@ -110,13 +115,17 @@ type tokenId = | TOKEN_CHAR | TOKEN_MACRO_NAME | TOKEN_PROP_PLUS + | TOKEN_HASH_IDENT | TOKEN_DECIMAL | TOKEN_INT64 | TOKEN_INT32 | TOKEN_INLINE + | TOKEN_REC | TOKEN_THREAD_FIRST | TOKEN_THREAD_LAST | TOKEN_SYNTAX_MACRO + | TOKEN_SEQ + | TOKEN_YIELD | TOKEN_ATOM_KW | TOKEN_DEREF_KW | TOKEN_WHILE @@ -129,6 +138,7 @@ type tokenId = | TOKEN_WHEN | TOKEN_CONS | TOKEN_CONCAT + | TOKEN_REQUIRE | TOKEN_FN | TOKEN_FNSTAR | TOKEN_LET @@ -193,6 +203,9 @@ type nonTerminalId = | NONTERM_module_decls | NONTERM_rev_module_decls | NONTERM_module_decl + | NONTERM_hash_ident_args + | NONTERM_rev_hash_ident_args + | NONTERM_hash_ident_arg | NONTERM_module_parens | NONTERM_module_help | NONTERM_expr_list @@ -204,6 +217,8 @@ type nonTerminalId = | NONTERM_vector_start | NONTERM_inside_parens | NONTERM_parens_expr_start + | NONTERM_dotted_exprs + | NONTERM_rev_dotted_exprs | NONTERM_parens_expr | NONTERM_macro_call_expr | NONTERM_macro_call @@ -309,74 +324,79 @@ let tagOfToken (t:token) = | CHAR _ -> 5 | MACRO_NAME _ -> 6 | PROP_PLUS _ -> 7 - | DECIMAL _ -> 8 - | INT64 _ -> 9 - | INT32 _ -> 10 - | INLINE -> 11 - | THREAD_FIRST -> 12 - | THREAD_LAST -> 13 - | SYNTAX_MACRO -> 14 - | ATOM_KW -> 15 - | DEREF_KW -> 16 - | WHILE -> 17 - | TYPE -> 18 - | MEMBER -> 19 - | MEMBERFN -> 20 - | OVERRIDE -> 21 - | MACRO -> 22 - | MATCH -> 23 - | WHEN -> 24 - | CONS -> 25 - | CONCAT -> 26 - | FN -> 27 - | FNSTAR -> 28 - | LET -> 29 - | LETSTAR -> 30 - | MUT -> 31 - | SET -> 32 - | DOT -> 33 - | NEW -> 34 - | DOT_BRACKET -> 35 - | DOT_PLUS -> 36 - | IF_KW -> 37 - | BEGIN_KW -> 38 - | DO_KW -> 39 - | QUOTE_KW -> 40 - | UNQUOTE_KW -> 41 - | SPLICE_UNQUOTE_KW -> 42 - | QUASIQUOTE_KW -> 43 - | OPEN -> 44 - | MODULE -> 45 - | AT -> 46 - | DOTDOT -> 47 - | BANG_RANGE -> 48 - | FOR_IN -> 49 - | BANG_LIST -> 50 - | BANG_MAP -> 51 - | BANG_SET -> 52 - | BANG_ARRAY -> 53 - | BANG_VEC -> 54 - | BANG_TUPLE -> 55 - | OP_PLUS -> 56 - | OP_MINUS -> 57 - | OP_MULT -> 58 - | OP_DIV -> 59 - | QUOTE_SYM -> 60 - | TRUE -> 61 - | FALSE -> 62 - | NIL -> 63 - | COLON -> 64 - | COMMA -> 65 - | UNIT -> 66 - | LBRACE -> 67 - | RBRACE -> 68 - | HASH_BRACE -> 69 - | HASH_PAREN -> 70 - | LBRACKET -> 71 - | RBRACKET -> 72 - | LPAREN -> 73 - | RPAREN -> 74 - | EOF -> 75 + | HASH_IDENT _ -> 8 + | DECIMAL _ -> 9 + | INT64 _ -> 10 + | INT32 _ -> 11 + | INLINE -> 12 + | REC -> 13 + | THREAD_FIRST -> 14 + | THREAD_LAST -> 15 + | SYNTAX_MACRO -> 16 + | SEQ -> 17 + | YIELD -> 18 + | ATOM_KW -> 19 + | DEREF_KW -> 20 + | WHILE -> 21 + | TYPE -> 22 + | MEMBER -> 23 + | MEMBERFN -> 24 + | OVERRIDE -> 25 + | MACRO -> 26 + | MATCH -> 27 + | WHEN -> 28 + | CONS -> 29 + | CONCAT -> 30 + | REQUIRE -> 31 + | FN -> 32 + | FNSTAR -> 33 + | LET -> 34 + | LETSTAR -> 35 + | MUT -> 36 + | SET -> 37 + | DOT -> 38 + | NEW -> 39 + | DOT_BRACKET -> 40 + | DOT_PLUS -> 41 + | IF_KW -> 42 + | BEGIN_KW -> 43 + | DO_KW -> 44 + | QUOTE_KW -> 45 + | UNQUOTE_KW -> 46 + | SPLICE_UNQUOTE_KW -> 47 + | QUASIQUOTE_KW -> 48 + | OPEN -> 49 + | MODULE -> 50 + | AT -> 51 + | DOTDOT -> 52 + | BANG_RANGE -> 53 + | FOR_IN -> 54 + | BANG_LIST -> 55 + | BANG_MAP -> 56 + | BANG_SET -> 57 + | BANG_ARRAY -> 58 + | BANG_VEC -> 59 + | BANG_TUPLE -> 60 + | OP_PLUS -> 61 + | OP_MINUS -> 62 + | OP_MULT -> 63 + | OP_DIV -> 64 + | QUOTE_SYM -> 65 + | TRUE -> 66 + | FALSE -> 67 + | NIL -> 68 + | COLON -> 69 + | COMMA -> 70 + | UNIT -> 71 + | LBRACE -> 72 + | RBRACE -> 73 + | HASH_BRACE -> 74 + | HASH_PAREN -> 75 + | LBRACKET -> 76 + | RBRACKET -> 77 + | LPAREN -> 78 + | RPAREN -> 79 + | EOF -> 80 // This function maps integer indexes to symbolic token ids let tokenTagToTokenId (tokenIdx:int) = @@ -389,76 +409,81 @@ let tokenTagToTokenId (tokenIdx:int) = | 5 -> TOKEN_CHAR | 6 -> TOKEN_MACRO_NAME | 7 -> TOKEN_PROP_PLUS - | 8 -> TOKEN_DECIMAL - | 9 -> TOKEN_INT64 - | 10 -> TOKEN_INT32 - | 11 -> TOKEN_INLINE - | 12 -> TOKEN_THREAD_FIRST - | 13 -> TOKEN_THREAD_LAST - | 14 -> TOKEN_SYNTAX_MACRO - | 15 -> TOKEN_ATOM_KW - | 16 -> TOKEN_DEREF_KW - | 17 -> TOKEN_WHILE - | 18 -> TOKEN_TYPE - | 19 -> TOKEN_MEMBER - | 20 -> TOKEN_MEMBERFN - | 21 -> TOKEN_OVERRIDE - | 22 -> TOKEN_MACRO - | 23 -> TOKEN_MATCH - | 24 -> TOKEN_WHEN - | 25 -> TOKEN_CONS - | 26 -> TOKEN_CONCAT - | 27 -> TOKEN_FN - | 28 -> TOKEN_FNSTAR - | 29 -> TOKEN_LET - | 30 -> TOKEN_LETSTAR - | 31 -> TOKEN_MUT - | 32 -> TOKEN_SET - | 33 -> TOKEN_DOT - | 34 -> TOKEN_NEW - | 35 -> TOKEN_DOT_BRACKET - | 36 -> TOKEN_DOT_PLUS - | 37 -> TOKEN_IF_KW - | 38 -> TOKEN_BEGIN_KW - | 39 -> TOKEN_DO_KW - | 40 -> TOKEN_QUOTE_KW - | 41 -> TOKEN_UNQUOTE_KW - | 42 -> TOKEN_SPLICE_UNQUOTE_KW - | 43 -> TOKEN_QUASIQUOTE_KW - | 44 -> TOKEN_OPEN - | 45 -> TOKEN_MODULE - | 46 -> TOKEN_AT - | 47 -> TOKEN_DOTDOT - | 48 -> TOKEN_BANG_RANGE - | 49 -> TOKEN_FOR_IN - | 50 -> TOKEN_BANG_LIST - | 51 -> TOKEN_BANG_MAP - | 52 -> TOKEN_BANG_SET - | 53 -> TOKEN_BANG_ARRAY - | 54 -> TOKEN_BANG_VEC - | 55 -> TOKEN_BANG_TUPLE - | 56 -> TOKEN_OP_PLUS - | 57 -> TOKEN_OP_MINUS - | 58 -> TOKEN_OP_MULT - | 59 -> TOKEN_OP_DIV - | 60 -> TOKEN_QUOTE_SYM - | 61 -> TOKEN_TRUE - | 62 -> TOKEN_FALSE - | 63 -> TOKEN_NIL - | 64 -> TOKEN_COLON - | 65 -> TOKEN_COMMA - | 66 -> TOKEN_UNIT - | 67 -> TOKEN_LBRACE - | 68 -> TOKEN_RBRACE - | 69 -> TOKEN_HASH_BRACE - | 70 -> TOKEN_HASH_PAREN - | 71 -> TOKEN_LBRACKET - | 72 -> TOKEN_RBRACKET - | 73 -> TOKEN_LPAREN - | 74 -> TOKEN_RPAREN - | 75 -> TOKEN_EOF - | 78 -> TOKEN_end_of_input - | 76 -> TOKEN_error + | 8 -> TOKEN_HASH_IDENT + | 9 -> TOKEN_DECIMAL + | 10 -> TOKEN_INT64 + | 11 -> TOKEN_INT32 + | 12 -> TOKEN_INLINE + | 13 -> TOKEN_REC + | 14 -> TOKEN_THREAD_FIRST + | 15 -> TOKEN_THREAD_LAST + | 16 -> TOKEN_SYNTAX_MACRO + | 17 -> TOKEN_SEQ + | 18 -> TOKEN_YIELD + | 19 -> TOKEN_ATOM_KW + | 20 -> TOKEN_DEREF_KW + | 21 -> TOKEN_WHILE + | 22 -> TOKEN_TYPE + | 23 -> TOKEN_MEMBER + | 24 -> TOKEN_MEMBERFN + | 25 -> TOKEN_OVERRIDE + | 26 -> TOKEN_MACRO + | 27 -> TOKEN_MATCH + | 28 -> TOKEN_WHEN + | 29 -> TOKEN_CONS + | 30 -> TOKEN_CONCAT + | 31 -> TOKEN_REQUIRE + | 32 -> TOKEN_FN + | 33 -> TOKEN_FNSTAR + | 34 -> TOKEN_LET + | 35 -> TOKEN_LETSTAR + | 36 -> TOKEN_MUT + | 37 -> TOKEN_SET + | 38 -> TOKEN_DOT + | 39 -> TOKEN_NEW + | 40 -> TOKEN_DOT_BRACKET + | 41 -> TOKEN_DOT_PLUS + | 42 -> TOKEN_IF_KW + | 43 -> TOKEN_BEGIN_KW + | 44 -> TOKEN_DO_KW + | 45 -> TOKEN_QUOTE_KW + | 46 -> TOKEN_UNQUOTE_KW + | 47 -> TOKEN_SPLICE_UNQUOTE_KW + | 48 -> TOKEN_QUASIQUOTE_KW + | 49 -> TOKEN_OPEN + | 50 -> TOKEN_MODULE + | 51 -> TOKEN_AT + | 52 -> TOKEN_DOTDOT + | 53 -> TOKEN_BANG_RANGE + | 54 -> TOKEN_FOR_IN + | 55 -> TOKEN_BANG_LIST + | 56 -> TOKEN_BANG_MAP + | 57 -> TOKEN_BANG_SET + | 58 -> TOKEN_BANG_ARRAY + | 59 -> TOKEN_BANG_VEC + | 60 -> TOKEN_BANG_TUPLE + | 61 -> TOKEN_OP_PLUS + | 62 -> TOKEN_OP_MINUS + | 63 -> TOKEN_OP_MULT + | 64 -> TOKEN_OP_DIV + | 65 -> TOKEN_QUOTE_SYM + | 66 -> TOKEN_TRUE + | 67 -> TOKEN_FALSE + | 68 -> TOKEN_NIL + | 69 -> TOKEN_COLON + | 70 -> TOKEN_COMMA + | 71 -> TOKEN_UNIT + | 72 -> TOKEN_LBRACE + | 73 -> TOKEN_RBRACE + | 74 -> TOKEN_HASH_BRACE + | 75 -> TOKEN_HASH_PAREN + | 76 -> TOKEN_LBRACKET + | 77 -> TOKEN_RBRACKET + | 78 -> TOKEN_LPAREN + | 79 -> TOKEN_RPAREN + | 80 -> TOKEN_EOF + | 83 -> TOKEN_end_of_input + | 81 -> TOKEN_error | _ -> failwith "tokenTagToTokenId: bad token" /// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production @@ -479,46 +504,46 @@ let prodIdxToNonTerminal (prodIdx:int) = | 12 -> NONTERM_rev_module_decls | 13 -> NONTERM_module_decl | 14 -> NONTERM_module_decl - | 15 -> NONTERM_module_parens - | 16 -> NONTERM_module_help - | 17 -> NONTERM_module_help - | 18 -> NONTERM_expr_list - | 19 -> NONTERM_rev_expr_list - | 20 -> NONTERM_rev_expr_list - | 21 -> NONTERM_expr_list_or_empty - | 22 -> NONTERM_expr_list_or_empty - | 23 -> NONTERM_recover - | 24 -> NONTERM_recover - | 25 -> NONTERM_expr - | 26 -> NONTERM_expr - | 27 -> NONTERM_expr - | 28 -> NONTERM_expr - | 29 -> NONTERM_expr - | 30 -> NONTERM_expr - | 31 -> NONTERM_expr + | 15 -> NONTERM_module_decl + | 16 -> NONTERM_hash_ident_args + | 17 -> NONTERM_rev_hash_ident_args + | 18 -> NONTERM_rev_hash_ident_args + | 19 -> NONTERM_rev_hash_ident_args + | 20 -> NONTERM_hash_ident_arg + | 21 -> NONTERM_module_parens + | 22 -> NONTERM_module_help + | 23 -> NONTERM_module_help + | 24 -> NONTERM_module_help + | 25 -> NONTERM_expr_list + | 26 -> NONTERM_rev_expr_list + | 27 -> NONTERM_rev_expr_list + | 28 -> NONTERM_expr_list_or_empty + | 29 -> NONTERM_expr_list_or_empty + | 30 -> NONTERM_recover + | 31 -> NONTERM_recover | 32 -> NONTERM_expr | 33 -> NONTERM_expr | 34 -> NONTERM_expr - | 35 -> NONTERM_lambda_short_expr_list - | 36 -> NONTERM_lambda_short_expr_list - | 37 -> NONTERM_lambda_short_expr_list - | 38 -> NONTERM_lambda_short_expr_list - | 39 -> NONTERM_vector_start - | 40 -> NONTERM_vector_start - | 41 -> NONTERM_inside_parens - | 42 -> NONTERM_inside_parens - | 43 -> NONTERM_inside_parens - | 44 -> NONTERM_inside_parens - | 45 -> NONTERM_parens_expr_start - | 46 -> NONTERM_parens_expr - | 47 -> NONTERM_parens_expr - | 48 -> NONTERM_parens_expr - | 49 -> NONTERM_parens_expr - | 50 -> NONTERM_parens_expr - | 51 -> NONTERM_parens_expr - | 52 -> NONTERM_parens_expr - | 53 -> NONTERM_parens_expr - | 54 -> NONTERM_parens_expr + | 35 -> NONTERM_expr + | 36 -> NONTERM_expr + | 37 -> NONTERM_expr + | 38 -> NONTERM_expr + | 39 -> NONTERM_expr + | 40 -> NONTERM_expr + | 41 -> NONTERM_expr + | 42 -> NONTERM_lambda_short_expr_list + | 43 -> NONTERM_vector_start + | 44 -> NONTERM_vector_start + | 45 -> NONTERM_inside_parens + | 46 -> NONTERM_inside_parens + | 47 -> NONTERM_inside_parens + | 48 -> NONTERM_inside_parens + | 49 -> NONTERM_parens_expr_start + | 50 -> NONTERM_dotted_exprs + | 51 -> NONTERM_rev_dotted_exprs + | 52 -> NONTERM_rev_dotted_exprs + | 53 -> NONTERM_rev_dotted_exprs + | 54 -> NONTERM_rev_dotted_exprs | 55 -> NONTERM_parens_expr | 56 -> NONTERM_parens_expr | 57 -> NONTERM_parens_expr @@ -550,230 +575,247 @@ let prodIdxToNonTerminal (prodIdx:int) = | 83 -> NONTERM_parens_expr | 84 -> NONTERM_parens_expr | 85 -> NONTERM_parens_expr - | 86 -> NONTERM_macro_call_expr - | 87 -> NONTERM_macro_call - | 88 -> NONTERM_syntax_macro_expr - | 89 -> NONTERM_syntax_macro - | 90 -> NONTERM_macro_cases - | 91 -> NONTERM_rev_macro_cases - | 92 -> NONTERM_rev_macro_cases - | 93 -> NONTERM_macro_case_start - | 94 -> NONTERM_macro_case_start - | 95 -> NONTERM_macro_case_pat - | 96 -> NONTERM_macro_case_pat - | 97 -> NONTERM_macro_pat_list - | 98 -> NONTERM_rev_macro_pat_list - | 99 -> NONTERM_rev_macro_pat_list - | 100 -> NONTERM_macro_pat - | 101 -> NONTERM_macro_pat - | 102 -> NONTERM_macro_pat - | 103 -> NONTERM_macro_pat - | 104 -> NONTERM_macro_body_list - | 105 -> NONTERM_rev_macro_body_list - | 106 -> NONTERM_rev_macro_body_list - | 107 -> NONTERM_macro_body - | 108 -> NONTERM_macro_body - | 109 -> NONTERM_macro_body - | 110 -> NONTERM_macro_body - | 111 -> NONTERM_macro_body - | 112 -> NONTERM_macro_body - | 113 -> NONTERM_macro_body - | 114 -> NONTERM_cons_expr - | 115 -> NONTERM_cons_expr - | 116 -> NONTERM_cons_expr - | 117 -> NONTERM_concat_expr - | 118 -> NONTERM_concat_expr - | 119 -> NONTERM_concat_expr - | 120 -> NONTERM_new_expr - | 121 -> NONTERM_new_expr - | 122 -> NONTERM_threadable_list - | 123 -> NONTERM_rev_threadable_list - | 124 -> NONTERM_rev_threadable_list - | 125 -> NONTERM_threadable - | 126 -> NONTERM_threadable - | 127 -> NONTERM_threadable - | 128 -> NONTERM_threadable - | 129 -> NONTERM_prop_plus - | 130 -> NONTERM_dot_expr - | 131 -> NONTERM_dot_expr - | 132 -> NONTERM_dot_expr - | 133 -> NONTERM_dot_expr - | 134 -> NONTERM_dot_expr - | 135 -> NONTERM_dot_expr - | 136 -> NONTERM_dot_expr - | 137 -> NONTERM_dot_expr - | 138 -> NONTERM_dot_expr - | 139 -> NONTERM_lparen_or_lbracket - | 140 -> NONTERM_lparen_or_lbracket - | 141 -> NONTERM_rparen_or_rbracket - | 142 -> NONTERM_rparen_or_rbracket - | 143 -> NONTERM_list_expr - | 144 -> NONTERM_list_expr - | 145 -> NONTERM_for_in_expr - | 146 -> NONTERM_range_expr - | 147 -> NONTERM_range_expr - | 148 -> NONTERM_range_expr - | 149 -> NONTERM_range_expr - | 150 -> NONTERM_if_expr - | 151 -> NONTERM_if_expr - | 152 -> NONTERM_quoted_exprs - | 153 -> NONTERM_rev_quoted_exprs - | 154 -> NONTERM_rev_quoted_exprs - | 155 -> NONTERM_quoted_expr - | 156 -> NONTERM_quoted_expr - | 157 -> NONTERM_quoted_expr - | 158 -> NONTERM_quoted_expr - | 159 -> NONTERM_quoted_expr - | 160 -> NONTERM_quoted_expr - | 161 -> NONTERM_quoted_expr - | 162 -> NONTERM_value_exprs - | 163 -> NONTERM_rev_value_exprs - | 164 -> NONTERM_rev_value_exprs - | 165 -> NONTERM_rev_value_exprs - | 166 -> NONTERM_value_expr - | 167 -> NONTERM_value_expr - | 168 -> NONTERM_value_expr - | 169 -> NONTERM_value_expr - | 170 -> NONTERM_value_expr - | 171 -> NONTERM_value_expr - | 172 -> NONTERM_value_expr - | 173 -> NONTERM_quasiquoted_exprs - | 174 -> NONTERM_rev_quasiquoted_exprs - | 175 -> NONTERM_rev_quasiquoted_exprs - | 176 -> NONTERM_quasiquoted_expr - | 177 -> NONTERM_quasiquoted_expr - | 178 -> NONTERM_quasiquoted_expr - | 179 -> NONTERM_quasiquoted_expr - | 180 -> NONTERM_quasiquoted_expr - | 181 -> NONTERM_quasiquoted_expr - | 182 -> NONTERM_quasiquoted_expr - | 183 -> NONTERM_unquote - | 184 -> NONTERM_splice_unquote - | 185 -> NONTERM_operators - | 186 -> NONTERM_operators_not_in_parens - | 187 -> NONTERM_operators_not_in_parens - | 188 -> NONTERM_operators_not_in_parens - | 189 -> NONTERM_operators_not_in_parens - | 190 -> NONTERM_operators_not_in_parens - | 191 -> NONTERM_operators_not_in_parens - | 192 -> NONTERM_set - | 193 -> NONTERM_set - | 194 -> NONTERM_set - | 195 -> NONTERM_let - | 196 -> NONTERM_let - | 197 -> NONTERM_let - | 198 -> NONTERM_mut - | 199 -> NONTERM_mut - | 200 -> NONTERM_mut - | 201 -> NONTERM_letstar - | 202 -> NONTERM_type_expr - | 203 -> NONTERM_member_list_start - | 204 -> NONTERM_member_list_start - | 205 -> NONTERM_member_list - | 206 -> NONTERM_rev_member_list - | 207 -> NONTERM_rev_member_list - | 208 -> NONTERM_member - | 209 -> NONTERM_member_in_parens - | 210 -> NONTERM_member_in_parens - | 211 -> NONTERM_member_in_parens - | 212 -> NONTERM_member_in_parens - | 213 -> NONTERM_member_in_parens - | 214 -> NONTERM_member_in_parens - | 215 -> NONTERM_tok_lparen - | 216 -> NONTERM_empty_bindings - | 217 -> NONTERM_empty_bindings - | 218 -> NONTERM_binding_list_start - | 219 -> NONTERM_binding_list_start - | 220 -> NONTERM_binding_list_start - | 221 -> NONTERM_binding_list - | 222 -> NONTERM_rev_binding_list - | 223 -> NONTERM_rev_binding_list - | 224 -> NONTERM_binding - | 225 -> NONTERM_name - | 226 -> NONTERM_name - | 227 -> NONTERM_name_in_parens_or_brackets_start - | 228 -> NONTERM_name_in_parens_or_brackets_start - | 229 -> NONTERM_name_in_parens_or_brackets - | 230 -> NONTERM_name_in_parens_or_brackets - | 231 -> NONTERM_empty_name_list - | 232 -> NONTERM_empty_name_list - | 233 -> NONTERM_name_list_start - | 234 -> NONTERM_name_list_start - | 235 -> NONTERM_name_list_start - | 236 -> NONTERM_name_list - | 237 -> NONTERM_rev_name_list - | 238 -> NONTERM_rev_name_list - | 239 -> NONTERM_symbol - | 240 -> NONTERM_macro_name - | 241 -> NONTERM_dot_method - | 242 -> NONTERM_keyword - | 243 -> NONTERM_syntype_ident - | 244 -> NONTERM_syntype_ident - | 245 -> NONTERM_constant - | 246 -> NONTERM_rawConstant - | 247 -> NONTERM_rawConstant - | 248 -> NONTERM_rawConstant - | 249 -> NONTERM_rawConstant - | 250 -> NONTERM_rawConstant - | 251 -> NONTERM_rawConstant - | 252 -> NONTERM_rawConstant - | 253 -> NONTERM_rawConstant - | 254 -> NONTERM_rawConstant - | 255 -> NONTERM_function_def - | 256 -> NONTERM_function_def - | 257 -> NONTERM_function_def - | 258 -> NONTERM_function_def - | 259 -> NONTERM_function_def - | 260 -> NONTERM_invalid_function_def - | 261 -> NONTERM_invalid_function_def - | 262 -> NONTERM_invalid_function_def - | 263 -> NONTERM_invalid_function_def - | 264 -> NONTERM_invalid_function_def - | 265 -> NONTERM_macro_def - | 266 -> NONTERM_empty_arg_list - | 267 -> NONTERM_empty_arg_list - | 268 -> NONTERM_arg_list_start - | 269 -> NONTERM_arg_list_start - | 270 -> NONTERM_arg_list_start - | 271 -> NONTERM_arg_list_start - | 272 -> NONTERM_arg_list_start - | 273 -> NONTERM_arg_list - | 274 -> NONTERM_rev_arg_list - | 275 -> NONTERM_rev_arg_list - | 276 -> NONTERM_arg - | 277 -> NONTERM_arg - | 278 -> NONTERM_arg_in_parens_or_brackets_start - | 279 -> NONTERM_arg_in_parens_or_brackets_start - | 280 -> NONTERM_arg_in_parens_or_brackets - | 281 -> NONTERM_arg_in_parens_or_brackets - | 282 -> NONTERM_function_call - | 283 -> NONTERM_function_call - | 284 -> NONTERM_function_call_args - | 285 -> NONTERM_function_call_args - | 286 -> NONTERM_empty_call_args - | 287 -> NONTERM_match_expr - | 288 -> NONTERM_match_expr - | 289 -> NONTERM_match_expr - | 290 -> NONTERM_match_list - | 291 -> NONTERM_rev_match_list - | 292 -> NONTERM_rev_match_list - | 293 -> NONTERM_match_start - | 294 -> NONTERM_match_start - | 295 -> NONTERM_match - | 296 -> NONTERM_match - | 297 -> NONTERM_match_tuple_list - | 298 -> NONTERM_rev_match_tuple_list - | 299 -> NONTERM_rev_match_tuple_list - | 300 -> NONTERM_rev_match_tuple_list - | 301 -> NONTERM_rev_match_tuple_list - | 302 -> NONTERM_match_pattern - | 303 -> NONTERM_match_pattern - | 304 -> NONTERM_match_pattern - | 305 -> NONTERM_match_pattern + | 86 -> NONTERM_parens_expr + | 87 -> NONTERM_parens_expr + | 88 -> NONTERM_parens_expr + | 89 -> NONTERM_parens_expr + | 90 -> NONTERM_parens_expr + | 91 -> NONTERM_parens_expr + | 92 -> NONTERM_parens_expr + | 93 -> NONTERM_parens_expr + | 94 -> NONTERM_parens_expr + | 95 -> NONTERM_parens_expr + | 96 -> NONTERM_parens_expr + | 97 -> NONTERM_parens_expr + | 98 -> NONTERM_macro_call_expr + | 99 -> NONTERM_macro_call + | 100 -> NONTERM_syntax_macro_expr + | 101 -> NONTERM_syntax_macro + | 102 -> NONTERM_macro_cases + | 103 -> NONTERM_rev_macro_cases + | 104 -> NONTERM_rev_macro_cases + | 105 -> NONTERM_macro_case_start + | 106 -> NONTERM_macro_case_start + | 107 -> NONTERM_macro_case_pat + | 108 -> NONTERM_macro_case_pat + | 109 -> NONTERM_macro_pat_list + | 110 -> NONTERM_rev_macro_pat_list + | 111 -> NONTERM_rev_macro_pat_list + | 112 -> NONTERM_macro_pat + | 113 -> NONTERM_macro_pat + | 114 -> NONTERM_macro_pat + | 115 -> NONTERM_macro_pat + | 116 -> NONTERM_macro_body_list + | 117 -> NONTERM_rev_macro_body_list + | 118 -> NONTERM_rev_macro_body_list + | 119 -> NONTERM_macro_body + | 120 -> NONTERM_macro_body + | 121 -> NONTERM_macro_body + | 122 -> NONTERM_macro_body + | 123 -> NONTERM_macro_body + | 124 -> NONTERM_macro_body + | 125 -> NONTERM_macro_body + | 126 -> NONTERM_cons_expr + | 127 -> NONTERM_cons_expr + | 128 -> NONTERM_cons_expr + | 129 -> NONTERM_concat_expr + | 130 -> NONTERM_concat_expr + | 131 -> NONTERM_concat_expr + | 132 -> NONTERM_new_expr + | 133 -> NONTERM_new_expr + | 134 -> NONTERM_threadable_list + | 135 -> NONTERM_rev_threadable_list + | 136 -> NONTERM_rev_threadable_list + | 137 -> NONTERM_threadable + | 138 -> NONTERM_threadable + | 139 -> NONTERM_threadable + | 140 -> NONTERM_threadable + | 141 -> NONTERM_prop_plus + | 142 -> NONTERM_dot_expr + | 143 -> NONTERM_dot_expr + | 144 -> NONTERM_dot_expr + | 145 -> NONTERM_dot_expr + | 146 -> NONTERM_dot_expr + | 147 -> NONTERM_dot_expr + | 148 -> NONTERM_dot_expr + | 149 -> NONTERM_dot_expr + | 150 -> NONTERM_dot_expr + | 151 -> NONTERM_lparen_or_lbracket + | 152 -> NONTERM_lparen_or_lbracket + | 153 -> NONTERM_rparen_or_rbracket + | 154 -> NONTERM_rparen_or_rbracket + | 155 -> NONTERM_list_expr + | 156 -> NONTERM_list_expr + | 157 -> NONTERM_for_in_expr + | 158 -> NONTERM_range_expr + | 159 -> NONTERM_range_expr + | 160 -> NONTERM_range_expr + | 161 -> NONTERM_range_expr + | 162 -> NONTERM_range_expr + | 163 -> NONTERM_range_expr + | 164 -> NONTERM_if_expr + | 165 -> NONTERM_if_expr + | 166 -> NONTERM_quoted_exprs + | 167 -> NONTERM_rev_quoted_exprs + | 168 -> NONTERM_rev_quoted_exprs + | 169 -> NONTERM_quoted_expr + | 170 -> NONTERM_quoted_expr + | 171 -> NONTERM_quoted_expr + | 172 -> NONTERM_quoted_expr + | 173 -> NONTERM_quoted_expr + | 174 -> NONTERM_quoted_expr + | 175 -> NONTERM_quoted_expr + | 176 -> NONTERM_value_exprs + | 177 -> NONTERM_rev_value_exprs + | 178 -> NONTERM_rev_value_exprs + | 179 -> NONTERM_rev_value_exprs + | 180 -> NONTERM_value_expr + | 181 -> NONTERM_value_expr + | 182 -> NONTERM_value_expr + | 183 -> NONTERM_value_expr + | 184 -> NONTERM_value_expr + | 185 -> NONTERM_value_expr + | 186 -> NONTERM_value_expr + | 187 -> NONTERM_quasiquoted_exprs + | 188 -> NONTERM_rev_quasiquoted_exprs + | 189 -> NONTERM_rev_quasiquoted_exprs + | 190 -> NONTERM_quasiquoted_expr + | 191 -> NONTERM_quasiquoted_expr + | 192 -> NONTERM_quasiquoted_expr + | 193 -> NONTERM_quasiquoted_expr + | 194 -> NONTERM_quasiquoted_expr + | 195 -> NONTERM_quasiquoted_expr + | 196 -> NONTERM_quasiquoted_expr + | 197 -> NONTERM_unquote + | 198 -> NONTERM_splice_unquote + | 199 -> NONTERM_operators + | 200 -> NONTERM_operators_not_in_parens + | 201 -> NONTERM_operators_not_in_parens + | 202 -> NONTERM_operators_not_in_parens + | 203 -> NONTERM_operators_not_in_parens + | 204 -> NONTERM_operators_not_in_parens + | 205 -> NONTERM_operators_not_in_parens + | 206 -> NONTERM_set + | 207 -> NONTERM_set + | 208 -> NONTERM_set + | 209 -> NONTERM_let + | 210 -> NONTERM_let + | 211 -> NONTERM_let + | 212 -> NONTERM_mut + | 213 -> NONTERM_mut + | 214 -> NONTERM_mut + | 215 -> NONTERM_letstar + | 216 -> NONTERM_type_expr + | 217 -> NONTERM_member_list_start + | 218 -> NONTERM_member_list_start + | 219 -> NONTERM_member_list + | 220 -> NONTERM_rev_member_list + | 221 -> NONTERM_rev_member_list + | 222 -> NONTERM_member + | 223 -> NONTERM_member_in_parens + | 224 -> NONTERM_member_in_parens + | 225 -> NONTERM_member_in_parens + | 226 -> NONTERM_member_in_parens + | 227 -> NONTERM_member_in_parens + | 228 -> NONTERM_member_in_parens + | 229 -> NONTERM_tok_lparen + | 230 -> NONTERM_empty_bindings + | 231 -> NONTERM_empty_bindings + | 232 -> NONTERM_binding_list_start + | 233 -> NONTERM_binding_list_start + | 234 -> NONTERM_binding_list_start + | 235 -> NONTERM_binding_list + | 236 -> NONTERM_rev_binding_list + | 237 -> NONTERM_rev_binding_list + | 238 -> NONTERM_binding + | 239 -> NONTERM_name + | 240 -> NONTERM_name + | 241 -> NONTERM_name_in_parens_or_brackets_start + | 242 -> NONTERM_name_in_parens_or_brackets_start + | 243 -> NONTERM_name_in_parens_or_brackets + | 244 -> NONTERM_name_in_parens_or_brackets + | 245 -> NONTERM_empty_name_list + | 246 -> NONTERM_empty_name_list + | 247 -> NONTERM_name_list_start + | 248 -> NONTERM_name_list_start + | 249 -> NONTERM_name_list_start + | 250 -> NONTERM_name_list + | 251 -> NONTERM_rev_name_list + | 252 -> NONTERM_rev_name_list + | 253 -> NONTERM_symbol + | 254 -> NONTERM_macro_name + | 255 -> NONTERM_dot_method + | 256 -> NONTERM_keyword + | 257 -> NONTERM_syntype_ident + | 258 -> NONTERM_syntype_ident + | 259 -> NONTERM_syntype_ident + | 260 -> NONTERM_constant + | 261 -> NONTERM_rawConstant + | 262 -> NONTERM_rawConstant + | 263 -> NONTERM_rawConstant + | 264 -> NONTERM_rawConstant + | 265 -> NONTERM_rawConstant + | 266 -> NONTERM_rawConstant + | 267 -> NONTERM_rawConstant + | 268 -> NONTERM_rawConstant + | 269 -> NONTERM_rawConstant + | 270 -> NONTERM_function_def + | 271 -> NONTERM_function_def + | 272 -> NONTERM_function_def + | 273 -> NONTERM_function_def + | 274 -> NONTERM_function_def + | 275 -> NONTERM_function_def + | 276 -> NONTERM_function_def + | 277 -> NONTERM_invalid_function_def + | 278 -> NONTERM_invalid_function_def + | 279 -> NONTERM_invalid_function_def + | 280 -> NONTERM_invalid_function_def + | 281 -> NONTERM_invalid_function_def + | 282 -> NONTERM_macro_def + | 283 -> NONTERM_empty_arg_list + | 284 -> NONTERM_empty_arg_list + | 285 -> NONTERM_arg_list_start + | 286 -> NONTERM_arg_list_start + | 287 -> NONTERM_arg_list_start + | 288 -> NONTERM_arg_list_start + | 289 -> NONTERM_arg_list_start + | 290 -> NONTERM_arg_list + | 291 -> NONTERM_rev_arg_list + | 292 -> NONTERM_rev_arg_list + | 293 -> NONTERM_arg + | 294 -> NONTERM_arg + | 295 -> NONTERM_arg_in_parens_or_brackets_start + | 296 -> NONTERM_arg_in_parens_or_brackets_start + | 297 -> NONTERM_arg_in_parens_or_brackets + | 298 -> NONTERM_arg_in_parens_or_brackets + | 299 -> NONTERM_function_call + | 300 -> NONTERM_function_call + | 301 -> NONTERM_function_call_args + | 302 -> NONTERM_function_call_args + | 303 -> NONTERM_empty_call_args + | 304 -> NONTERM_match_expr + | 305 -> NONTERM_match_expr + | 306 -> NONTERM_match_expr + | 307 -> NONTERM_match_list + | 308 -> NONTERM_rev_match_list + | 309 -> NONTERM_rev_match_list + | 310 -> NONTERM_match_start + | 311 -> NONTERM_match_start + | 312 -> NONTERM_match + | 313 -> NONTERM_match + | 314 -> NONTERM_match_tuple_list + | 315 -> NONTERM_rev_match_tuple_list + | 316 -> NONTERM_rev_match_tuple_list + | 317 -> NONTERM_rev_match_tuple_list + | 318 -> NONTERM_rev_match_tuple_list + | 319 -> NONTERM_match_pattern + | 320 -> NONTERM_match_pattern + | 321 -> NONTERM_match_pattern + | 322 -> NONTERM_match_pattern | _ -> failwith "prodIdxToNonTerminal: bad production index" -let _fsyacc_endOfInputTag = 78 -let _fsyacc_tagOfErrorTerminal = 76 +let _fsyacc_endOfInputTag = 83 +let _fsyacc_tagOfErrorTerminal = 81 // This function gets the name of a token as a string let token_to_string (t:token) = @@ -786,13 +828,17 @@ let token_to_string (t:token) = | CHAR _ -> "CHAR" | MACRO_NAME _ -> "MACRO_NAME" | PROP_PLUS _ -> "PROP_PLUS" + | HASH_IDENT _ -> "HASH_IDENT" | DECIMAL _ -> "DECIMAL" | INT64 _ -> "INT64" | INT32 _ -> "INT32" | INLINE -> "INLINE" + | REC -> "REC" | THREAD_FIRST -> "THREAD_FIRST" | THREAD_LAST -> "THREAD_LAST" | SYNTAX_MACRO -> "SYNTAX_MACRO" + | SEQ -> "SEQ" + | YIELD -> "YIELD" | ATOM_KW -> "ATOM_KW" | DEREF_KW -> "DEREF_KW" | WHILE -> "WHILE" @@ -805,6 +851,7 @@ let token_to_string (t:token) = | WHEN -> "WHEN" | CONS -> "CONS" | CONCAT -> "CONCAT" + | REQUIRE -> "REQUIRE" | FN -> "FN" | FNSTAR -> "FNSTAR" | LET -> "LET" @@ -866,13 +913,17 @@ let _fsyacc_dataOfToken (t:token) = | CHAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | MACRO_NAME _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | PROP_PLUS _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x + | HASH_IDENT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | DECIMAL _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | INT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | INT32 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | INLINE -> (null : System.Object) + | REC -> (null : System.Object) | THREAD_FIRST -> (null : System.Object) | THREAD_LAST -> (null : System.Object) | SYNTAX_MACRO -> (null : System.Object) + | SEQ -> (null : System.Object) + | YIELD -> (null : System.Object) | ATOM_KW -> (null : System.Object) | DEREF_KW -> (null : System.Object) | WHILE -> (null : System.Object) @@ -885,6 +936,7 @@ let _fsyacc_dataOfToken (t:token) = | WHEN -> (null : System.Object) | CONS -> (null : System.Object) | CONCAT -> (null : System.Object) + | REQUIRE -> (null : System.Object) | FN -> (null : System.Object) | FNSTAR -> (null : System.Object) | LET -> (null : System.Object) @@ -934,18 +986,18 @@ let _fsyacc_dataOfToken (t:token) = | LPAREN -> (null : System.Object) | RPAREN -> (null : System.Object) | EOF -> (null : System.Object) -let _fsyacc_gotos = [| 0us;65535us;0us;65535us;1us;65535us;2us;3us;1us;65535us;0us;1us;1us;65535us;2us;4us;1us;65535us;2us;6us;1us;65535us;2us;7us;2us;65535us;2us;8us;7us;9us;3us;65535us;2us;10us;7us;10us;24us;25us;3us;65535us;2us;13us;7us;13us;24us;13us;4us;65535us;2us;14us;7us;14us;13us;15us;24us;14us;4us;65535us;2us;16us;7us;16us;13us;16us;24us;16us;1us;65535us;18us;19us;34us;65535us;39us;29us;42us;29us;54us;56us;66us;420us;92us;93us;94us;95us;102us;103us;104us;105us;108us;109us;110us;111us;112us;113us;114us;115us;116us;117us;178us;179us;200us;201us;204us;209us;216us;217us;222us;223us;274us;276us;275us;277us;278us;279us;280us;281us;292us;293us;313us;314us;317us;318us;324us;325us;382us;383us;386us;387us;388us;389us;391us;392us;396us;397us;419us;420us;431us;432us;435us;436us;34us;65535us;39us;26us;42us;26us;54us;26us;66us;26us;92us;26us;94us;26us;102us;26us;104us;26us;108us;26us;110us;26us;112us;26us;114us;26us;116us;26us;178us;26us;200us;26us;204us;26us;216us;26us;222us;26us;274us;26us;275us;26us;278us;26us;280us;26us;292us;26us;313us;26us;317us;26us;324us;26us;382us;26us;386us;26us;388us;26us;391us;26us;396us;26us;419us;26us;431us;26us;435us;26us;2us;65535us;39us;40us;42us;43us;12us;65535us;18us;64us;58us;64us;59us;64us;312us;404us;316us;404us;323us;404us;380us;404us;381us;404us;385us;404us;390us;404us;395us;404us;400us;403us;84us;65535us;0us;5us;2us;17us;7us;17us;13us;17us;18us;66us;24us;17us;26us;28us;35us;36us;39us;27us;42us;27us;45us;419us;54us;27us;58us;66us;59us;66us;66us;27us;67us;68us;92us;27us;94us;27us;97us;98us;99us;100us;101us;102us;102us;27us;104us;27us;106us;188us;108us;27us;110us;27us;112us;27us;114us;27us;116us;27us;171us;172us;172us;173us;174us;175us;175us;176us;178us;27us;180us;188us;185us;186us;190us;191us;192us;193us;195us;196us;197us;198us;199us;200us;200us;27us;202us;203us;204us;27us;206us;207us;216us;27us;220us;221us;222us;27us;224us;225us;225us;230us;226us;227us;228us;229us;230us;231us;232us;233us;233us;234us;234us;235us;266us;267us;269us;270us;274us;27us;275us;27us;278us;27us;280us;27us;282us;283us;283us;284us;286us;287us;289us;290us;292us;27us;306us;307us;309us;310us;313us;27us;317us;27us;320us;321us;324us;27us;338us;339us;382us;27us;386us;27us;388us;27us;391us;27us;396us;27us;419us;27us;421us;422us;431us;27us;433us;434us;435us;27us;1us;65535us;45us;46us;84us;65535us;0us;48us;2us;48us;7us;48us;13us;48us;18us;48us;24us;48us;26us;48us;35us;48us;39us;48us;42us;48us;45us;48us;54us;48us;58us;48us;59us;48us;66us;48us;67us;48us;92us;48us;94us;48us;97us;48us;99us;48us;101us;48us;102us;48us;104us;48us;106us;48us;108us;48us;110us;48us;112us;48us;114us;48us;116us;48us;171us;48us;172us;48us;174us;48us;175us;48us;178us;48us;180us;48us;185us;48us;190us;48us;192us;48us;195us;48us;197us;48us;199us;48us;200us;48us;202us;48us;204us;48us;206us;48us;216us;48us;220us;48us;222us;48us;224us;48us;225us;48us;226us;48us;228us;48us;230us;48us;232us;48us;233us;48us;234us;48us;266us;48us;269us;48us;274us;48us;275us;48us;278us;48us;280us;48us;282us;48us;283us;48us;286us;48us;289us;48us;292us;48us;306us;48us;309us;48us;313us;48us;317us;48us;320us;48us;324us;48us;338us;48us;382us;48us;386us;48us;388us;48us;391us;48us;396us;48us;419us;48us;421us;48us;431us;48us;433us;48us;435us;48us;84us;65535us;0us;49us;2us;49us;7us;49us;13us;49us;18us;49us;24us;49us;26us;49us;35us;49us;39us;49us;42us;49us;45us;49us;54us;49us;58us;49us;59us;49us;66us;49us;67us;49us;92us;49us;94us;49us;97us;49us;99us;49us;101us;49us;102us;49us;104us;49us;106us;49us;108us;49us;110us;49us;112us;49us;114us;49us;116us;49us;171us;49us;172us;49us;174us;49us;175us;49us;178us;49us;180us;49us;185us;49us;190us;49us;192us;49us;195us;49us;197us;49us;199us;49us;200us;49us;202us;49us;204us;49us;206us;49us;216us;49us;220us;49us;222us;49us;224us;49us;225us;49us;226us;49us;228us;49us;230us;49us;232us;49us;233us;49us;234us;49us;266us;49us;269us;49us;274us;49us;275us;49us;278us;49us;280us;49us;282us;49us;283us;49us;286us;49us;289us;49us;292us;49us;306us;49us;309us;49us;313us;49us;317us;49us;320us;49us;324us;49us;338us;49us;382us;49us;386us;49us;388us;49us;391us;49us;396us;49us;419us;49us;421us;49us;431us;49us;433us;49us;435us;49us;3us;65535us;18us;61us;58us;61us;59us;61us;3us;65535us;18us;65us;58us;65us;59us;65us;3us;65535us;18us;87us;58us;87us;59us;87us;3us;65535us;18us;118us;58us;118us;59us;118us;3us;65535us;18us;86us;58us;86us;59us;86us;3us;65535us;18us;121us;58us;121us;59us;121us;1us;65535us;123us;124us;1us;65535us;123us;125us;2us;65535us;123us;126us;125us;127us;2us;65535us;128us;129us;132us;133us;4us;65535us;136us;137us;139us;140us;146us;147us;149us;150us;4us;65535us;136us;142us;139us;142us;146us;142us;149us;142us;5us;65535us;136us;143us;139us;143us;142us;144us;146us;143us;149us;143us;5us;65535us;119us;120us;157us;158us;160us;161us;163us;164us;166us;167us;5us;65535us;119us;153us;157us;153us;160us;153us;163us;153us;166us;153us;8us;65535us;119us;154us;129us;130us;133us;134us;153us;155us;157us;154us;160us;154us;163us;154us;166us;154us;3us;65535us;18us;83us;58us;83us;59us;83us;3us;65535us;18us;84us;58us;84us;59us;84us;4us;65535us;18us;82us;45us;53us;58us;82us;59us;82us;1us;65535us;106us;107us;1us;65535us;106us;180us;2us;65535us;106us;181us;180us;182us;7us;65535us;18us;197us;45us;197us;58us;197us;59us;197us;106us;183us;180us;183us;203us;205us;4us;65535us;18us;96us;45us;52us;58us;96us;59us;96us;11us;65535us;218us;219us;312us;400us;316us;400us;323us;400us;380us;400us;381us;400us;385us;400us;390us;400us;395us;400us;422us;427us;424us;427us;4us;65535us;221us;222us;401us;402us;427us;430us;428us;429us;3us;65535us;18us;80us;58us;80us;59us;80us;3us;65535us;18us;78us;58us;78us;59us;78us;3us;65535us;18us;79us;58us;79us;59us;79us;3us;65535us;18us;76us;58us;76us;59us;76us;4us;65535us;242us;243us;245us;246us;248us;249us;251us;252us;4us;65535us;242us;236us;245us;236us;248us;236us;251us;236us;7us;65535us;37us;38us;88us;89us;236us;238us;242us;237us;245us;237us;248us;237us;251us;237us;0us;65535us;0us;65535us;0us;65535us;1us;65535us;263us;264us;1us;65535us;263us;254us;3us;65535us;90us;91us;254us;256us;263us;255us;3us;65535us;90us;261us;254us;261us;263us;261us;3us;65535us;90us;262us;254us;262us;263us;262us;3us;65535us;90us;260us;254us;260us;263us;260us;5us;65535us;18us;85us;45us;50us;58us;85us;59us;85us;263us;272us;3us;65535us;18us;75us;58us;75us;59us;75us;3us;65535us;18us;72us;58us;72us;59us;72us;3us;65535us;18us;74us;58us;74us;59us;74us;3us;65535us;18us;73us;58us;73us;59us;73us;3us;65535us;18us;77us;58us;77us;59us;77us;1us;65535us;296us;297us;1us;65535us;296us;298us;1us;65535us;296us;299us;2us;65535us;296us;300us;299us;301us;1us;65535us;302us;303us;0us;65535us;1us;65535us;291us;330us;1us;65535us;291us;292us;2us;65535us;326us;331us;328us;333us;2us;65535us;326us;335us;328us;335us;3us;65535us;326us;336us;328us;336us;335us;337us;10us;65535us;219us;220us;285us;286us;288us;289us;305us;306us;326us;338us;328us;338us;335us;338us;351us;361us;353us;361us;360us;362us;10us;65535us;219us;341us;285us;341us;288us;341us;305us;341us;326us;341us;328us;341us;335us;341us;351us;341us;353us;341us;360us;341us;2us;65535us;342us;343us;345us;346us;1us;65535us;295us;355us;1us;65535us;295us;296us;2us;65535us;351us;356us;353us;358us;2us;65535us;351us;360us;353us;360us;143us;65535us;0us;33us;2us;33us;7us;33us;13us;33us;18us;33us;21us;22us;23us;24us;24us;33us;26us;33us;35us;33us;37us;240us;39us;33us;42us;33us;45us;33us;54us;33us;58us;33us;59us;33us;66us;33us;67us;33us;88us;240us;90us;258us;92us;33us;94us;33us;97us;33us;99us;33us;101us;33us;102us;33us;104us;33us;106us;33us;108us;33us;110us;33us;112us;33us;114us;33us;116us;33us;119us;170us;122us;123us;129us;170us;133us;170us;136us;152us;139us;152us;142us;152us;146us;152us;149us;152us;153us;170us;157us;170us;160us;170us;163us;170us;166us;170us;171us;33us;172us;33us;174us;33us;175us;33us;178us;33us;180us;33us;185us;33us;190us;33us;192us;33us;194us;195us;195us;33us;197us;33us;199us;33us;200us;33us;202us;33us;203us;204us;204us;33us;206us;33us;216us;33us;219us;340us;220us;33us;222us;33us;224us;33us;225us;33us;226us;33us;228us;33us;230us;33us;232us;33us;233us;33us;234us;33us;236us;240us;242us;240us;245us;240us;248us;240us;251us;240us;254us;258us;263us;258us;266us;33us;269us;33us;274us;33us;275us;33us;278us;33us;280us;33us;282us;33us;283us;33us;285us;340us;286us;33us;288us;340us;289us;33us;292us;33us;294us;295us;305us;340us;306us;33us;308us;309us;309us;33us;311us;312us;313us;33us;315us;316us;317us;33us;319us;320us;320us;33us;322us;323us;324us;33us;326us;340us;328us;340us;335us;340us;338us;33us;342us;348us;345us;348us;351us;340us;353us;340us;360us;340us;380us;381us;382us;33us;384us;385us;386us;33us;388us;33us;391us;33us;394us;395us;396us;33us;400us;408us;405us;408us;410us;416us;413us;416us;419us;33us;421us;33us;427us;445us;431us;33us;433us;33us;435us;33us;437us;445us;439us;445us;441us;445us;446us;445us;447us;445us;3us;65535us;18us;119us;58us;119us;59us;119us;6us;65535us;18us;199us;45us;199us;58us;199us;59us;199us;106us;184us;180us;184us;102us;65535us;0us;34us;2us;34us;7us;34us;13us;34us;18us;34us;24us;34us;26us;34us;35us;34us;37us;241us;39us;34us;42us;34us;45us;34us;54us;34us;58us;34us;59us;34us;66us;34us;67us;34us;88us;241us;90us;259us;92us;34us;94us;34us;97us;34us;99us;34us;101us;34us;102us;34us;104us;34us;106us;34us;108us;34us;110us;34us;112us;34us;114us;34us;116us;34us;119us;169us;129us;169us;133us;169us;153us;169us;157us;169us;160us;169us;163us;169us;166us;169us;171us;34us;172us;34us;174us;34us;175us;34us;178us;34us;180us;34us;185us;34us;190us;34us;192us;34us;195us;34us;197us;34us;199us;34us;200us;34us;202us;34us;204us;34us;206us;34us;216us;34us;220us;34us;222us;34us;224us;34us;225us;34us;226us;34us;228us;34us;230us;34us;232us;34us;233us;34us;234us;34us;236us;241us;242us;241us;245us;241us;248us;241us;251us;241us;254us;259us;263us;259us;266us;34us;269us;34us;274us;34us;275us;34us;278us;34us;280us;34us;282us;34us;283us;34us;286us;34us;289us;34us;292us;34us;306us;34us;309us;34us;313us;34us;317us;34us;320us;34us;324us;34us;338us;34us;382us;34us;386us;34us;388us;34us;391us;34us;396us;34us;419us;34us;421us;34us;431us;34us;433us;34us;435us;34us;3us;65535us;177us;178us;349us;350us;417us;418us;113us;65535us;0us;32us;2us;32us;7us;32us;13us;32us;18us;32us;24us;32us;26us;32us;35us;32us;37us;239us;39us;32us;42us;32us;45us;32us;54us;32us;58us;32us;59us;32us;66us;32us;67us;32us;88us;239us;90us;257us;92us;32us;94us;32us;97us;32us;99us;32us;101us;32us;102us;32us;104us;32us;106us;32us;108us;32us;110us;32us;112us;32us;114us;32us;116us;32us;119us;156us;129us;156us;133us;156us;136us;145us;139us;145us;142us;145us;146us;145us;149us;145us;153us;156us;157us;156us;160us;156us;163us;156us;166us;156us;171us;32us;172us;32us;174us;32us;175us;32us;178us;32us;180us;32us;185us;32us;190us;32us;192us;32us;195us;32us;197us;32us;199us;32us;200us;32us;202us;32us;204us;32us;206us;32us;216us;32us;220us;32us;222us;32us;224us;32us;225us;32us;226us;32us;228us;32us;230us;32us;232us;32us;233us;32us;234us;32us;236us;239us;242us;239us;245us;239us;248us;239us;251us;239us;254us;257us;263us;257us;266us;32us;269us;32us;274us;32us;275us;32us;278us;32us;280us;32us;282us;32us;283us;32us;286us;32us;289us;32us;292us;32us;306us;32us;309us;32us;313us;32us;317us;32us;320us;32us;324us;32us;338us;32us;382us;32us;386us;32us;388us;32us;391us;32us;396us;32us;419us;32us;421us;32us;427us;444us;431us;32us;433us;32us;435us;32us;437us;444us;439us;444us;441us;444us;446us;444us;447us;444us;113us;65535us;0us;370us;2us;370us;7us;370us;13us;370us;18us;370us;24us;370us;26us;370us;35us;370us;37us;370us;39us;370us;42us;370us;45us;370us;54us;370us;58us;370us;59us;370us;66us;370us;67us;370us;88us;370us;90us;370us;92us;370us;94us;370us;97us;370us;99us;370us;101us;370us;102us;370us;104us;370us;106us;370us;108us;370us;110us;370us;112us;370us;114us;370us;116us;370us;119us;370us;129us;370us;133us;370us;136us;370us;139us;370us;142us;370us;146us;370us;149us;370us;153us;370us;157us;370us;160us;370us;163us;370us;166us;370us;171us;370us;172us;370us;174us;370us;175us;370us;178us;370us;180us;370us;185us;370us;190us;370us;192us;370us;195us;370us;197us;370us;199us;370us;200us;370us;202us;370us;204us;370us;206us;370us;216us;370us;220us;370us;222us;370us;224us;370us;225us;370us;226us;370us;228us;370us;230us;370us;232us;370us;233us;370us;234us;370us;236us;370us;242us;370us;245us;370us;248us;370us;251us;370us;254us;370us;263us;370us;266us;370us;269us;370us;274us;370us;275us;370us;278us;370us;280us;370us;282us;370us;283us;370us;286us;370us;289us;370us;292us;370us;306us;370us;309us;370us;313us;370us;317us;370us;320us;370us;324us;370us;338us;370us;382us;370us;386us;370us;388us;370us;391us;370us;396us;370us;419us;370us;421us;370us;427us;370us;431us;370us;433us;370us;435us;370us;437us;370us;439us;370us;441us;370us;446us;370us;447us;370us;3us;65535us;18us;69us;58us;69us;59us;69us;3us;65535us;18us;393us;58us;393us;59us;393us;3us;65535us;18us;70us;58us;70us;59us;70us;0us;65535us;8us;65535us;312us;313us;316us;317us;323us;324us;380us;388us;381us;382us;385us;386us;390us;391us;395us;396us;1us;65535us;400us;401us;1us;65535us;400us;405us;2us;65535us;400us;406us;405us;407us;2us;65535us;400us;409us;405us;409us;2us;65535us;410us;411us;413us;414us;4us;65535us;18us;71us;45us;51us;58us;71us;59us;71us;0us;65535us;0us;65535us;3us;65535us;18us;81us;58us;81us;59us;81us;1us;65535us;422us;423us;1us;65535us;422us;424us;2us;65535us;422us;425us;424us;426us;1us;65535us;427us;428us;2us;65535us;446us;450us;447us;448us;2us;65535us;446us;437us;447us;437us;6us;65535us;427us;431us;437us;443us;439us;440us;441us;442us;446us;438us;447us;438us;|] -let _fsyacc_sparseGotoTableRowOffsets = [|0us;1us;2us;4us;6us;8us;10us;12us;15us;19us;23us;28us;33us;35us;70us;105us;108us;121us;206us;208us;293us;378us;382us;386us;390us;394us;398us;402us;404us;406us;409us;412us;417us;422us;428us;434us;440us;449us;453us;457us;462us;464us;466us;469us;477us;482us;494us;499us;503us;507us;511us;515us;520us;525us;533us;534us;535us;536us;538us;540us;544us;548us;552us;556us;562us;566us;570us;574us;578us;582us;584us;586us;588us;591us;593us;594us;596us;598us;601us;604us;608us;619us;630us;633us;635us;637us;640us;643us;787us;791us;798us;901us;905us;1019us;1133us;1137us;1141us;1145us;1146us;1155us;1157us;1159us;1162us;1165us;1168us;1173us;1174us;1175us;1179us;1181us;1183us;1186us;1188us;1191us;1194us;|] -let _fsyacc_stateToProdIdxsTableElements = [| 1us;0us;1us;0us;1us;1us;1us;1us;1us;2us;1us;3us;1us;4us;2us;5us;7us;1us;6us;1us;7us;1us;8us;1us;9us;1us;9us;2us;10us;12us;1us;11us;1us;12us;1us;13us;1us;14us;5us;15us;41us;42us;43us;44us;1us;15us;1us;15us;1us;16us;1us;16us;1us;17us;1us;17us;1us;17us;2us;18us;20us;1us;19us;1us;20us;1us;22us;1us;23us;1us;24us;1us;25us;1us;26us;1us;27us;1us;28us;1us;28us;1us;29us;1us;29us;1us;30us;1us;30us;1us;30us;1us;31us;1us;31us;1us;31us;1us;32us;1us;32us;1us;32us;1us;33us;1us;34us;1us;35us;1us;36us;1us;37us;1us;38us;2us;39us;40us;1us;39us;1us;40us;1us;40us;4us;41us;42us;43us;44us;5us;41us;42us;43us;44us;296us;1us;41us;2us;42us;43us;1us;42us;1us;43us;1us;44us;1us;45us;3us;46us;282us;283us;1us;46us;1us;46us;1us;47us;1us;48us;1us;49us;1us;50us;1us;51us;1us;52us;1us;53us;1us;54us;1us;55us;1us;56us;1us;57us;1us;58us;1us;59us;1us;60us;1us;61us;1us;62us;1us;63us;1us;64us;1us;65us;1us;66us;1us;66us;1us;67us;1us;67us;1us;68us;1us;68us;1us;69us;1us;69us;1us;70us;1us;71us;1us;71us;1us;72us;1us;72us;1us;73us;1us;73us;1us;73us;1us;74us;1us;74us;1us;75us;1us;75us;2us;76us;77us;1us;77us;2us;78us;79us;1us;79us;2us;80us;81us;1us;81us;2us;82us;83us;1us;83us;2us;84us;85us;1us;85us;1us;86us;1us;87us;1us;87us;1us;88us;1us;89us;1us;89us;1us;89us;2us;90us;92us;1us;91us;1us;92us;1us;93us;1us;93us;1us;93us;1us;93us;1us;94us;1us;94us;1us;94us;1us;94us;1us;95us;1us;95us;1us;95us;1us;96us;1us;96us;1us;96us;2us;97us;99us;1us;98us;1us;99us;1us;100us;1us;101us;1us;101us;1us;101us;1us;102us;1us;102us;1us;102us;1us;103us;2us;104us;106us;1us;105us;1us;106us;1us;107us;1us;108us;1us;108us;1us;108us;1us;109us;1us;109us;1us;109us;1us;110us;1us;110us;1us;110us;1us;111us;1us;111us;1us;111us;1us;112us;1us;113us;3us;114us;115us;116us;2us;114us;115us;1us;114us;3us;117us;118us;119us;2us;117us;118us;1us;117us;2us;120us;121us;2us;120us;121us;1us;121us;2us;122us;124us;1us;123us;1us;124us;1us;125us;1us;126us;1us;127us;1us;127us;1us;127us;1us;128us;1us;129us;1us;130us;1us;130us;1us;130us;1us;130us;1us;131us;1us;131us;1us;131us;1us;132us;1us;132us;2us;133us;134us;2us;133us;134us;1us;133us;4us;135us;136us;137us;138us;4us;135us;136us;137us;138us;2us;135us;138us;1us;136us;1us;137us;1us;137us;1us;137us;1us;138us;1us;139us;2us;139us;268us;1us;140us;2us;140us;269us;1us;141us;1us;142us;2us;143us;144us;1us;144us;1us;145us;1us;145us;1us;145us;1us;145us;1us;145us;1us;145us;4us;146us;147us;148us;149us;4us;146us;147us;148us;149us;2us;146us;148us;2us;146us;148us;1us;146us;1us;146us;2us;147us;149us;1us;147us;2us;150us;151us;2us;150us;151us;2us;150us;151us;1us;151us;2us;152us;154us;1us;153us;1us;154us;1us;155us;1us;156us;1us;157us;1us;158us;1us;158us;1us;158us;1us;159us;1us;159us;1us;159us;1us;160us;1us;160us;1us;160us;1us;161us;1us;161us;1us;161us;2us;173us;175us;1us;174us;1us;175us;1us;176us;1us;177us;1us;178us;1us;179us;1us;180us;1us;181us;4us;182us;183us;184us;185us;1us;182us;1us;182us;1us;183us;1us;183us;1us;183us;1us;184us;1us;184us;1us;184us;1us;185us;1us;185us;2us;186us;188us;2us;187us;189us;1us;188us;1us;189us;1us;190us;1us;190us;1us;191us;1us;191us;3us;192us;193us;194us;2us;192us;193us;1us;192us;3us;195us;196us;197us;2us;195us;196us;1us;195us;3us;198us;199us;200us;2us;198us;199us;1us;198us;1us;201us;1us;201us;1us;201us;1us;202us;1us;202us;1us;202us;1us;202us;1us;204us;2us;205us;207us;1us;206us;1us;207us;1us;208us;1us;208us;1us;208us;1us;209us;1us;209us;1us;209us;2us;210us;212us;1us;210us;1us;210us;1us;211us;1us;211us;1us;211us;1us;211us;1us;212us;1us;212us;1us;212us;1us;212us;2us;213us;214us;1us;213us;1us;213us;1us;214us;1us;214us;1us;214us;1us;214us;2us;216us;219us;1us;216us;2us;217us;220us;1us;217us;1us;218us;1us;219us;1us;219us;1us;220us;1us;220us;2us;221us;223us;1us;222us;1us;223us;1us;224us;1us;224us;1us;225us;1us;226us;1us;227us;1us;227us;1us;227us;1us;228us;1us;228us;1us;228us;2us;229us;230us;1us;229us;1us;229us;2us;231us;234us;1us;231us;2us;232us;235us;1us;232us;1us;233us;1us;234us;1us;234us;1us;235us;1us;235us;2us;236us;238us;1us;237us;1us;238us;1us;239us;1us;240us;1us;241us;1us;242us;1us;243us;1us;244us;1us;244us;1us;245us;1us;246us;1us;247us;1us;248us;1us;249us;1us;250us;1us;251us;1us;252us;1us;253us;1us;254us;8us;255us;256us;257us;260us;261us;262us;263us;264us;3us;255us;261us;263us;2us;255us;263us;1us;255us;2us;256us;264us;2us;256us;264us;2us;256us;264us;1us;256us;2us;257us;262us;1us;257us;1us;258us;1us;258us;1us;258us;1us;259us;1us;265us;1us;265us;1us;265us;1us;265us;1us;268us;1us;269us;2us;270us;271us;1us;270us;1us;270us;1us;271us;1us;272us;2us;273us;275us;1us;274us;1us;275us;1us;276us;1us;277us;1us;278us;1us;278us;1us;278us;1us;279us;1us;279us;1us;279us;2us;280us;281us;1us;280us;1us;280us;2us;282us;283us;1us;282us;3us;287us;288us;289us;2us;287us;288us;1us;287us;2us;290us;292us;1us;291us;1us;292us;2us;293us;294us;1us;293us;1us;293us;1us;294us;2us;295us;296us;1us;295us;1us;296us;1us;296us;1us;296us;1us;296us;4us;297us;299us;300us;301us;1us;298us;1us;299us;1us;299us;1us;300us;1us;300us;1us;301us;1us;302us;1us;303us;2us;304us;305us;1us;304us;1us;304us;1us;304us;1us;305us;1us;305us;|] -let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us;2us;4us;6us;8us;10us;12us;14us;17us;19us;21us;23us;25us;27us;30us;32us;34us;36us;38us;44us;46us;48us;50us;52us;54us;56us;58us;61us;63us;65us;67us;69us;71us;73us;75us;77us;79us;81us;83us;85us;87us;89us;91us;93us;95us;97us;99us;101us;103us;105us;107us;109us;111us;113us;115us;118us;120us;122us;124us;129us;135us;137us;140us;142us;144us;146us;148us;152us;154us;156us;158us;160us;162us;164us;166us;168us;170us;172us;174us;176us;178us;180us;182us;184us;186us;188us;190us;192us;194us;196us;198us;200us;202us;204us;206us;208us;210us;212us;214us;216us;218us;220us;222us;224us;226us;228us;230us;232us;234us;237us;239us;242us;244us;247us;249us;252us;254us;257us;259us;261us;263us;265us;267us;269us;271us;273us;276us;278us;280us;282us;284us;286us;288us;290us;292us;294us;296us;298us;300us;302us;304us;306us;308us;311us;313us;315us;317us;319us;321us;323us;325us;327us;329us;331us;334us;336us;338us;340us;342us;344us;346us;348us;350us;352us;354us;356us;358us;360us;362us;364us;366us;368us;372us;375us;377us;381us;384us;386us;389us;392us;394us;397us;399us;401us;403us;405us;407us;409us;411us;413us;415us;417us;419us;421us;423us;425us;427us;429us;431us;433us;436us;439us;441us;446us;451us;454us;456us;458us;460us;462us;464us;466us;469us;471us;474us;476us;478us;481us;483us;485us;487us;489us;491us;493us;495us;500us;505us;508us;511us;513us;515us;518us;520us;523us;526us;529us;531us;534us;536us;538us;540us;542us;544us;546us;548us;550us;552us;554us;556us;558us;560us;562us;564us;566us;568us;571us;573us;575us;577us;579us;581us;583us;585us;587us;592us;594us;596us;598us;600us;602us;604us;606us;608us;610us;612us;615us;618us;620us;622us;624us;626us;628us;630us;634us;637us;639us;643us;646us;648us;652us;655us;657us;659us;661us;663us;665us;667us;669us;671us;673us;676us;678us;680us;682us;684us;686us;688us;690us;692us;695us;697us;699us;701us;703us;705us;707us;709us;711us;713us;715us;718us;720us;722us;724us;726us;728us;730us;733us;735us;738us;740us;742us;744us;746us;748us;750us;753us;755us;757us;759us;761us;763us;765us;767us;769us;771us;773us;775us;777us;780us;782us;784us;787us;789us;792us;794us;796us;798us;800us;802us;804us;807us;809us;811us;813us;815us;817us;819us;821us;823us;825us;827us;829us;831us;833us;835us;837us;839us;841us;843us;845us;854us;858us;861us;863us;866us;869us;872us;874us;877us;879us;881us;883us;885us;887us;889us;891us;893us;895us;897us;899us;902us;904us;906us;908us;910us;913us;915us;917us;919us;921us;923us;925us;927us;929us;931us;933us;936us;938us;940us;943us;945us;949us;952us;954us;957us;959us;961us;964us;966us;968us;970us;973us;975us;977us;979us;981us;983us;988us;990us;992us;994us;996us;998us;1000us;1002us;1004us;1007us;1009us;1011us;1013us;1015us;|] -let _fsyacc_action_rows = 452 -let _fsyacc_actionTableElements = [|18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;49152us;19us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;18us;76us;11us;0us;49152us;0us;16386us;0us;16387us;0us;16388us;19us;16389us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;18us;76us;11us;0us;16390us;0us;16391us;0us;16392us;1us;32768us;75us;12us;0us;16393us;18us;16394us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;18us;0us;16395us;0us;16396us;0us;16397us;0us;16398us;64us;32768us;0us;363us;1us;366us;3us;365us;4us;371us;5us;379us;6us;364us;7us;189us;8us;372us;9us;374us;10us;373us;12us;104us;13us;106us;14us;122us;15us;97us;16us;99us;17us;101us;18us;294us;22us;394us;23us;421us;25us;171us;26us;174us;27us;380us;28us;390us;29us;285us;30us;291us;31us;288us;32us;282us;33us;202us;34us;177us;35us;190us;36us;194us;37us;232us;38us;92us;39us;94us;40us;88us;43us;90us;44us;21us;45us;23us;46us;35us;48us;224us;49us;218us;50us;216us;51us;110us;52us;112us;53us;114us;54us;116us;55us;108us;56us;274us;57us;278us;58us;275us;59us;280us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;74us;60us;75us;31us;76us;30us;1us;32768us;74us;20us;0us;16399us;1us;32768us;0us;363us;0us;16400us;1us;32768us;0us;363us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;18us;0us;16401us;18us;16402us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16403us;0us;16404us;0us;16406us;0us;16407us;0us;16408us;0us;16409us;0us;16410us;0us;16411us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16412us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;0us;16413us;18us;16405us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;68us;41us;0us;16414us;18us;16405us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;68us;44us;0us;16415us;28us;32768us;0us;363us;1us;366us;3us;365us;4us;371us;5us;379us;7us;189us;8us;372us;9us;374us;10us;373us;33us;202us;34us;177us;35us;190us;36us;194us;46us;35us;56us;274us;57us;278us;58us;275us;59us;280us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;74us;47us;0us;16416us;0us;16417us;0us;16418us;0us;16419us;0us;16420us;0us;16421us;0us;16422us;19us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;72us;55us;73us;58us;0us;16423us;1us;32768us;72us;57us;0us;16424us;62us;32768us;0us;363us;1us;366us;3us;365us;4us;371us;5us;379us;6us;364us;7us;189us;8us;372us;9us;374us;10us;373us;12us;104us;13us;106us;14us;122us;15us;97us;16us;99us;17us;101us;18us;294us;22us;394us;23us;421us;25us;171us;26us;174us;27us;380us;28us;390us;29us;285us;30us;291us;31us;288us;32us;282us;33us;202us;34us;177us;35us;190us;36us;194us;37us;232us;38us;92us;39us;94us;40us;88us;43us;90us;46us;35us;48us;224us;49us;218us;50us;216us;51us;110us;52us;112us;53us;114us;54us;116us;55us;108us;56us;274us;57us;278us;58us;275us;59us;280us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;74us;60us;75us;31us;76us;30us;63us;32768us;0us;363us;1us;366us;3us;365us;4us;371us;5us;379us;6us;364us;7us;189us;8us;372us;9us;374us;10us;373us;12us;104us;13us;106us;14us;122us;15us;97us;16us;99us;17us;101us;18us;294us;22us;394us;23us;421us;24us;433us;25us;171us;26us;174us;27us;380us;28us;390us;29us;285us;30us;291us;31us;288us;32us;282us;33us;202us;34us;177us;35us;190us;36us;194us;37us;232us;38us;92us;39us;94us;40us;88us;43us;90us;46us;35us;48us;224us;49us;218us;50us;216us;51us;110us;52us;112us;53us;114us;54us;116us;55us;108us;56us;274us;57us;278us;58us;275us;59us;280us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;74us;60us;75us;31us;76us;30us;0us;16425us;2us;32768us;74us;62us;75us;63us;0us;16426us;0us;16427us;0us;16428us;0us;16429us;19us;16667us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;33us;67us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16430us;0us;16431us;0us;16432us;0us;16433us;0us;16434us;0us;16435us;0us;16436us;0us;16437us;0us;16438us;0us;16439us;0us;16440us;0us;16441us;0us;16442us;0us;16443us;0us;16444us;0us;16445us;0us;16446us;0us;16447us;0us;16448us;0us;16449us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;0us;16450us;12us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;73us;263us;0us;16451us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16452us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16453us;0us;16454us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16455us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16456us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16457us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16458us;21us;32768us;0us;363us;1us;366us;3us;365us;4us;371us;5us;379us;7us;189us;8us;372us;9us;374us;10us;373us;35us;185us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16459us;18us;16460us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16461us;18us;16462us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16463us;18us;16464us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16465us;18us;16466us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16467us;18us;16468us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16469us;0us;16470us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;0us;16471us;0us;16472us;1us;32768us;0us;363us;2us;32768us;71us;132us;73us;128us;0us;16473us;2us;16474us;71us;132us;73us;128us;0us;16475us;0us;16476us;2us;32768us;71us;139us;73us;136us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;1us;32768us;74us;131us;0us;16477us;2us;32768us;71us;139us;73us;136us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;1us;32768us;72us;135us;0us;16478us;12us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;71us;149us;73us;146us;1us;32768us;74us;138us;0us;16479us;12us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;71us;149us;73us;146us;1us;32768us;72us;141us;0us;16480us;12us;16481us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;71us;149us;73us;146us;0us;16482us;0us;16483us;0us;16484us;12us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;71us;149us;73us;146us;1us;32768us;74us;148us;0us;16485us;12us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;71us;149us;73us;146us;1us;32768us;72us;151us;0us;16486us;0us;16487us;15us;16488us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;0us;16489us;0us;16490us;0us;16491us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;1us;32768us;74us;159us;0us;16492us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;1us;32768us;72us;162us;0us;16493us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;1us;32768us;68us;165us;0us;16494us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;163us;69us;166us;71us;160us;73us;157us;1us;32768us;68us;168us;0us;16495us;0us;16496us;0us;16497us;18us;16500us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;16499us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16498us;18us;16503us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;16502us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16501us;2us;32768us;0us;367us;60us;368us;18us;16504us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16505us;21us;16506us;0us;363us;1us;366us;3us;365us;4us;371us;5us;379us;7us;189us;8us;372us;9us;374us;10us;373us;35us;185us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16507us;0us;16508us;0us;16509us;0us;16510us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;72us;187us;0us;16511us;0us;16512us;0us;16513us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;72us;192us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16514us;1us;32768us;0us;363us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16515us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16516us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;16518us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16517us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;3us;32768us;0us;363us;7us;189us;35us;206us;18us;16519us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16520us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;72us;208us;0us;16521us;0us;16522us;0us;16523us;1us;16523us;74us;398us;0us;16524us;1us;16524us;72us;399us;0us;16525us;0us;16526us;18us;16527us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16528us;2us;32768us;71us;212us;73us;210us;3us;32768us;0us;363us;71us;345us;73us;342us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;2us;32768us;72us;215us;74us;214us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16529us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;19us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;47us;226us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;16532us;47us;228us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16530us;18us;16533us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16531us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;16534us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16535us;15us;16536us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;0us;16537us;0us;16538us;0us;16539us;0us;16540us;0us;16541us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;1us;32768us;74us;244us;0us;16542us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;1us;32768us;72us;247us;0us;16543us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;1us;32768us;68us;250us;0us;16544us;15us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;67us;248us;69us;251us;71us;245us;73us;242us;1us;32768us;68us;253us;0us;16545us;12us;16557us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;73us;263us;0us;16558us;0us;16559us;0us;16560us;0us;16561us;0us;16562us;0us;16563us;0us;16564us;0us;16565us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;41us;266us;42us;269us;56us;274us;57us;278us;58us;275us;59us;280us;61us;375us;62us;376us;63us;377us;66us;378us;73us;263us;1us;32768us;74us;265us;0us;16566us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;74us;268us;0us;16567us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;74us;271us;0us;16568us;1us;32768us;74us;273us;0us;16569us;18us;16570us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;16571us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16572us;0us;16573us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16574us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16575us;18us;16578us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;18us;16577us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16576us;3us;16581us;0us;363us;71us;345us;73us;342us;18us;16580us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16579us;3us;16584us;0us;363us;71us;345us;73us;342us;18us;16583us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16582us;2us;32768us;71us;328us;73us;326us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16585us;1us;32768us;0us;363us;2us;32768us;71us;353us;73us;351us;1us;16587us;73us;302us;0us;16586us;0us;16588us;1us;16589us;73us;302us;0us;16590us;0us;16591us;4us;32768us;19us;308us;20us;311us;21us;319us;29us;305us;1us;32768us;74us;304us;0us;16592us;3us;32768us;0us;363us;71us;345us;73us;342us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16593us;2us;32768us;0us;363us;27us;315us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16594us;1us;32768us;0us;363us;4us;32768us;71us;213us;73us;211us;75us;31us;76us;30us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16595us;1us;32768us;0us;363us;4us;32768us;71us;213us;73us;211us;75us;31us;76us;30us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16596us;2us;32768us;0us;363us;27us;322us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16597us;1us;32768us;0us;363us;4us;32768us;71us;213us;73us;211us;75us;31us;76us;30us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16598us;4us;32768us;0us;363us;71us;345us;73us;342us;74us;327us;0us;16600us;4us;32768us;0us;363us;71us;345us;72us;329us;73us;342us;0us;16601us;0us;16602us;1us;32768us;74us;332us;0us;16603us;1us;32768us;72us;334us;0us;16604us;3us;16605us;0us;363us;71us;345us;73us;342us;0us;16606us;0us;16607us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16608us;0us;16609us;0us;16610us;1us;32768us;0us;363us;1us;32768us;74us;344us;0us;16611us;1us;32768us;0us;363us;1us;32768us;72us;347us;0us;16612us;1us;16614us;64us;349us;2us;32768us;0us;367us;60us;368us;0us;16613us;4us;32768us;0us;363us;71us;345us;73us;342us;74us;352us;0us;16615us;4us;32768us;0us;363us;71us;345us;72us;354us;73us;342us;0us;16616us;0us;16617us;1us;32768us;74us;357us;0us;16618us;1us;32768us;72us;359us;0us;16619us;3us;16620us;0us;363us;71us;345us;73us;342us;0us;16621us;0us;16622us;0us;16623us;0us;16624us;0us;16625us;0us;16626us;0us;16627us;1us;32768us;0us;369us;0us;16628us;0us;16629us;0us;16630us;0us;16631us;0us;16632us;0us;16633us;0us;16634us;0us;16635us;0us;16636us;0us;16637us;0us;16638us;6us;16644us;0us;363us;11us;384us;71us;213us;73us;211us;75us;31us;76us;30us;4us;16645us;71us;213us;73us;211us;75us;31us;76us;30us;18us;16647us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16639us;1us;32768us;0us;363us;4us;32768us;71us;213us;73us;211us;75us;31us;76us;30us;18us;16648us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16640us;18us;16646us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16641us;4us;32768us;71us;213us;73us;211us;75us;31us;76us;30us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16642us;0us;16643us;1us;32768us;0us;363us;4us;32768us;71us;213us;73us;211us;75us;31us;76us;30us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16649us;0us;16652us;0us;16653us;5us;32768us;0us;363us;71us;413us;73us;410us;75us;31us;76us;30us;2us;32768us;72us;215us;74us;214us;0us;16654us;0us;16655us;0us;16656us;3us;16657us;0us;363us;71us;413us;73us;410us;0us;16658us;0us;16659us;0us;16660us;0us;16661us;1us;32768us;0us;363us;1us;32768us;74us;412us;0us;16662us;1us;32768us;0us;363us;1us;32768us;72us;415us;0us;16663us;1us;16665us;64us;417us;2us;32768us;0us;367us;60us;368us;0us;16664us;18us;16667us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16666us;18us;16673us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;2us;16672us;71us;212us;73us;210us;0us;16671us;2us;16674us;71us;212us;73us;210us;0us;16675us;0us;16676us;13us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;72us;215us;73us;446us;74us;214us;2us;32768us;72us;215us;74us;214us;0us;16677us;0us;16678us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;59us;0us;16679us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;1us;32768us;74us;435us;18us;32768us;0us;363us;1us;366us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;46us;35us;60us;37us;61us;375us;62us;376us;63us;377us;66us;378us;67us;39us;69us;42us;70us;45us;71us;54us;73us;58us;0us;16680us;13us;16681us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;33us;441us;61us;375us;62us;376us;63us;377us;65us;439us;66us;378us;73us;446us;0us;16682us;11us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;73us;446us;0us;16683us;11us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;73us;446us;0us;16684us;0us;16685us;0us;16686us;0us;16687us;12us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;55us;447us;61us;375us;62us;376us;63us;377us;66us;378us;73us;446us;11us;32768us;0us;363us;4us;371us;5us;379us;8us;372us;9us;374us;10us;373us;61us;375us;62us;376us;63us;377us;66us;378us;73us;446us;1us;32768us;74us;449us;0us;16688us;1us;32768us;74us;451us;0us;16689us;|] -let _fsyacc_actionTableRowOffsets = [|0us;19us;20us;40us;41us;42us;43us;44us;64us;65us;66us;67us;69us;70us;89us;90us;91us;92us;93us;158us;160us;161us;163us;164us;166us;185us;186us;205us;206us;207us;208us;209us;210us;211us;212us;213us;232us;233us;249us;250us;269us;271us;272us;291us;293us;294us;323us;325us;326us;327us;328us;329us;330us;331us;332us;352us;353us;355us;356us;419us;483us;484us;487us;488us;489us;490us;491us;511us;530us;531us;532us;533us;534us;535us;536us;537us;538us;539us;540us;541us;542us;543us;544us;545us;546us;547us;548us;549us;550us;566us;567us;580us;581us;600us;601us;620us;621us;622us;641us;642us;661us;662us;681us;700us;701us;720us;721us;743us;744us;763us;764us;783us;784us;803us;804us;823us;824us;843us;844us;845us;861us;862us;863us;865us;868us;869us;872us;873us;874us;877us;893us;895us;896us;899us;915us;917us;918us;931us;933us;934us;947us;949us;950us;963us;964us;965us;966us;979us;981us;982us;995us;997us;998us;999us;1015us;1016us;1017us;1018us;1034us;1036us;1037us;1053us;1055us;1056us;1072us;1074us;1075us;1091us;1093us;1094us;1095us;1096us;1115us;1134us;1135us;1154us;1173us;1174us;1177us;1196us;1197us;1219us;1220us;1221us;1222us;1223us;1242us;1244us;1245us;1246us;1247us;1266us;1268us;1287us;1288us;1290us;1309us;1310us;1329us;1330us;1349us;1368us;1369us;1388us;1392us;1411us;1412us;1431us;1433us;1434us;1435us;1436us;1438us;1439us;1441us;1442us;1443us;1462us;1463us;1466us;1470us;1489us;1492us;1511us;1512us;1531us;1551us;1570us;1572us;1591us;1592us;1611us;1612us;1631us;1650us;1669us;1670us;1686us;1687us;1688us;1689us;1690us;1691us;1707us;1709us;1710us;1726us;1728us;1729us;1745us;1747us;1748us;1764us;1766us;1767us;1780us;1781us;1782us;1783us;1784us;1785us;1786us;1787us;1788us;1807us;1809us;1810us;1829us;1831us;1832us;1851us;1853us;1854us;1856us;1857us;1876us;1895us;1896us;1897us;1916us;1917us;1936us;1937us;1956us;1975us;1976us;1980us;1999us;2000us;2004us;2023us;2024us;2027us;2046us;2047us;2049us;2052us;2054us;2055us;2056us;2058us;2059us;2060us;2065us;2067us;2068us;2072us;2091us;2092us;2095us;2114us;2115us;2117us;2122us;2141us;2142us;2144us;2149us;2168us;2169us;2172us;2191us;2192us;2194us;2199us;2218us;2219us;2224us;2225us;2230us;2231us;2232us;2234us;2235us;2237us;2238us;2242us;2243us;2244us;2263us;2264us;2265us;2266us;2268us;2270us;2271us;2273us;2275us;2276us;2278us;2281us;2282us;2287us;2288us;2293us;2294us;2295us;2297us;2298us;2300us;2301us;2305us;2306us;2307us;2308us;2309us;2310us;2311us;2312us;2314us;2315us;2316us;2317us;2318us;2319us;2320us;2321us;2322us;2323us;2324us;2325us;2332us;2337us;2356us;2357us;2359us;2364us;2383us;2384us;2403us;2404us;2409us;2428us;2429us;2430us;2432us;2437us;2456us;2457us;2458us;2459us;2465us;2468us;2469us;2470us;2471us;2475us;2476us;2477us;2478us;2479us;2481us;2483us;2484us;2486us;2488us;2489us;2491us;2494us;2495us;2514us;2515us;2534us;2537us;2538us;2541us;2542us;2543us;2557us;2560us;2561us;2562us;2581us;2582us;2601us;2603us;2622us;2623us;2637us;2638us;2650us;2651us;2663us;2664us;2665us;2666us;2667us;2680us;2692us;2694us;2695us;2697us;|] -let _fsyacc_reductionSymbolCounts = [|1us;1us;1us;1us;1us;1us;1us;2us;1us;2us;1us;1us;2us;1us;1us;3us;2us;3us;1us;1us;2us;0us;1us;1us;1us;1us;1us;1us;2us;2us;3us;3us;3us;1us;1us;1us;1us;1us;1us;2us;3us;2us;3us;3us;2us;1us;3us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;2us;2us;2us;2us;1us;2us;2us;3us;2us;2us;1us;2us;1us;2us;1us;2us;1us;2us;1us;2us;1us;2us;1us;3us;1us;1us;2us;4us;4us;3us;3us;1us;1us;2us;1us;3us;3us;1us;1us;1us;2us;1us;3us;3us;3us;3us;1us;1us;3us;2us;1us;3us;2us;1us;2us;3us;1us;1us;2us;1us;1us;3us;1us;1us;4us;3us;2us;3us;2us;3us;3us;5us;4us;1us;1us;1us;1us;1us;2us;6us;6us;4us;4us;3us;3us;4us;1us;1us;2us;1us;1us;1us;3us;3us;3us;3us;1us;0us;1us;2us;1us;1us;1us;3us;3us;3us;3us;1us;1us;2us;1us;1us;1us;1us;1us;1us;3us;4us;4us;3us;1us;1us;2us;2us;2us;2us;3us;2us;1us;3us;2us;1us;3us;2us;1us;3us;4us;0us;1us;1us;1us;2us;3us;3us;3us;4us;5us;3us;5us;1us;2us;2us;1us;3us;3us;1us;1us;2us;2us;1us;1us;3us;3us;3us;1us;2us;2us;1us;3us;3us;1us;1us;2us;1us;1us;1us;1us;1us;2us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;4us;5us;3us;3us;1us;1us;2us;2us;3us;4us;4us;2us;2us;2us;2us;3us;2us;1us;1us;1us;2us;1us;1us;3us;3us;3us;1us;2us;1us;1us;1us;0us;3us;2us;1us;1us;1us;2us;3us;2us;2us;6us;1us;1us;3us;3us;2us;1us;1us;4us;3us;|] -let _fsyacc_productionToNonTerminalTable = [|0us;1us;2us;3us;4us;5us;6us;6us;7us;7us;8us;9us;9us;10us;10us;11us;12us;12us;13us;14us;14us;15us;15us;16us;16us;17us;17us;17us;17us;17us;17us;17us;17us;17us;17us;18us;18us;18us;18us;19us;19us;20us;20us;20us;20us;21us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;22us;23us;24us;25us;26us;27us;28us;28us;29us;29us;30us;30us;31us;32us;32us;33us;33us;33us;33us;34us;35us;35us;36us;36us;36us;36us;36us;36us;36us;37us;37us;37us;38us;38us;38us;39us;39us;40us;41us;41us;42us;42us;42us;42us;43us;44us;44us;44us;44us;44us;44us;44us;44us;44us;45us;45us;46us;46us;47us;47us;48us;49us;49us;49us;49us;50us;50us;51us;52us;52us;53us;53us;53us;53us;53us;53us;53us;54us;55us;55us;55us;56us;56us;56us;56us;56us;56us;56us;57us;58us;58us;59us;59us;59us;59us;59us;59us;59us;60us;61us;62us;63us;63us;63us;63us;63us;63us;64us;64us;64us;65us;65us;65us;66us;66us;66us;67us;68us;69us;69us;70us;71us;71us;72us;73us;73us;73us;73us;73us;73us;74us;75us;75us;76us;76us;76us;77us;78us;78us;79us;80us;80us;81us;81us;82us;82us;83us;83us;84us;84us;84us;85us;86us;86us;87us;88us;89us;90us;91us;91us;92us;93us;93us;93us;93us;93us;93us;93us;93us;93us;94us;94us;94us;94us;94us;95us;95us;95us;95us;95us;96us;97us;97us;98us;98us;98us;98us;98us;99us;100us;100us;101us;101us;102us;102us;103us;103us;104us;104us;105us;105us;106us;107us;107us;107us;108us;109us;109us;110us;110us;111us;111us;112us;113us;113us;113us;113us;114us;114us;114us;114us;|] -let _fsyacc_immediateActions = [|65535us;49152us;65535us;49152us;16386us;16387us;16388us;65535us;16390us;16391us;16392us;65535us;16393us;65535us;16395us;16396us;16397us;16398us;65535us;65535us;16399us;65535us;16400us;65535us;65535us;16401us;65535us;16403us;16404us;16406us;16407us;16408us;16409us;16410us;16411us;65535us;16412us;65535us;16413us;65535us;65535us;16414us;65535us;65535us;16415us;65535us;65535us;16416us;16417us;16418us;16419us;16420us;16421us;16422us;65535us;16423us;65535us;16424us;65535us;65535us;16425us;65535us;16426us;16427us;16428us;16429us;65535us;65535us;16430us;16431us;16432us;16433us;16434us;16435us;16436us;16437us;16438us;16439us;16440us;16441us;16442us;16443us;16444us;16445us;16446us;16447us;16448us;16449us;65535us;16450us;65535us;16451us;65535us;16452us;65535us;16453us;16454us;65535us;16455us;65535us;16456us;65535us;65535us;16457us;65535us;16458us;65535us;16459us;65535us;16461us;65535us;16463us;65535us;16465us;65535us;16467us;65535us;16469us;16470us;65535us;16471us;16472us;65535us;65535us;16473us;65535us;16475us;16476us;65535us;65535us;65535us;16477us;65535us;65535us;65535us;16478us;65535us;65535us;16479us;65535us;65535us;16480us;65535us;16482us;16483us;16484us;65535us;65535us;16485us;65535us;65535us;16486us;16487us;65535us;16489us;16490us;16491us;65535us;65535us;16492us;65535us;65535us;16493us;65535us;65535us;16494us;65535us;65535us;16495us;16496us;16497us;65535us;65535us;16498us;65535us;65535us;16501us;65535us;65535us;16505us;65535us;16507us;16508us;16509us;16510us;65535us;65535us;16511us;16512us;16513us;65535us;65535us;65535us;16514us;65535us;65535us;16515us;65535us;16516us;65535us;65535us;16517us;65535us;65535us;65535us;16520us;65535us;65535us;16521us;16522us;16523us;65535us;16524us;65535us;16525us;16526us;65535us;16528us;65535us;65535us;65535us;65535us;65535us;16529us;65535us;65535us;65535us;65535us;65535us;16530us;65535us;16531us;65535us;65535us;65535us;16535us;65535us;16537us;16538us;16539us;16540us;16541us;65535us;65535us;16542us;65535us;65535us;16543us;65535us;65535us;16544us;65535us;65535us;16545us;65535us;16558us;16559us;16560us;16561us;16562us;16563us;16564us;16565us;65535us;65535us;16566us;65535us;65535us;16567us;65535us;65535us;16568us;65535us;16569us;65535us;65535us;16572us;16573us;65535us;16574us;65535us;16575us;65535us;65535us;16576us;65535us;65535us;16579us;65535us;65535us;16582us;65535us;65535us;16585us;65535us;65535us;65535us;16586us;16588us;65535us;16590us;16591us;65535us;65535us;16592us;65535us;65535us;16593us;65535us;65535us;16594us;65535us;65535us;65535us;16595us;65535us;65535us;65535us;16596us;65535us;65535us;16597us;65535us;65535us;65535us;16598us;65535us;16600us;65535us;16601us;16602us;65535us;16603us;65535us;16604us;65535us;16606us;16607us;65535us;16608us;16609us;16610us;65535us;65535us;16611us;65535us;65535us;16612us;65535us;65535us;16613us;65535us;16615us;65535us;16616us;16617us;65535us;16618us;65535us;16619us;65535us;16621us;16622us;16623us;16624us;16625us;16626us;16627us;65535us;16628us;16629us;16630us;16631us;16632us;16633us;16634us;16635us;16636us;16637us;16638us;65535us;65535us;65535us;16639us;65535us;65535us;65535us;16640us;65535us;16641us;65535us;65535us;16642us;16643us;65535us;65535us;65535us;16649us;16652us;16653us;65535us;65535us;16654us;16655us;16656us;65535us;16658us;16659us;16660us;16661us;65535us;65535us;16662us;65535us;65535us;16663us;65535us;65535us;16664us;65535us;16666us;65535us;65535us;16671us;65535us;16675us;16676us;65535us;65535us;16677us;16678us;65535us;16679us;65535us;65535us;65535us;16680us;65535us;16682us;65535us;16683us;65535us;16684us;16685us;16686us;16687us;65535us;65535us;65535us;16688us;65535us;16689us;|] +let _fsyacc_gotos = [| 0us;65535us;0us;65535us;1us;65535us;2us;3us;1us;65535us;0us;1us;1us;65535us;2us;4us;1us;65535us;2us;6us;1us;65535us;2us;7us;2us;65535us;2us;8us;7us;9us;3us;65535us;2us;10us;7us;10us;30us;31us;3us;65535us;2us;13us;7us;13us;30us;13us;4us;65535us;2us;14us;7us;14us;13us;15us;30us;14us;1us;65535us;16us;17us;1us;65535us;16us;20us;2us;65535us;16us;21us;20us;22us;4us;65535us;2us;18us;7us;18us;13us;18us;30us;18us;1us;65535us;24us;25us;36us;65535us;48us;38us;51us;38us;60us;62us;78us;451us;106us;107us;108us;109us;116us;117us;118us;119us;122us;123us;124us;125us;126us;127us;128us;129us;130us;131us;132us;133us;196us;197us;218us;219us;222us;227us;234us;235us;240us;241us;296us;298us;297us;299us;300us;301us;302us;303us;314us;315us;335us;336us;339us;340us;346us;347us;406us;407us;410us;411us;415us;416us;418us;419us;420us;421us;423us;424us;428us;429us;462us;463us;466us;467us;36us;65535us;48us;35us;51us;35us;60us;35us;78us;35us;106us;35us;108us;35us;116us;35us;118us;35us;122us;35us;124us;35us;126us;35us;128us;35us;130us;35us;132us;35us;196us;35us;218us;35us;222us;35us;234us;35us;240us;35us;296us;35us;297us;35us;300us;35us;302us;35us;314us;35us;335us;35us;339us;35us;346us;35us;406us;35us;410us;35us;415us;35us;418us;35us;420us;35us;423us;35us;428us;35us;462us;35us;466us;35us;2us;65535us;48us;49us;51us;52us;14us;65535us;24us;70us;64us;70us;65us;70us;334us;436us;338us;436us;345us;436us;404us;436us;405us;436us;409us;436us;414us;436us;417us;436us;422us;436us;427us;436us;432us;435us;92us;65535us;0us;5us;2us;19us;7us;19us;13us;19us;24us;78us;30us;19us;35us;37us;44us;45us;48us;36us;51us;36us;54us;78us;60us;36us;64us;78us;65us;78us;74us;75us;76us;77us;78us;36us;79us;73us;81us;73us;106us;36us;108us;36us;111us;112us;113us;114us;115us;116us;116us;36us;118us;36us;120us;206us;122us;36us;124us;36us;126us;36us;128us;36us;130us;36us;132us;36us;134us;135us;189us;190us;190us;191us;192us;193us;193us;194us;196us;36us;198us;206us;203us;204us;208us;209us;210us;211us;213us;214us;215us;216us;217us;218us;218us;36us;220us;221us;222us;36us;224us;225us;234us;36us;238us;239us;240us;36us;242us;243us;243us;248us;244us;245us;246us;247us;248us;249us;250us;251us;252us;253us;254us;255us;255us;256us;256us;257us;288us;289us;291us;292us;296us;36us;297us;36us;300us;36us;302us;36us;304us;305us;305us;306us;308us;309us;311us;312us;314us;36us;328us;329us;331us;332us;335us;36us;339us;36us;342us;343us;346us;36us;360us;361us;406us;36us;410us;36us;415us;36us;418us;36us;420us;36us;423us;36us;428us;36us;452us;453us;462us;36us;464us;465us;466us;36us;1us;65535us;54us;55us;92us;65535us;0us;57us;2us;57us;7us;57us;13us;57us;24us;57us;30us;57us;35us;57us;44us;57us;48us;57us;51us;57us;54us;57us;60us;57us;64us;57us;65us;57us;74us;57us;76us;57us;78us;57us;79us;57us;81us;57us;106us;57us;108us;57us;111us;57us;113us;57us;115us;57us;116us;57us;118us;57us;120us;57us;122us;57us;124us;57us;126us;57us;128us;57us;130us;57us;132us;57us;134us;57us;189us;57us;190us;57us;192us;57us;193us;57us;196us;57us;198us;57us;203us;57us;208us;57us;210us;57us;213us;57us;215us;57us;217us;57us;218us;57us;220us;57us;222us;57us;224us;57us;234us;57us;238us;57us;240us;57us;242us;57us;243us;57us;244us;57us;246us;57us;248us;57us;250us;57us;252us;57us;254us;57us;255us;57us;256us;57us;288us;57us;291us;57us;296us;57us;297us;57us;300us;57us;302us;57us;304us;57us;305us;57us;308us;57us;311us;57us;314us;57us;328us;57us;331us;57us;335us;57us;339us;57us;342us;57us;346us;57us;360us;57us;406us;57us;410us;57us;415us;57us;418us;57us;420us;57us;423us;57us;428us;57us;452us;57us;462us;57us;464us;57us;466us;57us;92us;65535us;0us;58us;2us;58us;7us;58us;13us;58us;24us;58us;30us;58us;35us;58us;44us;58us;48us;58us;51us;58us;54us;58us;60us;58us;64us;58us;65us;58us;74us;58us;76us;58us;78us;58us;79us;58us;81us;58us;106us;58us;108us;58us;111us;58us;113us;58us;115us;58us;116us;58us;118us;58us;120us;58us;122us;58us;124us;58us;126us;58us;128us;58us;130us;58us;132us;58us;134us;58us;189us;58us;190us;58us;192us;58us;193us;58us;196us;58us;198us;58us;203us;58us;208us;58us;210us;58us;213us;58us;215us;58us;217us;58us;218us;58us;220us;58us;222us;58us;224us;58us;234us;58us;238us;58us;240us;58us;242us;58us;243us;58us;244us;58us;246us;58us;248us;58us;250us;58us;252us;58us;254us;58us;255us;58us;256us;58us;288us;58us;291us;58us;296us;58us;297us;58us;300us;58us;302us;58us;304us;58us;305us;58us;308us;58us;311us;58us;314us;58us;328us;58us;331us;58us;335us;58us;339us;58us;342us;58us;346us;58us;360us;58us;406us;58us;410us;58us;415us;58us;418us;58us;420us;58us;423us;58us;428us;58us;452us;58us;462us;58us;464us;58us;466us;58us;3us;65535us;24us;67us;64us;67us;65us;67us;2us;65535us;79us;80us;81us;82us;2us;65535us;79us;72us;81us;72us;4us;65535us;24us;71us;54us;59us;64us;71us;65us;71us;4us;65535us;24us;101us;54us;101us;64us;101us;65us;101us;4us;65535us;24us;136us;54us;136us;64us;136us;65us;136us;4us;65535us;24us;100us;54us;100us;64us;100us;65us;100us;4us;65535us;24us;139us;54us;139us;64us;139us;65us;139us;1us;65535us;141us;142us;1us;65535us;141us;143us;2us;65535us;141us;144us;143us;145us;2us;65535us;146us;147us;150us;151us;4us;65535us;154us;155us;157us;158us;164us;165us;167us;168us;4us;65535us;154us;160us;157us;160us;164us;160us;167us;160us;5us;65535us;154us;161us;157us;161us;160us;162us;164us;161us;167us;161us;5us;65535us;137us;138us;175us;176us;178us;179us;181us;182us;184us;185us;5us;65535us;137us;171us;175us;171us;178us;171us;181us;171us;184us;171us;8us;65535us;137us;172us;147us;148us;151us;152us;171us;173us;175us;172us;178us;172us;181us;172us;184us;172us;4us;65535us;24us;97us;54us;97us;64us;97us;65us;97us;4us;65535us;24us;98us;54us;98us;64us;98us;65us;98us;4us;65535us;24us;96us;54us;96us;64us;96us;65us;96us;1us;65535us;120us;121us;1us;65535us;120us;198us;2us;65535us;120us;199us;198us;200us;7us;65535us;24us;215us;54us;215us;64us;215us;65us;215us;120us;201us;198us;201us;221us;223us;4us;65535us;24us;110us;54us;110us;64us;110us;65us;110us;13us;65535us;236us;237us;334us;432us;338us;432us;345us;432us;404us;432us;405us;432us;409us;432us;414us;432us;417us;432us;422us;432us;427us;432us;453us;458us;455us;458us;4us;65535us;239us;240us;433us;434us;458us;461us;459us;460us;4us;65535us;24us;94us;54us;94us;64us;94us;65us;94us;4us;65535us;24us;92us;54us;92us;64us;92us;65us;92us;4us;65535us;24us;93us;54us;93us;64us;93us;65us;93us;4us;65535us;24us;90us;54us;90us;64us;90us;65us;90us;4us;65535us;264us;265us;267us;268us;270us;271us;273us;274us;4us;65535us;264us;258us;267us;258us;270us;258us;273us;258us;7us;65535us;46us;47us;102us;103us;258us;260us;264us;259us;267us;259us;270us;259us;273us;259us;0us;65535us;0us;65535us;0us;65535us;1us;65535us;285us;286us;1us;65535us;285us;276us;3us;65535us;104us;105us;276us;278us;285us;277us;3us;65535us;104us;283us;276us;283us;285us;283us;3us;65535us;104us;284us;276us;284us;285us;284us;3us;65535us;104us;282us;276us;282us;285us;282us;5us;65535us;24us;99us;54us;99us;64us;99us;65us;99us;285us;294us;4us;65535us;24us;89us;54us;89us;64us;89us;65us;89us;4us;65535us;24us;86us;54us;86us;64us;86us;65us;86us;4us;65535us;24us;88us;54us;88us;64us;88us;65us;88us;4us;65535us;24us;87us;54us;87us;64us;87us;65us;87us;4us;65535us;24us;91us;54us;91us;64us;91us;65us;91us;1us;65535us;318us;319us;1us;65535us;318us;320us;1us;65535us;318us;321us;2us;65535us;318us;322us;321us;323us;1us;65535us;324us;325us;0us;65535us;1us;65535us;313us;352us;1us;65535us;313us;314us;2us;65535us;348us;353us;350us;355us;2us;65535us;348us;357us;350us;357us;3us;65535us;348us;358us;350us;358us;357us;359us;10us;65535us;237us;238us;307us;308us;310us;311us;327us;328us;348us;360us;350us;360us;357us;360us;373us;383us;375us;383us;382us;384us;10us;65535us;237us;363us;307us;363us;310us;363us;327us;363us;348us;363us;350us;363us;357us;363us;373us;363us;375us;363us;382us;363us;2us;65535us;364us;365us;367us;368us;1us;65535us;317us;377us;1us;65535us;317us;318us;2us;65535us;373us;378us;375us;380us;2us;65535us;373us;382us;375us;382us;154us;65535us;0us;42us;2us;42us;7us;42us;13us;42us;24us;42us;27us;28us;29us;30us;30us;42us;32us;33us;35us;42us;44us;42us;46us;262us;48us;42us;51us;42us;54us;42us;60us;42us;64us;42us;65us;42us;74us;42us;76us;42us;78us;42us;79us;42us;81us;42us;102us;262us;104us;280us;106us;42us;108us;42us;111us;42us;113us;42us;115us;42us;116us;42us;118us;42us;120us;42us;122us;42us;124us;42us;126us;42us;128us;42us;130us;42us;132us;42us;134us;42us;137us;188us;140us;141us;147us;188us;151us;188us;154us;170us;157us;170us;160us;170us;164us;170us;167us;170us;171us;188us;175us;188us;178us;188us;181us;188us;184us;188us;189us;42us;190us;42us;192us;42us;193us;42us;196us;42us;198us;42us;203us;42us;208us;42us;210us;42us;212us;213us;213us;42us;215us;42us;217us;42us;218us;42us;220us;42us;221us;222us;222us;42us;224us;42us;234us;42us;237us;362us;238us;42us;240us;42us;242us;42us;243us;42us;244us;42us;246us;42us;248us;42us;250us;42us;252us;42us;254us;42us;255us;42us;256us;42us;258us;262us;264us;262us;267us;262us;270us;262us;273us;262us;276us;280us;285us;280us;288us;42us;291us;42us;296us;42us;297us;42us;300us;42us;302us;42us;304us;42us;305us;42us;307us;362us;308us;42us;310us;362us;311us;42us;314us;42us;316us;317us;327us;362us;328us;42us;330us;331us;331us;42us;333us;334us;335us;42us;337us;338us;339us;42us;341us;342us;342us;42us;344us;345us;346us;42us;348us;362us;350us;362us;357us;362us;360us;42us;364us;370us;367us;370us;373us;362us;375us;362us;382us;362us;404us;405us;406us;42us;408us;409us;410us;42us;412us;417us;413us;414us;415us;42us;418us;42us;420us;42us;423us;42us;426us;427us;428us;42us;432us;440us;437us;440us;442us;448us;445us;448us;452us;42us;458us;476us;462us;42us;464us;42us;466us;42us;468us;476us;470us;476us;472us;476us;477us;476us;478us;476us;4us;65535us;24us;137us;54us;137us;64us;137us;65us;137us;6us;65535us;24us;217us;54us;217us;64us;217us;65us;217us;120us;202us;198us;202us;110us;65535us;0us;43us;2us;43us;7us;43us;13us;43us;24us;43us;30us;43us;35us;43us;44us;43us;46us;263us;48us;43us;51us;43us;54us;43us;60us;43us;64us;43us;65us;43us;74us;43us;76us;43us;78us;43us;79us;43us;81us;43us;102us;263us;104us;281us;106us;43us;108us;43us;111us;43us;113us;43us;115us;43us;116us;43us;118us;43us;120us;43us;122us;43us;124us;43us;126us;43us;128us;43us;130us;43us;132us;43us;134us;43us;137us;187us;147us;187us;151us;187us;171us;187us;175us;187us;178us;187us;181us;187us;184us;187us;189us;43us;190us;43us;192us;43us;193us;43us;196us;43us;198us;43us;203us;43us;208us;43us;210us;43us;213us;43us;215us;43us;217us;43us;218us;43us;220us;43us;222us;43us;224us;43us;234us;43us;238us;43us;240us;43us;242us;43us;243us;43us;244us;43us;246us;43us;248us;43us;250us;43us;252us;43us;254us;43us;255us;43us;256us;43us;258us;263us;264us;263us;267us;263us;270us;263us;273us;263us;276us;281us;285us;281us;288us;43us;291us;43us;296us;43us;297us;43us;300us;43us;302us;43us;304us;43us;305us;43us;308us;43us;311us;43us;314us;43us;328us;43us;331us;43us;335us;43us;339us;43us;342us;43us;346us;43us;360us;43us;406us;43us;410us;43us;415us;43us;418us;43us;420us;43us;423us;43us;428us;43us;452us;43us;462us;43us;464us;43us;466us;43us;3us;65535us;195us;196us;371us;372us;449us;450us;121us;65535us;0us;41us;2us;41us;7us;41us;13us;41us;24us;41us;30us;41us;35us;41us;44us;41us;46us;261us;48us;41us;51us;41us;54us;41us;60us;41us;64us;41us;65us;41us;74us;41us;76us;41us;78us;41us;79us;41us;81us;41us;102us;261us;104us;279us;106us;41us;108us;41us;111us;41us;113us;41us;115us;41us;116us;41us;118us;41us;120us;41us;122us;41us;124us;41us;126us;41us;128us;41us;130us;41us;132us;41us;134us;41us;137us;174us;147us;174us;151us;174us;154us;163us;157us;163us;160us;163us;164us;163us;167us;163us;171us;174us;175us;174us;178us;174us;181us;174us;184us;174us;189us;41us;190us;41us;192us;41us;193us;41us;196us;41us;198us;41us;203us;41us;208us;41us;210us;41us;213us;41us;215us;41us;217us;41us;218us;41us;220us;41us;222us;41us;224us;41us;234us;41us;238us;41us;240us;41us;242us;41us;243us;41us;244us;41us;246us;41us;248us;41us;250us;41us;252us;41us;254us;41us;255us;41us;256us;41us;258us;261us;264us;261us;267us;261us;270us;261us;273us;261us;276us;279us;285us;279us;288us;41us;291us;41us;296us;41us;297us;41us;300us;41us;302us;41us;304us;41us;305us;41us;308us;41us;311us;41us;314us;41us;328us;41us;331us;41us;335us;41us;339us;41us;342us;41us;346us;41us;360us;41us;406us;41us;410us;41us;415us;41us;418us;41us;420us;41us;423us;41us;428us;41us;452us;41us;458us;475us;462us;41us;464us;41us;466us;41us;468us;475us;470us;475us;472us;475us;477us;475us;478us;475us;121us;65535us;0us;394us;2us;394us;7us;394us;13us;394us;24us;394us;30us;394us;35us;394us;44us;394us;46us;394us;48us;394us;51us;394us;54us;394us;60us;394us;64us;394us;65us;394us;74us;394us;76us;394us;78us;394us;79us;394us;81us;394us;102us;394us;104us;394us;106us;394us;108us;394us;111us;394us;113us;394us;115us;394us;116us;394us;118us;394us;120us;394us;122us;394us;124us;394us;126us;394us;128us;394us;130us;394us;132us;394us;134us;394us;137us;394us;147us;394us;151us;394us;154us;394us;157us;394us;160us;394us;164us;394us;167us;394us;171us;394us;175us;394us;178us;394us;181us;394us;184us;394us;189us;394us;190us;394us;192us;394us;193us;394us;196us;394us;198us;394us;203us;394us;208us;394us;210us;394us;213us;394us;215us;394us;217us;394us;218us;394us;220us;394us;222us;394us;224us;394us;234us;394us;238us;394us;240us;394us;242us;394us;243us;394us;244us;394us;246us;394us;248us;394us;250us;394us;252us;394us;254us;394us;255us;394us;256us;394us;258us;394us;264us;394us;267us;394us;270us;394us;273us;394us;276us;394us;285us;394us;288us;394us;291us;394us;296us;394us;297us;394us;300us;394us;302us;394us;304us;394us;305us;394us;308us;394us;311us;394us;314us;394us;328us;394us;331us;394us;335us;394us;339us;394us;342us;394us;346us;394us;360us;394us;406us;394us;410us;394us;415us;394us;418us;394us;420us;394us;423us;394us;428us;394us;452us;394us;458us;394us;462us;394us;464us;394us;466us;394us;468us;394us;470us;394us;472us;394us;477us;394us;478us;394us;4us;65535us;24us;83us;54us;83us;64us;83us;65us;83us;4us;65535us;24us;425us;54us;425us;64us;425us;65us;425us;4us;65535us;24us;84us;54us;84us;64us;84us;65us;84us;0us;65535us;10us;65535us;334us;335us;338us;339us;345us;346us;404us;420us;405us;406us;409us;410us;414us;415us;417us;418us;422us;423us;427us;428us;1us;65535us;432us;433us;1us;65535us;432us;437us;2us;65535us;432us;438us;437us;439us;2us;65535us;432us;441us;437us;441us;2us;65535us;442us;443us;445us;446us;4us;65535us;24us;85us;54us;85us;64us;85us;65us;85us;0us;65535us;0us;65535us;4us;65535us;24us;95us;54us;95us;64us;95us;65us;95us;1us;65535us;453us;454us;1us;65535us;453us;455us;2us;65535us;453us;456us;455us;457us;1us;65535us;458us;459us;2us;65535us;477us;481us;478us;479us;2us;65535us;477us;468us;478us;468us;6us;65535us;458us;462us;468us;474us;470us;471us;472us;473us;477us;469us;478us;469us;|] +let _fsyacc_sparseGotoTableRowOffsets = [|0us;1us;2us;4us;6us;8us;10us;12us;15us;19us;23us;28us;30us;32us;35us;40us;42us;79us;116us;119us;134us;227us;229us;322us;415us;419us;422us;425us;430us;435us;440us;445us;450us;452us;454us;457us;460us;465us;470us;476us;482us;488us;497us;502us;507us;512us;514us;516us;519us;527us;532us;546us;551us;556us;561us;566us;571us;576us;581us;589us;590us;591us;592us;594us;596us;600us;604us;608us;612us;618us;623us;628us;633us;638us;643us;645us;647us;649us;652us;654us;655us;657us;659us;662us;665us;669us;680us;691us;694us;696us;698us;701us;704us;859us;864us;871us;982us;986us;1108us;1230us;1235us;1240us;1245us;1246us;1257us;1259us;1261us;1264us;1267us;1270us;1275us;1276us;1277us;1282us;1284us;1286us;1289us;1291us;1294us;1297us;|] +let _fsyacc_stateToProdIdxsTableElements = [| 1us;0us;1us;0us;1us;1us;1us;1us;1us;2us;1us;3us;1us;4us;2us;5us;7us;1us;6us;1us;7us;1us;8us;1us;9us;1us;9us;2us;10us;12us;1us;11us;1us;12us;1us;13us;1us;13us;1us;14us;1us;15us;2us;16us;19us;1us;18us;1us;19us;1us;20us;5us;21us;45us;46us;47us;48us;1us;21us;1us;21us;1us;22us;1us;22us;1us;23us;1us;23us;1us;23us;1us;24us;1us;24us;1us;24us;2us;25us;27us;1us;26us;1us;27us;1us;29us;1us;30us;1us;31us;1us;32us;1us;33us;1us;34us;1us;35us;1us;35us;1us;36us;1us;36us;1us;37us;1us;37us;1us;37us;1us;38us;1us;38us;1us;38us;1us;39us;1us;39us;1us;39us;1us;40us;1us;41us;1us;42us;2us;43us;44us;1us;43us;1us;44us;1us;44us;4us;45us;46us;47us;48us;5us;45us;46us;47us;48us;313us;1us;45us;2us;46us;47us;1us;46us;1us;47us;1us;48us;1us;49us;3us;50us;53us;54us;1us;52us;1us;53us;1us;53us;1us;54us;1us;54us;6us;55us;56us;162us;163us;299us;300us;1us;55us;1us;55us;1us;56us;1us;56us;1us;57us;1us;58us;1us;59us;1us;60us;1us;61us;1us;62us;1us;63us;1us;64us;1us;65us;1us;66us;1us;67us;1us;68us;1us;69us;1us;70us;1us;71us;1us;72us;1us;73us;1us;74us;1us;75us;1us;76us;1us;76us;1us;77us;1us;77us;1us;78us;1us;78us;1us;79us;1us;79us;1us;80us;1us;81us;1us;81us;1us;82us;1us;82us;1us;83us;1us;83us;1us;83us;1us;84us;1us;84us;1us;85us;1us;85us;2us;86us;87us;1us;87us;2us;88us;89us;1us;89us;2us;90us;91us;1us;91us;2us;92us;93us;1us;93us;2us;94us;95us;1us;95us;1us;96us;1us;96us;1us;97us;1us;97us;1us;98us;1us;99us;1us;99us;1us;100us;1us;101us;1us;101us;1us;101us;2us;102us;104us;1us;103us;1us;104us;1us;105us;1us;105us;1us;105us;1us;105us;1us;106us;1us;106us;1us;106us;1us;106us;1us;107us;1us;107us;1us;107us;1us;108us;1us;108us;1us;108us;2us;109us;111us;1us;110us;1us;111us;1us;112us;1us;113us;1us;113us;1us;113us;1us;114us;1us;114us;1us;114us;1us;115us;2us;116us;118us;1us;117us;1us;118us;1us;119us;1us;120us;1us;120us;1us;120us;1us;121us;1us;121us;1us;121us;1us;122us;1us;122us;1us;122us;1us;123us;1us;123us;1us;123us;1us;124us;1us;125us;3us;126us;127us;128us;2us;126us;127us;1us;126us;3us;129us;130us;131us;2us;129us;130us;1us;129us;2us;132us;133us;2us;132us;133us;1us;133us;2us;134us;136us;1us;135us;1us;136us;1us;137us;1us;138us;1us;139us;1us;139us;1us;139us;1us;140us;1us;141us;1us;142us;1us;142us;1us;142us;1us;142us;1us;143us;1us;143us;1us;143us;1us;144us;1us;144us;2us;145us;146us;2us;145us;146us;1us;145us;4us;147us;148us;149us;150us;4us;147us;148us;149us;150us;2us;147us;150us;1us;148us;1us;149us;1us;149us;1us;149us;1us;150us;1us;151us;2us;151us;285us;1us;152us;2us;152us;286us;1us;153us;1us;154us;2us;155us;156us;1us;156us;1us;157us;1us;157us;1us;157us;1us;157us;1us;157us;1us;157us;4us;158us;159us;160us;161us;4us;158us;159us;160us;161us;2us;158us;160us;2us;158us;160us;1us;158us;1us;158us;2us;159us;161us;1us;159us;2us;162us;163us;2us;162us;163us;1us;162us;1us;162us;2us;164us;165us;2us;164us;165us;2us;164us;165us;1us;165us;2us;166us;168us;1us;167us;1us;168us;1us;169us;1us;170us;1us;171us;1us;172us;1us;172us;1us;172us;1us;173us;1us;173us;1us;173us;1us;174us;1us;174us;1us;174us;1us;175us;1us;175us;1us;175us;2us;187us;189us;1us;188us;1us;189us;1us;190us;1us;191us;1us;192us;1us;193us;1us;194us;1us;195us;4us;196us;197us;198us;199us;1us;196us;1us;196us;1us;197us;1us;197us;1us;197us;1us;198us;1us;198us;1us;198us;1us;199us;1us;199us;2us;200us;202us;2us;201us;203us;1us;202us;1us;203us;1us;204us;1us;204us;1us;205us;1us;205us;3us;206us;207us;208us;2us;206us;207us;1us;206us;3us;209us;210us;211us;2us;209us;210us;1us;209us;3us;212us;213us;214us;2us;212us;213us;1us;212us;1us;215us;1us;215us;1us;215us;1us;216us;1us;216us;1us;216us;1us;216us;1us;218us;2us;219us;221us;1us;220us;1us;221us;1us;222us;1us;222us;1us;222us;1us;223us;1us;223us;1us;223us;2us;224us;226us;1us;224us;1us;224us;1us;225us;1us;225us;1us;225us;1us;225us;1us;226us;1us;226us;1us;226us;1us;226us;2us;227us;228us;1us;227us;1us;227us;1us;228us;1us;228us;1us;228us;1us;228us;2us;230us;233us;1us;230us;2us;231us;234us;1us;231us;1us;232us;1us;233us;1us;233us;1us;234us;1us;234us;2us;235us;237us;1us;236us;1us;237us;1us;238us;1us;238us;1us;239us;1us;240us;1us;241us;1us;241us;1us;241us;1us;242us;1us;242us;1us;242us;2us;243us;244us;1us;243us;1us;243us;2us;245us;248us;1us;245us;2us;246us;249us;1us;246us;1us;247us;1us;248us;1us;248us;1us;249us;1us;249us;2us;250us;252us;1us;251us;1us;252us;1us;253us;1us;254us;1us;255us;1us;256us;2us;257us;258us;1us;258us;1us;258us;1us;259us;1us;259us;1us;260us;1us;261us;1us;262us;1us;263us;1us;264us;1us;265us;1us;266us;1us;267us;1us;268us;1us;269us;10us;270us;271us;272us;273us;274us;277us;278us;279us;280us;281us;3us;270us;278us;280us;2us;270us;280us;1us;270us;2us;271us;281us;2us;271us;281us;2us;271us;281us;1us;271us;2us;272us;273us;1us;272us;1us;272us;1us;272us;1us;272us;1us;273us;1us;273us;1us;273us;2us;274us;279us;1us;274us;1us;275us;1us;275us;1us;275us;1us;276us;1us;282us;1us;282us;1us;282us;1us;282us;1us;285us;1us;286us;2us;287us;288us;1us;287us;1us;287us;1us;288us;1us;289us;2us;290us;292us;1us;291us;1us;292us;1us;293us;1us;294us;1us;295us;1us;295us;1us;295us;1us;296us;1us;296us;1us;296us;2us;297us;298us;1us;297us;1us;297us;1us;299us;3us;304us;305us;306us;2us;304us;305us;1us;304us;2us;307us;309us;1us;308us;1us;309us;2us;310us;311us;1us;310us;1us;310us;1us;311us;2us;312us;313us;1us;312us;1us;313us;1us;313us;1us;313us;1us;313us;4us;314us;316us;317us;318us;1us;315us;1us;316us;1us;316us;1us;317us;1us;317us;1us;318us;1us;319us;1us;320us;2us;321us;322us;1us;321us;1us;321us;1us;321us;1us;322us;1us;322us;|] +let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us;2us;4us;6us;8us;10us;12us;14us;17us;19us;21us;23us;25us;27us;30us;32us;34us;36us;38us;40us;42us;45us;47us;49us;51us;57us;59us;61us;63us;65us;67us;69us;71us;73us;75us;77us;80us;82us;84us;86us;88us;90us;92us;94us;96us;98us;100us;102us;104us;106us;108us;110us;112us;114us;116us;118us;120us;122us;124us;126us;128us;131us;133us;135us;137us;142us;148us;150us;153us;155us;157us;159us;161us;165us;167us;169us;171us;173us;175us;182us;184us;186us;188us;190us;192us;194us;196us;198us;200us;202us;204us;206us;208us;210us;212us;214us;216us;218us;220us;222us;224us;226us;228us;230us;232us;234us;236us;238us;240us;242us;244us;246us;248us;250us;252us;254us;256us;258us;260us;262us;264us;266us;268us;271us;273us;276us;278us;281us;283us;286us;288us;291us;293us;295us;297us;299us;301us;303us;305us;307us;309us;311us;313us;315us;318us;320us;322us;324us;326us;328us;330us;332us;334us;336us;338us;340us;342us;344us;346us;348us;350us;353us;355us;357us;359us;361us;363us;365us;367us;369us;371us;373us;376us;378us;380us;382us;384us;386us;388us;390us;392us;394us;396us;398us;400us;402us;404us;406us;408us;410us;414us;417us;419us;423us;426us;428us;431us;434us;436us;439us;441us;443us;445us;447us;449us;451us;453us;455us;457us;459us;461us;463us;465us;467us;469us;471us;473us;475us;478us;481us;483us;488us;493us;496us;498us;500us;502us;504us;506us;508us;511us;513us;516us;518us;520us;523us;525us;527us;529us;531us;533us;535us;537us;542us;547us;550us;553us;555us;557us;560us;562us;565us;568us;570us;572us;575us;578us;581us;583us;586us;588us;590us;592us;594us;596us;598us;600us;602us;604us;606us;608us;610us;612us;614us;616us;618us;620us;623us;625us;627us;629us;631us;633us;635us;637us;639us;644us;646us;648us;650us;652us;654us;656us;658us;660us;662us;664us;667us;670us;672us;674us;676us;678us;680us;682us;686us;689us;691us;695us;698us;700us;704us;707us;709us;711us;713us;715us;717us;719us;721us;723us;725us;728us;730us;732us;734us;736us;738us;740us;742us;744us;747us;749us;751us;753us;755us;757us;759us;761us;763us;765us;767us;770us;772us;774us;776us;778us;780us;782us;785us;787us;790us;792us;794us;796us;798us;800us;802us;805us;807us;809us;811us;813us;815us;817us;819us;821us;823us;825us;827us;829us;832us;834us;836us;839us;841us;844us;846us;848us;850us;852us;854us;856us;859us;861us;863us;865us;867us;869us;871us;874us;876us;878us;880us;882us;884us;886us;888us;890us;892us;894us;896us;898us;900us;902us;913us;917us;920us;922us;925us;928us;931us;933us;936us;938us;940us;942us;944us;946us;948us;950us;953us;955us;957us;959us;961us;963us;965us;967us;969us;971us;973us;975us;978us;980us;982us;984us;986us;989us;991us;993us;995us;997us;999us;1001us;1003us;1005us;1007us;1009us;1012us;1014us;1016us;1018us;1022us;1025us;1027us;1030us;1032us;1034us;1037us;1039us;1041us;1043us;1046us;1048us;1050us;1052us;1054us;1056us;1061us;1063us;1065us;1067us;1069us;1071us;1073us;1075us;1077us;1080us;1082us;1084us;1086us;1088us;|] +let _fsyacc_action_rows = 483 +let _fsyacc_actionTableElements = [|18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;49152us;20us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;8us;16us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;24us;81us;11us;0us;49152us;0us;16386us;0us;16387us;0us;16388us;20us;16389us;0us;385us;1us;388us;4us;395us;5us;403us;8us;16us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;24us;81us;11us;0us;16390us;0us;16391us;0us;16392us;1us;32768us;80us;12us;0us;16393us;19us;16394us;0us;385us;1us;388us;4us;395us;5us;403us;8us;16us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;24us;0us;16395us;0us;16396us;1us;16401us;4us;23us;0us;16397us;0us;16398us;0us;16399us;1us;16400us;4us;23us;0us;16402us;0us;16403us;0us;16404us;67us;32768us;0us;385us;1us;388us;3us;387us;4us;395us;5us;403us;6us;386us;7us;207us;9us;396us;10us;398us;11us;397us;14us;118us;15us;120us;16us;140us;17us;132us;18us;134us;19us;111us;20us;113us;21us;115us;22us;316us;26us;426us;27us;452us;29us;189us;30us;192us;31us;32us;32us;404us;33us;422us;34us;307us;35us;313us;36us;310us;37us;304us;38us;220us;39us;195us;40us;208us;41us;212us;42us;254us;43us;106us;44us;108us;45us;102us;48us;104us;49us;27us;50us;29us;51us;44us;53us;242us;54us;236us;55us;234us;56us;124us;57us;126us;58us;128us;59us;130us;60us;122us;61us;296us;62us;300us;63us;297us;64us;302us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;79us;66us;80us;40us;81us;39us;1us;32768us;79us;26us;0us;16405us;1us;32768us;0us;385us;0us;16406us;1us;32768us;0us;385us;19us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;8us;16us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;24us;0us;16407us;1us;32768us;0us;385us;1us;32768us;4us;34us;0us;16408us;18us;16409us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16410us;0us;16411us;0us;16413us;0us;16414us;0us;16415us;0us;16416us;0us;16417us;0us;16418us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16419us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;0us;16420us;18us;16412us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;73us;50us;0us;16421us;18us;16412us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;73us;53us;0us;16422us;61us;32768us;0us;385us;1us;388us;3us;387us;4us;395us;5us;403us;6us;386us;7us;207us;9us;396us;10us;398us;11us;397us;14us;118us;15us;120us;16us;140us;17us;132us;18us;134us;19us;111us;20us;113us;21us;115us;22us;316us;26us;426us;27us;452us;29us;189us;30us;192us;32us;404us;33us;422us;34us;307us;35us;313us;36us;310us;37us;304us;38us;220us;39us;195us;40us;208us;41us;212us;42us;254us;43us;106us;44us;108us;45us;102us;48us;104us;51us;44us;53us;242us;54us;236us;55us;234us;56us;124us;57us;126us;58us;128us;59us;130us;60us;122us;61us;296us;62us;300us;63us;297us;64us;302us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;79us;56us;0us;16423us;0us;16424us;0us;16425us;0us;16426us;19us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;77us;61us;78us;64us;0us;16427us;1us;32768us;77us;63us;0us;16428us;64us;32768us;0us;385us;1us;388us;3us;387us;4us;395us;5us;403us;6us;386us;7us;207us;9us;396us;10us;398us;11us;397us;14us;118us;15us;120us;16us;140us;17us;132us;18us;134us;19us;111us;20us;113us;21us;115us;22us;316us;26us;426us;27us;452us;29us;189us;30us;192us;32us;404us;33us;422us;34us;307us;35us;313us;36us;310us;37us;304us;38us;220us;39us;195us;40us;208us;41us;212us;42us;254us;43us;106us;44us;108us;45us;102us;48us;104us;51us;44us;53us;242us;54us;236us;55us;234us;56us;124us;57us;126us;58us;128us;59us;130us;60us;122us;61us;296us;62us;300us;63us;297us;64us;302us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;79us;66us;80us;40us;81us;39us;65us;32768us;0us;385us;1us;388us;3us;387us;4us;395us;5us;403us;6us;386us;7us;207us;9us;396us;10us;398us;11us;397us;14us;118us;15us;120us;16us;140us;17us;132us;18us;134us;19us;111us;20us;113us;21us;115us;22us;316us;26us;426us;27us;452us;28us;464us;29us;189us;30us;192us;32us;404us;33us;422us;34us;307us;35us;313us;36us;310us;37us;304us;38us;220us;39us;195us;40us;208us;41us;212us;42us;254us;43us;106us;44us;108us;45us;102us;48us;104us;51us;44us;53us;242us;54us;236us;55us;234us;56us;124us;57us;126us;58us;128us;59us;130us;60us;122us;61us;296us;62us;300us;63us;297us;64us;302us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;79us;66us;80us;40us;81us;39us;0us;16429us;2us;32768us;79us;68us;80us;69us;0us;16430us;0us;16431us;0us;16432us;0us;16433us;2us;16434us;38us;74us;70us;76us;0us;16436us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16437us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16438us;21us;16684us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;38us;79us;51us;44us;52us;250us;65us;46us;66us;399us;67us;400us;68us;401us;70us;81us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16435us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16439us;18us;16435us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16440us;0us;16441us;0us;16442us;0us;16443us;0us;16444us;0us;16445us;0us;16446us;0us;16447us;0us;16448us;0us;16449us;0us;16450us;0us;16451us;0us;16452us;0us;16453us;0us;16454us;0us;16455us;0us;16456us;0us;16457us;0us;16458us;0us;16459us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;0us;16460us;12us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;78us;285us;0us;16461us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16462us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16463us;0us;16464us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16465us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16466us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16467us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16468us;21us;32768us;0us;385us;1us;388us;3us;387us;4us;395us;5us;403us;7us;207us;9us;396us;10us;398us;11us;397us;40us;203us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16469us;18us;16470us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16471us;18us;16472us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16473us;18us;16474us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16475us;18us;16476us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16477us;18us;16478us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16479us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16480us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16481us;0us;16482us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;0us;16483us;0us;16484us;1us;32768us;0us;385us;2us;32768us;76us;150us;78us;146us;0us;16485us;2us;16486us;76us;150us;78us;146us;0us;16487us;0us;16488us;2us;32768us;76us;157us;78us;154us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;1us;32768us;79us;149us;0us;16489us;2us;32768us;76us;157us;78us;154us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;1us;32768us;77us;153us;0us;16490us;12us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;76us;167us;78us;164us;1us;32768us;79us;156us;0us;16491us;12us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;76us;167us;78us;164us;1us;32768us;77us;159us;0us;16492us;12us;16493us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;76us;167us;78us;164us;0us;16494us;0us;16495us;0us;16496us;12us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;76us;167us;78us;164us;1us;32768us;79us;166us;0us;16497us;12us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;76us;167us;78us;164us;1us;32768us;77us;169us;0us;16498us;0us;16499us;15us;16500us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;0us;16501us;0us;16502us;0us;16503us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;1us;32768us;79us;177us;0us;16504us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;1us;32768us;77us;180us;0us;16505us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;1us;32768us;73us;183us;0us;16506us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;181us;74us;184us;76us;178us;78us;175us;1us;32768us;73us;186us;0us;16507us;0us;16508us;0us;16509us;18us;16512us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16511us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16510us;18us;16515us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16514us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16513us;2us;32768us;0us;389us;65us;392us;18us;16516us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16517us;21us;16518us;0us;385us;1us;388us;3us;387us;4us;395us;5us;403us;7us;207us;9us;396us;10us;398us;11us;397us;40us;203us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16519us;0us;16520us;0us;16521us;0us;16522us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;77us;205us;0us;16523us;0us;16524us;0us;16525us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;77us;210us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16526us;1us;32768us;0us;385us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16527us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16528us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16530us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16529us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;3us;32768us;0us;385us;7us;207us;40us;224us;18us;16531us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16532us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;77us;226us;0us;16533us;0us;16534us;0us;16535us;1us;16535us;79us;430us;0us;16536us;1us;16536us;77us;431us;0us;16537us;0us;16538us;18us;16539us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16540us;2us;32768us;76us;230us;78us;228us;3us;32768us;0us;385us;76us;367us;78us;364us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;2us;32768us;77us;233us;79us;232us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16541us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;19us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;52us;244us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;16544us;52us;246us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16542us;18us;16545us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16543us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;16547us;52us;252us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16546us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16548us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16549us;15us;16550us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;0us;16551us;0us;16552us;0us;16553us;0us;16554us;0us;16555us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;1us;32768us;79us;266us;0us;16556us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;1us;32768us;77us;269us;0us;16557us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;1us;32768us;73us;272us;0us;16558us;15us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;72us;270us;74us;273us;76us;267us;78us;264us;1us;32768us;73us;275us;0us;16559us;12us;16571us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;78us;285us;0us;16572us;0us;16573us;0us;16574us;0us;16575us;0us;16576us;0us;16577us;0us;16578us;0us;16579us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;46us;288us;47us;291us;61us;296us;62us;300us;63us;297us;64us;302us;66us;399us;67us;400us;68us;401us;71us;402us;78us;285us;1us;32768us;79us;287us;0us;16580us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;79us;290us;0us;16581us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;79us;293us;0us;16582us;1us;32768us;79us;295us;0us;16583us;18us;16584us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16585us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16586us;0us;16587us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16588us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16589us;18us;16592us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;18us;16591us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16590us;3us;16595us;0us;385us;76us;367us;78us;364us;18us;16594us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16593us;3us;16598us;0us;385us;76us;367us;78us;364us;18us;16597us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16596us;2us;32768us;76us;350us;78us;348us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16599us;1us;32768us;0us;385us;2us;32768us;76us;375us;78us;373us;1us;16601us;78us;324us;0us;16600us;0us;16602us;1us;16603us;78us;324us;0us;16604us;0us;16605us;4us;32768us;23us;330us;24us;333us;25us;341us;34us;327us;1us;32768us;79us;326us;0us;16606us;3us;32768us;0us;385us;76us;367us;78us;364us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16607us;2us;32768us;0us;385us;32us;337us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16608us;1us;32768us;0us;385us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16609us;1us;32768us;0us;385us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16610us;2us;32768us;0us;385us;32us;344us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16611us;1us;32768us;0us;385us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16612us;4us;32768us;0us;385us;76us;367us;78us;364us;79us;349us;0us;16614us;4us;32768us;0us;385us;76us;367us;77us;351us;78us;364us;0us;16615us;0us;16616us;1us;32768us;79us;354us;0us;16617us;1us;32768us;77us;356us;0us;16618us;3us;16619us;0us;385us;76us;367us;78us;364us;0us;16620us;0us;16621us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16622us;0us;16623us;0us;16624us;1us;32768us;0us;385us;1us;32768us;79us;366us;0us;16625us;1us;32768us;0us;385us;1us;32768us;77us;369us;0us;16626us;1us;16628us;69us;371us;2us;32768us;0us;389us;65us;392us;0us;16627us;4us;32768us;0us;385us;76us;367us;78us;364us;79us;374us;0us;16629us;4us;32768us;0us;385us;76us;367us;77us;376us;78us;364us;0us;16630us;0us;16631us;1us;32768us;79us;379us;0us;16632us;1us;32768us;77us;381us;0us;16633us;3us;16634us;0us;385us;76us;367us;78us;364us;0us;16635us;0us;16636us;0us;16637us;0us;16638us;0us;16639us;0us;16640us;1us;16641us;70us;390us;1us;32768us;0us;391us;0us;16642us;1us;32768us;0us;393us;0us;16643us;0us;16644us;0us;16645us;0us;16646us;0us;16647us;0us;16648us;0us;16649us;0us;16650us;0us;16651us;0us;16652us;0us;16653us;7us;16661us;0us;385us;12us;408us;13us;412us;76us;231us;78us;229us;80us;40us;81us;39us;4us;16662us;76us;231us;78us;229us;80us;40us;81us;39us;18us;16664us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16654us;1us;32768us;0us;385us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;16665us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16655us;2us;32768us;0us;385us;12us;413us;1us;32768us;0us;385us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16656us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16657us;18us;16663us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16658us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16659us;0us;16660us;1us;32768us;0us;385us;4us;32768us;76us;231us;78us;229us;80us;40us;81us;39us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16666us;0us;16669us;0us;16670us;5us;32768us;0us;385us;76us;445us;78us;442us;80us;40us;81us;39us;2us;32768us;77us;233us;79us;232us;0us;16671us;0us;16672us;0us;16673us;3us;16674us;0us;385us;76us;445us;78us;442us;0us;16675us;0us;16676us;0us;16677us;0us;16678us;1us;32768us;0us;385us;1us;32768us;79us;444us;0us;16679us;1us;32768us;0us;385us;1us;32768us;77us;447us;0us;16680us;1us;16682us;69us;449us;2us;32768us;0us;389us;65us;392us;0us;16681us;0us;16683us;18us;16690us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;2us;16689us;76us;230us;78us;228us;0us;16688us;2us;16691us;76us;230us;78us;228us;0us;16692us;0us;16693us;13us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;77us;233us;78us;477us;79us;232us;2us;32768us;77us;233us;79us;232us;0us;16694us;0us;16695us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;65us;0us;16696us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;1us;32768us;79us;466us;18us;32768us;0us;385us;1us;388us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;51us;44us;65us;46us;66us;399us;67us;400us;68us;401us;71us;402us;72us;48us;74us;51us;75us;54us;76us;60us;78us;64us;0us;16697us;13us;16698us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;38us;472us;66us;399us;67us;400us;68us;401us;70us;470us;71us;402us;78us;477us;0us;16699us;11us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;78us;477us;0us;16700us;11us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;78us;477us;0us;16701us;0us;16702us;0us;16703us;0us;16704us;12us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;60us;478us;66us;399us;67us;400us;68us;401us;71us;402us;78us;477us;11us;32768us;0us;385us;4us;395us;5us;403us;9us;396us;10us;398us;11us;397us;66us;399us;67us;400us;68us;401us;71us;402us;78us;477us;1us;32768us;79us;480us;0us;16705us;1us;32768us;79us;482us;0us;16706us;|] +let _fsyacc_actionTableRowOffsets = [|0us;19us;20us;41us;42us;43us;44us;45us;66us;67us;68us;69us;71us;72us;92us;93us;94us;96us;97us;98us;99us;101us;102us;103us;104us;172us;174us;175us;177us;178us;180us;200us;201us;203us;205us;206us;225us;226us;227us;228us;229us;230us;231us;232us;233us;252us;253us;269us;270us;289us;291us;292us;311us;313us;314us;376us;378us;379us;380us;381us;382us;402us;403us;405us;406us;471us;537us;538us;541us;542us;543us;544us;545us;548us;549us;568us;569us;588us;589us;611us;630us;631us;650us;651us;652us;653us;654us;655us;656us;657us;658us;659us;660us;661us;662us;663us;664us;665us;666us;667us;668us;669us;670us;686us;687us;700us;701us;720us;721us;740us;741us;742us;761us;762us;781us;782us;801us;820us;821us;840us;841us;863us;864us;883us;884us;903us;904us;923us;924us;943us;944us;963us;964us;983us;984us;1003us;1004us;1005us;1021us;1022us;1023us;1025us;1028us;1029us;1032us;1033us;1034us;1037us;1053us;1055us;1056us;1059us;1075us;1077us;1078us;1091us;1093us;1094us;1107us;1109us;1110us;1123us;1124us;1125us;1126us;1139us;1141us;1142us;1155us;1157us;1158us;1159us;1175us;1176us;1177us;1178us;1194us;1196us;1197us;1213us;1215us;1216us;1232us;1234us;1235us;1251us;1253us;1254us;1255us;1256us;1275us;1294us;1295us;1314us;1333us;1334us;1337us;1356us;1357us;1379us;1380us;1381us;1382us;1383us;1402us;1404us;1405us;1406us;1407us;1426us;1428us;1447us;1448us;1450us;1469us;1470us;1489us;1490us;1509us;1528us;1529us;1548us;1552us;1571us;1572us;1591us;1593us;1594us;1595us;1596us;1598us;1599us;1601us;1602us;1603us;1622us;1623us;1626us;1630us;1649us;1652us;1671us;1672us;1691us;1711us;1730us;1732us;1751us;1752us;1771us;1772us;1791us;1793us;1812us;1813us;1832us;1851us;1870us;1871us;1887us;1888us;1889us;1890us;1891us;1892us;1908us;1910us;1911us;1927us;1929us;1930us;1946us;1948us;1949us;1965us;1967us;1968us;1981us;1982us;1983us;1984us;1985us;1986us;1987us;1988us;1989us;2008us;2010us;2011us;2030us;2032us;2033us;2052us;2054us;2055us;2057us;2058us;2077us;2096us;2097us;2098us;2117us;2118us;2137us;2138us;2157us;2176us;2177us;2181us;2200us;2201us;2205us;2224us;2225us;2228us;2247us;2248us;2250us;2253us;2255us;2256us;2257us;2259us;2260us;2261us;2266us;2268us;2269us;2273us;2292us;2293us;2296us;2315us;2316us;2318us;2323us;2342us;2343us;2345us;2350us;2369us;2370us;2373us;2392us;2393us;2395us;2400us;2419us;2420us;2425us;2426us;2431us;2432us;2433us;2435us;2436us;2438us;2439us;2443us;2444us;2445us;2464us;2465us;2466us;2467us;2469us;2471us;2472us;2474us;2476us;2477us;2479us;2482us;2483us;2488us;2489us;2494us;2495us;2496us;2498us;2499us;2501us;2502us;2506us;2507us;2508us;2509us;2510us;2511us;2512us;2514us;2516us;2517us;2519us;2520us;2521us;2522us;2523us;2524us;2525us;2526us;2527us;2528us;2529us;2530us;2538us;2543us;2562us;2563us;2565us;2570us;2589us;2590us;2593us;2595us;2600us;2619us;2620us;2625us;2644us;2645us;2664us;2665us;2670us;2689us;2690us;2691us;2693us;2698us;2717us;2718us;2719us;2720us;2726us;2729us;2730us;2731us;2732us;2736us;2737us;2738us;2739us;2740us;2742us;2744us;2745us;2747us;2749us;2750us;2752us;2755us;2756us;2757us;2776us;2779us;2780us;2783us;2784us;2785us;2799us;2802us;2803us;2804us;2823us;2824us;2843us;2845us;2864us;2865us;2879us;2880us;2892us;2893us;2905us;2906us;2907us;2908us;2909us;2922us;2934us;2936us;2937us;2939us;|] +let _fsyacc_reductionSymbolCounts = [|1us;1us;1us;1us;1us;1us;1us;2us;1us;2us;1us;1us;2us;2us;1us;1us;1us;0us;1us;2us;1us;3us;2us;3us;3us;1us;1us;2us;0us;1us;1us;1us;1us;1us;1us;2us;2us;3us;3us;3us;1us;1us;1us;2us;3us;2us;3us;3us;2us;1us;1us;0us;1us;3us;3us;3us;3us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;2us;2us;2us;2us;1us;2us;2us;3us;2us;2us;1us;2us;1us;2us;1us;2us;1us;2us;1us;2us;2us;2us;1us;2us;1us;3us;1us;1us;2us;4us;4us;3us;3us;1us;1us;2us;1us;3us;3us;1us;1us;1us;2us;1us;3us;3us;3us;3us;1us;1us;3us;2us;1us;3us;2us;1us;2us;3us;1us;1us;2us;1us;1us;3us;1us;1us;4us;3us;2us;3us;2us;3us;3us;5us;4us;1us;1us;1us;1us;1us;2us;6us;6us;4us;4us;3us;5us;3us;3us;4us;1us;1us;2us;1us;1us;1us;3us;3us;3us;3us;1us;0us;1us;2us;1us;1us;1us;3us;3us;3us;3us;1us;1us;2us;1us;1us;1us;1us;1us;1us;3us;4us;4us;3us;1us;1us;2us;2us;2us;2us;3us;2us;1us;3us;2us;1us;3us;2us;1us;3us;4us;0us;1us;1us;1us;2us;3us;3us;3us;4us;5us;3us;5us;1us;2us;2us;1us;3us;3us;1us;1us;2us;2us;1us;1us;3us;3us;3us;1us;2us;2us;1us;3us;3us;1us;1us;2us;1us;1us;1us;1us;1us;3us;2us;1us;1us;1us;1us;1us;1us;1us;1us;1us;1us;4us;5us;6us;5us;3us;3us;1us;1us;2us;2us;3us;4us;4us;2us;2us;2us;2us;3us;2us;1us;1us;1us;2us;1us;1us;3us;3us;3us;1us;2us;1us;1us;1us;0us;3us;2us;1us;1us;1us;2us;3us;2us;2us;6us;1us;1us;3us;3us;2us;1us;1us;4us;3us;|] +let _fsyacc_productionToNonTerminalTable = [|0us;1us;2us;3us;4us;5us;6us;6us;7us;7us;8us;9us;9us;10us;10us;10us;11us;12us;12us;12us;13us;14us;15us;15us;15us;16us;17us;17us;18us;18us;19us;19us;20us;20us;20us;20us;20us;20us;20us;20us;20us;20us;21us;22us;22us;23us;23us;23us;23us;24us;25us;26us;26us;26us;26us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;27us;28us;29us;30us;31us;32us;33us;33us;34us;34us;35us;35us;36us;37us;37us;38us;38us;38us;38us;39us;40us;40us;41us;41us;41us;41us;41us;41us;41us;42us;42us;42us;43us;43us;43us;44us;44us;45us;46us;46us;47us;47us;47us;47us;48us;49us;49us;49us;49us;49us;49us;49us;49us;49us;50us;50us;51us;51us;52us;52us;53us;54us;54us;54us;54us;54us;54us;55us;55us;56us;57us;57us;58us;58us;58us;58us;58us;58us;58us;59us;60us;60us;60us;61us;61us;61us;61us;61us;61us;61us;62us;63us;63us;64us;64us;64us;64us;64us;64us;64us;65us;66us;67us;68us;68us;68us;68us;68us;68us;69us;69us;69us;70us;70us;70us;71us;71us;71us;72us;73us;74us;74us;75us;76us;76us;77us;78us;78us;78us;78us;78us;78us;79us;80us;80us;81us;81us;81us;82us;83us;83us;84us;85us;85us;86us;86us;87us;87us;88us;88us;89us;89us;89us;90us;91us;91us;92us;93us;94us;95us;96us;96us;96us;97us;98us;98us;98us;98us;98us;98us;98us;98us;98us;99us;99us;99us;99us;99us;99us;99us;100us;100us;100us;100us;100us;101us;102us;102us;103us;103us;103us;103us;103us;104us;105us;105us;106us;106us;107us;107us;108us;108us;109us;109us;110us;110us;111us;112us;112us;112us;113us;114us;114us;115us;115us;116us;116us;117us;118us;118us;118us;118us;119us;119us;119us;119us;|] +let _fsyacc_immediateActions = [|65535us;49152us;65535us;49152us;16386us;16387us;16388us;65535us;16390us;16391us;16392us;65535us;16393us;65535us;16395us;16396us;65535us;16397us;16398us;16399us;65535us;16402us;16403us;16404us;65535us;65535us;16405us;65535us;16406us;65535us;65535us;16407us;65535us;65535us;16408us;65535us;16410us;16411us;16413us;16414us;16415us;16416us;16417us;16418us;65535us;16419us;65535us;16420us;65535us;65535us;16421us;65535us;65535us;16422us;65535us;65535us;16423us;16424us;16425us;16426us;65535us;16427us;65535us;16428us;65535us;65535us;16429us;65535us;16430us;16431us;16432us;16433us;65535us;16436us;65535us;16437us;65535us;16438us;65535us;65535us;16439us;65535us;16440us;16441us;16442us;16443us;16444us;16445us;16446us;16447us;16448us;16449us;16450us;16451us;16452us;16453us;16454us;16455us;16456us;16457us;16458us;16459us;65535us;16460us;65535us;16461us;65535us;16462us;65535us;16463us;16464us;65535us;16465us;65535us;16466us;65535us;65535us;16467us;65535us;16468us;65535us;16469us;65535us;16471us;65535us;16473us;65535us;16475us;65535us;16477us;65535us;16479us;65535us;16480us;65535us;16481us;16482us;65535us;16483us;16484us;65535us;65535us;16485us;65535us;16487us;16488us;65535us;65535us;65535us;16489us;65535us;65535us;65535us;16490us;65535us;65535us;16491us;65535us;65535us;16492us;65535us;16494us;16495us;16496us;65535us;65535us;16497us;65535us;65535us;16498us;16499us;65535us;16501us;16502us;16503us;65535us;65535us;16504us;65535us;65535us;16505us;65535us;65535us;16506us;65535us;65535us;16507us;16508us;16509us;65535us;65535us;16510us;65535us;65535us;16513us;65535us;65535us;16517us;65535us;16519us;16520us;16521us;16522us;65535us;65535us;16523us;16524us;16525us;65535us;65535us;65535us;16526us;65535us;65535us;16527us;65535us;16528us;65535us;65535us;16529us;65535us;65535us;65535us;16532us;65535us;65535us;16533us;16534us;16535us;65535us;16536us;65535us;16537us;16538us;65535us;16540us;65535us;65535us;65535us;65535us;65535us;16541us;65535us;65535us;65535us;65535us;65535us;16542us;65535us;16543us;65535us;65535us;65535us;16546us;65535us;65535us;65535us;16549us;65535us;16551us;16552us;16553us;16554us;16555us;65535us;65535us;16556us;65535us;65535us;16557us;65535us;65535us;16558us;65535us;65535us;16559us;65535us;16572us;16573us;16574us;16575us;16576us;16577us;16578us;16579us;65535us;65535us;16580us;65535us;65535us;16581us;65535us;65535us;16582us;65535us;16583us;65535us;65535us;16586us;16587us;65535us;16588us;65535us;16589us;65535us;65535us;16590us;65535us;65535us;16593us;65535us;65535us;16596us;65535us;65535us;16599us;65535us;65535us;65535us;16600us;16602us;65535us;16604us;16605us;65535us;65535us;16606us;65535us;65535us;16607us;65535us;65535us;16608us;65535us;65535us;65535us;16609us;65535us;65535us;65535us;16610us;65535us;65535us;16611us;65535us;65535us;65535us;16612us;65535us;16614us;65535us;16615us;16616us;65535us;16617us;65535us;16618us;65535us;16620us;16621us;65535us;16622us;16623us;16624us;65535us;65535us;16625us;65535us;65535us;16626us;65535us;65535us;16627us;65535us;16629us;65535us;16630us;16631us;65535us;16632us;65535us;16633us;65535us;16635us;16636us;16637us;16638us;16639us;16640us;65535us;65535us;16642us;65535us;16643us;16644us;16645us;16646us;16647us;16648us;16649us;16650us;16651us;16652us;16653us;65535us;65535us;65535us;16654us;65535us;65535us;65535us;16655us;65535us;65535us;65535us;65535us;16656us;65535us;65535us;16657us;65535us;16658us;65535us;65535us;16659us;16660us;65535us;65535us;65535us;16666us;16669us;16670us;65535us;65535us;16671us;16672us;16673us;65535us;16675us;16676us;16677us;16678us;65535us;65535us;16679us;65535us;65535us;16680us;65535us;65535us;16681us;16683us;65535us;65535us;16688us;65535us;16692us;16693us;65535us;65535us;16694us;16695us;65535us;16696us;65535us;65535us;65535us;16697us;65535us;16699us;65535us;16700us;65535us;16701us;16702us;16703us;16704us;65535us;65535us;65535us;16705us;65535us;16706us;|] let _fsyacc_reductions = lazy [| -# 948 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1000 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> SynExpr in Microsoft.FSharp.Core.Operators.box @@ -954,7 +1006,7 @@ let _fsyacc_reductions = lazy [| raise (FSharp.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1)) ) : 'gentype__startraw_expr)); -# 957 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1009 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> ParsedFile in Microsoft.FSharp.Core.Operators.box @@ -963,1130 +1015,1270 @@ let _fsyacc_reductions = lazy [| raise (FSharp.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1)) ) : 'gentype__startstart)); -# 966 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1018 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_prog in Microsoft.FSharp.Core.Operators.box ( ( -# 111 "Parser.fsy" +# 115 "Parser.fsy" _1 ) -# 111 "Parser.fsy" +# 115 "Parser.fsy" : ParsedFile)); -# 977 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1029 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 113 "Parser.fsy" +# 117 "Parser.fsy" _1 ) -# 113 "Parser.fsy" +# 117 "Parser.fsy" : SynExpr)); -# 988 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1040 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_file_fragments in Microsoft.FSharp.Core.Operators.box ( ( -# 117 "Parser.fsy" +# 121 "Parser.fsy" ParsedFile(_1) ) -# 117 "Parser.fsy" +# 121 "Parser.fsy" : 'gentype_prog)); -# 999 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1051 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_file_fragments in Microsoft.FSharp.Core.Operators.box ( ( -# 119 "Parser.fsy" +# 123 "Parser.fsy" List.rev _1 ) -# 119 "Parser.fsy" +# 123 "Parser.fsy" : 'gentype_file_fragments)); -# 1010 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1062 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_file_fragment in Microsoft.FSharp.Core.Operators.box ( ( -# 121 "Parser.fsy" +# 125 "Parser.fsy" [_1] ) -# 121 "Parser.fsy" +# 125 "Parser.fsy" : 'gentype_rev_file_fragments)); -# 1021 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1073 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_file_fragments in let _2 = parseState.GetInput(2) :?> 'gentype_file_fragment in Microsoft.FSharp.Core.Operators.box ( ( -# 122 "Parser.fsy" +# 126 "Parser.fsy" _2 :: _1 ) -# 122 "Parser.fsy" +# 126 "Parser.fsy" : 'gentype_rev_file_fragments)); -# 1033 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1085 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_module_decls in Microsoft.FSharp.Core.Operators.box ( ( -# 126 "Parser.fsy" +# 130 "Parser.fsy" ParsedFileFragment.AnonModule(_1, lhs parseState) ) -# 126 "Parser.fsy" +# 130 "Parser.fsy" : 'gentype_file_fragment)); -# 1044 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1096 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 130 "Parser.fsy" +# 134 "Parser.fsy" ParsedFileFragment.AnonModule([], lhs parseState) ) -# 130 "Parser.fsy" +# 134 "Parser.fsy" : 'gentype_file_fragment)); -# 1054 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1106 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_module_decls in Microsoft.FSharp.Core.Operators.box ( ( -# 132 "Parser.fsy" +# 136 "Parser.fsy" List.rev _1 ) -# 132 "Parser.fsy" +# 136 "Parser.fsy" : 'gentype_module_decls)); -# 1065 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1117 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_module_decl in Microsoft.FSharp.Core.Operators.box ( ( -# 134 "Parser.fsy" +# 138 "Parser.fsy" [_1] ) -# 134 "Parser.fsy" +# 138 "Parser.fsy" : 'gentype_rev_module_decls)); -# 1076 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1128 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_module_decls in let _2 = parseState.GetInput(2) :?> 'gentype_module_decl in Microsoft.FSharp.Core.Operators.box ( ( -# 135 "Parser.fsy" +# 139 "Parser.fsy" _2 :: _1 ) -# 135 "Parser.fsy" +# 139 "Parser.fsy" : 'gentype_rev_module_decls)); -# 1088 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1140 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> string in + let _2 = parseState.GetInput(2) :?> 'gentype_hash_ident_args in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 143 "Parser.fsy" + SynModuleDecl.HashDirective(ParsedHashDirective(_1, _2, lhs parseState), lhs parseState) + ) +# 143 "Parser.fsy" + : 'gentype_module_decl)); +# 1152 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_module_parens in Microsoft.FSharp.Core.Operators.box ( ( -# 138 "Parser.fsy" +# 144 "Parser.fsy" _1 ) -# 138 "Parser.fsy" +# 144 "Parser.fsy" : 'gentype_module_decl)); -# 1099 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1163 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 139 "Parser.fsy" +# 145 "Parser.fsy" SynModuleDecl.Expr(_1, lhs parseState) ) -# 139 "Parser.fsy" +# 145 "Parser.fsy" : 'gentype_module_decl)); -# 1110 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1174 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_rev_hash_ident_args in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 147 "Parser.fsy" + List.rev _1 + ) +# 147 "Parser.fsy" + : 'gentype_hash_ident_args)); +# 1185 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + Microsoft.FSharp.Core.Operators.box + ( + ( +# 149 "Parser.fsy" + [] + ) +# 149 "Parser.fsy" + : 'gentype_rev_hash_ident_args)); +# 1195 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_hash_ident_arg in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 150 "Parser.fsy" + [_1] + ) +# 150 "Parser.fsy" + : 'gentype_rev_hash_ident_args)); +# 1206 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_rev_hash_ident_args in + let _2 = parseState.GetInput(2) :?> 'gentype_hash_ident_arg in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 151 "Parser.fsy" + _2 :: _1 + ) +# 151 "Parser.fsy" + : 'gentype_rev_hash_ident_args)); +# 1218 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> string * SynStringKind * ParseHelpers.LexerContinuation in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 154 "Parser.fsy" + + let (raw, k, _) = _1 + ParsedHashDirectiveArgument.String(raw, k, rhs parseState 1) + + ) +# 154 "Parser.fsy" + : 'gentype_hash_ident_arg)); +# 1232 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_module_help in Microsoft.FSharp.Core.Operators.box ( ( -# 142 "Parser.fsy" +# 160 "Parser.fsy" _2 ) -# 142 "Parser.fsy" +# 160 "Parser.fsy" : 'gentype_module_parens)); -# 1121 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1243 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 146 "Parser.fsy" +# 164 "Parser.fsy" SynModuleDecl.Open(_2, lhs parseState) ) -# 146 "Parser.fsy" +# 164 "Parser.fsy" : 'gentype_module_help)); -# 1132 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1254 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_module_decls in Microsoft.FSharp.Core.Operators.box ( ( -# 148 "Parser.fsy" +# 166 "Parser.fsy" SynModuleDecl.NestedModule(_2, _3, lhs parseState) ) -# 148 "Parser.fsy" +# 166 "Parser.fsy" + : 'gentype_module_help)); +# 1266 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _2 = parseState.GetInput(2) :?> 'gentype_symbol in + let _3 = parseState.GetInput(3) :?> string * SynStringKind * ParseHelpers.LexerContinuation in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 168 "Parser.fsy" + let (raw, _, _) = _3 + SynModuleDecl.Require(_2, raw, lhs parseState) + ) +# 168 "Parser.fsy" : 'gentype_module_help)); -# 1144 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1279 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 150 "Parser.fsy" +# 171 "Parser.fsy" List.rev _1 ) -# 150 "Parser.fsy" +# 171 "Parser.fsy" : 'gentype_expr_list)); -# 1155 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1290 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 152 "Parser.fsy" +# 173 "Parser.fsy" [_1] ) -# 152 "Parser.fsy" +# 173 "Parser.fsy" : 'gentype_rev_expr_list)); -# 1166 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1301 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_expr_list in let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 153 "Parser.fsy" +# 174 "Parser.fsy" _2 :: _1 ) -# 153 "Parser.fsy" +# 174 "Parser.fsy" : 'gentype_rev_expr_list)); -# 1178 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1313 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 156 "Parser.fsy" +# 177 "Parser.fsy" [] ) -# 156 "Parser.fsy" +# 177 "Parser.fsy" : 'gentype_expr_list_or_empty)); -# 1188 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1323 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 157 "Parser.fsy" +# 178 "Parser.fsy" _1 ) -# 157 "Parser.fsy" +# 178 "Parser.fsy" : 'gentype_expr_list_or_empty)); -# 1199 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1334 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 160 "Parser.fsy" +# 181 "Parser.fsy" true ) -# 160 "Parser.fsy" +# 181 "Parser.fsy" : 'gentype_recover)); -# 1209 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1344 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 161 "Parser.fsy" +# 182 "Parser.fsy" false ) -# 161 "Parser.fsy" +# 182 "Parser.fsy" : 'gentype_recover)); -# 1219 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1354 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 164 "Parser.fsy" +# 185 "Parser.fsy" SynExpr.Const(fst _1, snd _1) ) -# 164 "Parser.fsy" +# 185 "Parser.fsy" : 'gentype_expr)); -# 1230 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1365 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 165 "Parser.fsy" +# 186 "Parser.fsy" SynExpr.Symbol(_1) ) -# 165 "Parser.fsy" +# 186 "Parser.fsy" : 'gentype_expr)); -# 1241 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1376 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_keyword in Microsoft.FSharp.Core.Operators.box ( ( -# 166 "Parser.fsy" +# 187 "Parser.fsy" SynExpr.Keyword(_1) ) -# 166 "Parser.fsy" +# 187 "Parser.fsy" : 'gentype_expr)); -# 1252 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1387 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 167 "Parser.fsy" +# 188 "Parser.fsy" SynExpr.Deref(true, _2, lhs parseState) ) -# 167 "Parser.fsy" +# 188 "Parser.fsy" : 'gentype_expr)); -# 1263 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1398 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 169 "Parser.fsy" +# 190 "Parser.fsy" SynExpr.Quote(true, _2, lhs parseState) ) -# 169 "Parser.fsy" +# 190 "Parser.fsy" : 'gentype_expr)); -# 1274 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1409 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list_or_empty in Microsoft.FSharp.Core.Operators.box ( ( -# 171 "Parser.fsy" +# 192 "Parser.fsy" SynExpr.HashMap(_2, lhs parseState) ) -# 171 "Parser.fsy" +# 192 "Parser.fsy" : 'gentype_expr)); -# 1285 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1420 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list_or_empty in Microsoft.FSharp.Core.Operators.box ( ( -# 173 "Parser.fsy" +# 194 "Parser.fsy" SynExpr.HashSet(_2, lhs parseState) ) -# 173 "Parser.fsy" +# 194 "Parser.fsy" : 'gentype_expr)); -# 1296 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1431 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_lambda_short_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 175 "Parser.fsy" +# 196 "Parser.fsy" SynExpr.LambdaShort(_2, lhs parseState) ) -# 175 "Parser.fsy" +# 196 "Parser.fsy" : 'gentype_expr)); -# 1307 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1442 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_vector_start in Microsoft.FSharp.Core.Operators.box ( ( -# 177 "Parser.fsy" +# 198 "Parser.fsy" _1 ) -# 177 "Parser.fsy" +# 198 "Parser.fsy" : 'gentype_expr)); -# 1318 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1453 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_inside_parens in Microsoft.FSharp.Core.Operators.box ( ( -# 178 "Parser.fsy" +# 199 "Parser.fsy" _1 ) -# 178 "Parser.fsy" +# 199 "Parser.fsy" : 'gentype_expr)); -# 1329 "Syntax\\FsLexYaccOutput\\Parser.fs" - (fun (parseState : FSharp.Text.Parsing.IParseState) -> - let _1 = parseState.GetInput(1) :?> 'gentype_operators_not_in_parens in - Microsoft.FSharp.Core.Operators.box - ( - ( -# 181 "Parser.fsy" - SynExpr.Op(_1) - ) -# 181 "Parser.fsy" - : 'gentype_lambda_short_expr_list)); -# 1340 "Syntax\\FsLexYaccOutput\\Parser.fs" - (fun (parseState : FSharp.Text.Parsing.IParseState) -> - let _1 = parseState.GetInput(1) :?> 'gentype_function_call in - Microsoft.FSharp.Core.Operators.box - ( - ( -# 182 "Parser.fsy" - _1 - ) -# 182 "Parser.fsy" - : 'gentype_lambda_short_expr_list)); -# 1351 "Syntax\\FsLexYaccOutput\\Parser.fs" - (fun (parseState : FSharp.Text.Parsing.IParseState) -> - let _1 = parseState.GetInput(1) :?> 'gentype_dot_expr in - Microsoft.FSharp.Core.Operators.box - ( - ( -# 183 "Parser.fsy" - _1 - ) -# 183 "Parser.fsy" - : 'gentype_lambda_short_expr_list)); -# 1362 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1464 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> - let _1 = parseState.GetInput(1) :?> 'gentype_new_expr in + let _1 = parseState.GetInput(1) :?> 'gentype_parens_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 184 "Parser.fsy" - _1 +# 202 "Parser.fsy" + _1 ) -# 184 "Parser.fsy" +# 202 "Parser.fsy" : 'gentype_lambda_short_expr_list)); -# 1373 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1475 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 187 "Parser.fsy" +# 205 "Parser.fsy" SynExpr.Vector([], lhs parseState) ) -# 187 "Parser.fsy" +# 205 "Parser.fsy" : 'gentype_vector_start)); -# 1383 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1485 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 189 "Parser.fsy" +# 207 "Parser.fsy" SynExpr.Vector(_2, lhs parseState) ) -# 189 "Parser.fsy" +# 207 "Parser.fsy" : 'gentype_vector_start)); -# 1394 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1496 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 192 "Parser.fsy" +# 210 "Parser.fsy" SynExpr.Const (SynConst.Unit, lhs parseState) ) -# 192 "Parser.fsy" +# 210 "Parser.fsy" : 'gentype_inside_parens)); -# 1406 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1508 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_parens_expr_start in Microsoft.FSharp.Core.Operators.box ( ( -# 195 "Parser.fsy" +# 213 "Parser.fsy" _2 ) -# 195 "Parser.fsy" +# 213 "Parser.fsy" : 'gentype_inside_parens)); -# 1417 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1519 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_parens_expr_start in Microsoft.FSharp.Core.Operators.box ( ( -# 196 "Parser.fsy" +# 214 "Parser.fsy" _2 ) -# 196 "Parser.fsy" +# 214 "Parser.fsy" : 'gentype_inside_parens)); -# 1428 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1530 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_recover in Microsoft.FSharp.Core.Operators.box ( ( -# 199 "Parser.fsy" +# 217 "Parser.fsy" Syntax.parserRecoveryExpr (lhs parseState) ) -# 199 "Parser.fsy" +# 217 "Parser.fsy" : 'gentype_inside_parens)); -# 1441 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1543 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_parens_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 204 "Parser.fsy" +# 222 "Parser.fsy" _1 ) -# 204 "Parser.fsy" +# 222 "Parser.fsy" : 'gentype_parens_expr_start)); -# 1452 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1554 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_rev_dotted_exprs in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 224 "Parser.fsy" + List.rev _1 + ) +# 224 "Parser.fsy" + : 'gentype_dotted_exprs)); +# 1565 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + Microsoft.FSharp.Core.Operators.box + ( + ( +# 226 "Parser.fsy" + [] + ) +# 226 "Parser.fsy" + : 'gentype_rev_dotted_exprs)); +# 1575 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 227 "Parser.fsy" + [_1] + ) +# 227 "Parser.fsy" + : 'gentype_rev_dotted_exprs)); +# 1586 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_rev_dotted_exprs in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 208 "Parser.fsy" - SynExpr.Pair(_1, _3, lhs parseState) +# 228 "Parser.fsy" + _3 :: _1 ) -# 208 "Parser.fsy" +# 228 "Parser.fsy" + : 'gentype_rev_dotted_exprs)); +# 1598 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_rev_dotted_exprs in + let _3 = parseState.GetInput(3) :?> 'gentype_expr in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 229 "Parser.fsy" + _3 :: _1 + ) +# 229 "Parser.fsy" + : 'gentype_rev_dotted_exprs)); +# 1610 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_expr in + let _3 = parseState.GetInput(3) :?> 'gentype_dotted_exprs in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 235 "Parser.fsy" + SynExpr.Tuple(_1 :: _3, lhs parseState) + ) +# 235 "Parser.fsy" : 'gentype_parens_expr)); -# 1464 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1622 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_expr in + let _3 = parseState.GetInput(3) :?> 'gentype_dotted_exprs in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 237 "Parser.fsy" + SynExpr.Tuple(_1 :: _3, lhs parseState) + ) +# 237 "Parser.fsy" + : 'gentype_parens_expr)); +# 1634 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_function_def in Microsoft.FSharp.Core.Operators.box ( ( -# 209 "Parser.fsy" +# 238 "Parser.fsy" _1 ) -# 209 "Parser.fsy" +# 238 "Parser.fsy" : 'gentype_parens_expr)); -# 1475 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1645 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_def in Microsoft.FSharp.Core.Operators.box ( ( -# 210 "Parser.fsy" +# 239 "Parser.fsy" _1 ) -# 210 "Parser.fsy" +# 239 "Parser.fsy" : 'gentype_parens_expr)); -# 1486 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1656 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_function_call in Microsoft.FSharp.Core.Operators.box ( ( -# 211 "Parser.fsy" +# 240 "Parser.fsy" _1 ) -# 211 "Parser.fsy" +# 240 "Parser.fsy" : 'gentype_parens_expr)); -# 1497 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1667 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_let in Microsoft.FSharp.Core.Operators.box ( ( -# 212 "Parser.fsy" +# 241 "Parser.fsy" _1 ) -# 212 "Parser.fsy" +# 241 "Parser.fsy" : 'gentype_parens_expr)); -# 1508 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1678 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_letstar in Microsoft.FSharp.Core.Operators.box ( ( -# 213 "Parser.fsy" +# 242 "Parser.fsy" _1 ) -# 213 "Parser.fsy" +# 242 "Parser.fsy" : 'gentype_parens_expr)); -# 1519 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1689 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_mut in Microsoft.FSharp.Core.Operators.box ( ( -# 214 "Parser.fsy" +# 243 "Parser.fsy" _1 ) -# 214 "Parser.fsy" +# 243 "Parser.fsy" : 'gentype_parens_expr)); -# 1530 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1700 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_set in Microsoft.FSharp.Core.Operators.box ( ( -# 215 "Parser.fsy" +# 244 "Parser.fsy" _1 ) -# 215 "Parser.fsy" +# 244 "Parser.fsy" : 'gentype_parens_expr)); -# 1541 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1711 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_if_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 216 "Parser.fsy" +# 245 "Parser.fsy" _1 ) -# 216 "Parser.fsy" +# 245 "Parser.fsy" : 'gentype_parens_expr)); -# 1552 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1722 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_type_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 217 "Parser.fsy" +# 246 "Parser.fsy" _1 ) -# 217 "Parser.fsy" +# 246 "Parser.fsy" : 'gentype_parens_expr)); -# 1563 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1733 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_for_in_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 218 "Parser.fsy" +# 247 "Parser.fsy" _1 ) -# 218 "Parser.fsy" +# 247 "Parser.fsy" : 'gentype_parens_expr)); -# 1574 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1744 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_range_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 219 "Parser.fsy" +# 248 "Parser.fsy" _1 ) -# 219 "Parser.fsy" +# 248 "Parser.fsy" : 'gentype_parens_expr)); -# 1585 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1755 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_list_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 220 "Parser.fsy" +# 249 "Parser.fsy" _1 ) -# 220 "Parser.fsy" +# 249 "Parser.fsy" : 'gentype_parens_expr)); -# 1596 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1766 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_match_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 221 "Parser.fsy" +# 250 "Parser.fsy" _1 ) -# 221 "Parser.fsy" +# 250 "Parser.fsy" : 'gentype_parens_expr)); -# 1607 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1777 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_new_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 222 "Parser.fsy" +# 251 "Parser.fsy" _1 ) -# 222 "Parser.fsy" +# 251 "Parser.fsy" : 'gentype_parens_expr)); -# 1618 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1788 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_cons_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 223 "Parser.fsy" +# 252 "Parser.fsy" _1 ) -# 223 "Parser.fsy" +# 252 "Parser.fsy" : 'gentype_parens_expr)); -# 1629 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1799 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_concat_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 224 "Parser.fsy" +# 253 "Parser.fsy" _1 ) -# 224 "Parser.fsy" +# 253 "Parser.fsy" : 'gentype_parens_expr)); -# 1640 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1810 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_operators_not_in_parens in Microsoft.FSharp.Core.Operators.box ( ( -# 225 "Parser.fsy" +# 254 "Parser.fsy" SynExpr.Op(_1) ) -# 225 "Parser.fsy" +# 254 "Parser.fsy" : 'gentype_parens_expr)); -# 1651 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1821 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_syntax_macro_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 226 "Parser.fsy" +# 255 "Parser.fsy" _1 ) -# 226 "Parser.fsy" +# 255 "Parser.fsy" : 'gentype_parens_expr)); -# 1662 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1832 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_call_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 227 "Parser.fsy" +# 256 "Parser.fsy" _1 ) -# 227 "Parser.fsy" +# 256 "Parser.fsy" : 'gentype_parens_expr)); -# 1673 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1843 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 229 "Parser.fsy" +# 258 "Parser.fsy" SynExpr.Quote(false, _2, lhs parseState) ) -# 229 "Parser.fsy" +# 258 "Parser.fsy" : 'gentype_parens_expr)); -# 1684 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1854 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quasiquoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 231 "Parser.fsy" +# 260 "Parser.fsy" SynExpr.Quasiquote(false, _2, lhs parseState) ) -# 231 "Parser.fsy" +# 260 "Parser.fsy" : 'gentype_parens_expr)); -# 1695 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1865 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 233 "Parser.fsy" +# 262 "Parser.fsy" SynExpr.Begin(_2, lhs parseState) ) -# 233 "Parser.fsy" +# 262 "Parser.fsy" : 'gentype_parens_expr)); -# 1706 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1876 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 235 "Parser.fsy" +# 264 "Parser.fsy" SynExpr.Begin(_2, lhs parseState) ) -# 235 "Parser.fsy" +# 264 "Parser.fsy" : 'gentype_parens_expr)); -# 1717 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1887 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_dot_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 236 "Parser.fsy" +# 265 "Parser.fsy" _1 ) -# 236 "Parser.fsy" +# 265 "Parser.fsy" : 'gentype_parens_expr)); -# 1728 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1898 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 238 "Parser.fsy" +# 267 "Parser.fsy" SynExpr.Atom(_2, lhs parseState) ) -# 238 "Parser.fsy" +# 267 "Parser.fsy" : 'gentype_parens_expr)); -# 1739 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1909 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 240 "Parser.fsy" +# 269 "Parser.fsy" SynExpr.Deref(false, _2, lhs parseState) ) -# 240 "Parser.fsy" +# 269 "Parser.fsy" : 'gentype_parens_expr)); -# 1750 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1920 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 242 "Parser.fsy" +# 271 "Parser.fsy" SynExpr.While(_2, _3, lhs parseState) ) -# 242 "Parser.fsy" +# 271 "Parser.fsy" : 'gentype_parens_expr)); -# 1762 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1932 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 244 "Parser.fsy" +# 273 "Parser.fsy" SynExpr.ThreadFirst (_2, lhs parseState) ) -# 244 "Parser.fsy" +# 273 "Parser.fsy" : 'gentype_parens_expr)); -# 1773 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1943 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_threadable_list in Microsoft.FSharp.Core.Operators.box ( ( -# 246 "Parser.fsy" +# 275 "Parser.fsy" SynExpr.ThreadLast (_2, lhs parseState) ) -# 246 "Parser.fsy" +# 275 "Parser.fsy" : 'gentype_parens_expr)); -# 1784 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1954 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 248 "Parser.fsy" +# 277 "Parser.fsy" SynExpr.Tuple([], lhs parseState) ) -# 248 "Parser.fsy" +# 277 "Parser.fsy" : 'gentype_parens_expr)); -# 1794 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1964 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 249 "Parser.fsy" +# 278 "Parser.fsy" SynExpr.Tuple(_2, lhs parseState) ) -# 249 "Parser.fsy" +# 278 "Parser.fsy" : 'gentype_parens_expr)); -# 1805 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1975 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 251 "Parser.fsy" +# 280 "Parser.fsy" SynExpr.FsMap([], lhs parseState) ) -# 251 "Parser.fsy" +# 280 "Parser.fsy" : 'gentype_parens_expr)); -# 1815 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1985 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 252 "Parser.fsy" +# 281 "Parser.fsy" SynExpr.FsMap(_2, lhs parseState) ) -# 252 "Parser.fsy" +# 281 "Parser.fsy" : 'gentype_parens_expr)); -# 1826 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 1996 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 254 "Parser.fsy" +# 283 "Parser.fsy" SynExpr.FsSet([], lhs parseState) ) -# 254 "Parser.fsy" +# 283 "Parser.fsy" : 'gentype_parens_expr)); -# 1836 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2006 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 255 "Parser.fsy" +# 284 "Parser.fsy" SynExpr.FsSet(_2, lhs parseState) ) -# 255 "Parser.fsy" +# 284 "Parser.fsy" : 'gentype_parens_expr)); -# 1847 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2017 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 257 "Parser.fsy" +# 286 "Parser.fsy" SynExpr.FsArray([], lhs parseState) ) -# 257 "Parser.fsy" +# 286 "Parser.fsy" : 'gentype_parens_expr)); -# 1857 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2027 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 258 "Parser.fsy" +# 287 "Parser.fsy" SynExpr.FsArray(_2, lhs parseState) ) -# 258 "Parser.fsy" +# 287 "Parser.fsy" : 'gentype_parens_expr)); -# 1868 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2038 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 260 "Parser.fsy" +# 289 "Parser.fsy" SynExpr.FsVec([], lhs parseState) ) -# 260 "Parser.fsy" +# 289 "Parser.fsy" : 'gentype_parens_expr)); -# 1878 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2048 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 261 "Parser.fsy" +# 290 "Parser.fsy" SynExpr.FsVec(_2, lhs parseState) ) -# 261 "Parser.fsy" +# 290 "Parser.fsy" + : 'gentype_parens_expr)); +# 2059 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 292 "Parser.fsy" + SynExpr.FsSeq(_2, lhs parseState) + ) +# 292 "Parser.fsy" + : 'gentype_parens_expr)); +# 2070 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _2 = parseState.GetInput(2) :?> 'gentype_expr in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 293 "Parser.fsy" + SynExpr.FsYield(_2, lhs parseState) + ) +# 293 "Parser.fsy" : 'gentype_parens_expr)); -# 1889 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2081 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_call in Microsoft.FSharp.Core.Operators.box ( ( -# 264 "Parser.fsy" +# 296 "Parser.fsy" SynExpr.SyntaxMacroCall(_1) ) -# 264 "Parser.fsy" +# 296 "Parser.fsy" : 'gentype_macro_call_expr)); -# 1900 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2092 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_name in let _2 = parseState.GetInput(2) :?> 'gentype_macro_body_list in Microsoft.FSharp.Core.Operators.box ( ( -# 268 "Parser.fsy" +# 300 "Parser.fsy" let mNameBody = SynMacroBody.Symbol(_1) SynMacroCall(_1, mNameBody :: _2, lhs parseState) ) -# 268 "Parser.fsy" +# 300 "Parser.fsy" : 'gentype_macro_call)); -# 1913 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2105 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_syntax_macro in Microsoft.FSharp.Core.Operators.box ( ( -# 272 "Parser.fsy" +# 304 "Parser.fsy" SynExpr.SyntaxMacro(_1) ) -# 272 "Parser.fsy" +# 304 "Parser.fsy" : 'gentype_syntax_macro_expr)); -# 1924 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2116 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_macro_cases in Microsoft.FSharp.Core.Operators.box ( ( -# 276 "Parser.fsy" +# 308 "Parser.fsy" SynMacro(_2, _3, lhs parseState ) ) -# 276 "Parser.fsy" +# 308 "Parser.fsy" : 'gentype_syntax_macro)); -# 1936 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2128 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_macro_cases in Microsoft.FSharp.Core.Operators.box ( ( -# 278 "Parser.fsy" +# 310 "Parser.fsy" List.rev _1 ) -# 278 "Parser.fsy" +# 310 "Parser.fsy" : 'gentype_macro_cases)); -# 1947 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2139 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_case_start in Microsoft.FSharp.Core.Operators.box ( ( -# 280 "Parser.fsy" +# 312 "Parser.fsy" [_1] ) -# 280 "Parser.fsy" +# 312 "Parser.fsy" : 'gentype_rev_macro_cases)); -# 1958 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2150 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_macro_cases in let _2 = parseState.GetInput(2) :?> 'gentype_macro_case_start in Microsoft.FSharp.Core.Operators.box ( ( -# 281 "Parser.fsy" +# 313 "Parser.fsy" _2 :: _1 ) -# 281 "Parser.fsy" +# 313 "Parser.fsy" : 'gentype_rev_macro_cases)); -# 1970 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2162 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_case_pat in let _3 = parseState.GetInput(3) :?> 'gentype_macro_body in Microsoft.FSharp.Core.Operators.box ( ( -# 285 "Parser.fsy" +# 317 "Parser.fsy" SynMacroCase(_2, _3, lhs parseState) ) -# 285 "Parser.fsy" +# 317 "Parser.fsy" : 'gentype_macro_case_start)); -# 1982 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2174 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_case_pat in let _3 = parseState.GetInput(3) :?> 'gentype_macro_body in Microsoft.FSharp.Core.Operators.box ( ( -# 287 "Parser.fsy" +# 319 "Parser.fsy" SynMacroCase(_2, _3, lhs parseState) ) -# 287 "Parser.fsy" +# 319 "Parser.fsy" : 'gentype_macro_case_start)); -# 1994 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2186 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_pat_list in Microsoft.FSharp.Core.Operators.box ( ( -# 290 "Parser.fsy" +# 322 "Parser.fsy" _2 ) -# 290 "Parser.fsy" +# 322 "Parser.fsy" : 'gentype_macro_case_pat)); -# 2005 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2197 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_pat_list in Microsoft.FSharp.Core.Operators.box ( ( -# 291 "Parser.fsy" +# 323 "Parser.fsy" _2 ) -# 291 "Parser.fsy" +# 323 "Parser.fsy" : 'gentype_macro_case_pat)); -# 2016 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2208 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_macro_pat_list in Microsoft.FSharp.Core.Operators.box ( ( -# 293 "Parser.fsy" +# 325 "Parser.fsy" List.rev _1 ) -# 293 "Parser.fsy" +# 325 "Parser.fsy" : 'gentype_macro_pat_list)); -# 2027 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2219 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_pat in Microsoft.FSharp.Core.Operators.box ( ( -# 295 "Parser.fsy" +# 327 "Parser.fsy" [_1] ) -# 295 "Parser.fsy" +# 327 "Parser.fsy" : 'gentype_rev_macro_pat_list)); -# 2038 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2230 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_macro_pat_list in let _2 = parseState.GetInput(2) :?> 'gentype_macro_pat in Microsoft.FSharp.Core.Operators.box ( ( -# 296 "Parser.fsy" +# 328 "Parser.fsy" _2 :: _1 ) -# 296 "Parser.fsy" +# 328 "Parser.fsy" : 'gentype_rev_macro_pat_list)); -# 2050 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2242 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 299 "Parser.fsy" +# 331 "Parser.fsy" SynMacroPat.Const(fst _1, snd _1) ) -# 299 "Parser.fsy" +# 331 "Parser.fsy" : 'gentype_macro_pat)); -# 2061 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2253 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_pat_list in Microsoft.FSharp.Core.Operators.box ( ( -# 300 "Parser.fsy" +# 332 "Parser.fsy" SynMacroPat.List(_2, lhs parseState) ) -# 300 "Parser.fsy" +# 332 "Parser.fsy" : 'gentype_macro_pat)); -# 2072 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2264 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_pat_list in Microsoft.FSharp.Core.Operators.box ( ( -# 301 "Parser.fsy" +# 333 "Parser.fsy" SynMacroPat.List(_2, lhs parseState) ) -# 301 "Parser.fsy" +# 333 "Parser.fsy" : 'gentype_macro_pat)); -# 2083 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2275 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 302 "Parser.fsy" +# 334 "Parser.fsy" let text = _1 let symText = (Syntax.textOfSymbol text) @@ -2097,115 +2289,115 @@ let _fsyacc_reductions = lazy [| else SynMacroPat.Symbol (text, lhs parseState) ) -# 302 "Parser.fsy" +# 334 "Parser.fsy" : 'gentype_macro_pat)); -# 2102 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2294 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_macro_body_list in Microsoft.FSharp.Core.Operators.box ( ( -# 312 "Parser.fsy" +# 344 "Parser.fsy" List.rev _1 ) -# 312 "Parser.fsy" +# 344 "Parser.fsy" : 'gentype_macro_body_list)); -# 2113 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2305 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_macro_body in Microsoft.FSharp.Core.Operators.box ( ( -# 314 "Parser.fsy" +# 346 "Parser.fsy" [_1] ) -# 314 "Parser.fsy" +# 346 "Parser.fsy" : 'gentype_rev_macro_body_list)); -# 2124 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2316 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_macro_body_list in let _2 = parseState.GetInput(2) :?> 'gentype_macro_body in Microsoft.FSharp.Core.Operators.box ( ( -# 315 "Parser.fsy" +# 347 "Parser.fsy" _2 :: _1 ) -# 315 "Parser.fsy" +# 347 "Parser.fsy" : 'gentype_rev_macro_body_list)); -# 2136 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2328 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 318 "Parser.fsy" +# 350 "Parser.fsy" SynMacroBody.Const(fst _1, snd _1) ) -# 318 "Parser.fsy" +# 350 "Parser.fsy" : 'gentype_macro_body)); -# 2147 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2339 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_body_list in Microsoft.FSharp.Core.Operators.box ( ( -# 319 "Parser.fsy" +# 351 "Parser.fsy" SynMacroBody.List(_2, lhs parseState) ) -# 319 "Parser.fsy" +# 351 "Parser.fsy" : 'gentype_macro_body)); -# 2158 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2350 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_body_list in Microsoft.FSharp.Core.Operators.box ( ( -# 320 "Parser.fsy" +# 352 "Parser.fsy" SynMacroBody.Vector(_2, lhs parseState) ) -# 320 "Parser.fsy" +# 352 "Parser.fsy" : 'gentype_macro_body)); -# 2169 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2361 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_body_list in Microsoft.FSharp.Core.Operators.box ( ( -# 321 "Parser.fsy" +# 353 "Parser.fsy" SynMacroBody.HashMap(_2, lhs parseState) ) -# 321 "Parser.fsy" +# 353 "Parser.fsy" : 'gentype_macro_body)); -# 2180 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2372 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_macro_body_list in Microsoft.FSharp.Core.Operators.box ( ( -# 322 "Parser.fsy" +# 354 "Parser.fsy" SynMacroBody.HashSet(_2, lhs parseState) ) -# 322 "Parser.fsy" +# 354 "Parser.fsy" : 'gentype_macro_body)); -# 2191 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2383 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_keyword in Microsoft.FSharp.Core.Operators.box ( ( -# 323 "Parser.fsy" +# 355 "Parser.fsy" SynMacroBody.Keyword(_1) ) -# 323 "Parser.fsy" +# 355 "Parser.fsy" : 'gentype_macro_body)); -# 2202 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2394 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 324 "Parser.fsy" +# 356 "Parser.fsy" let text = _1 let symText = (Syntax.textOfSymbol text) @@ -2216,226 +2408,226 @@ let _fsyacc_reductions = lazy [| else SynMacroBody.Symbol (text) ) -# 324 "Parser.fsy" +# 356 "Parser.fsy" : 'gentype_macro_body)); -# 2221 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2413 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 336 "Parser.fsy" +# 368 "Parser.fsy" SynExpr.Cons(_2, _3, lhs parseState) ) -# 336 "Parser.fsy" +# 368 "Parser.fsy" : 'gentype_cons_expr)); -# 2233 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2425 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 338 "Parser.fsy" +# 370 "Parser.fsy" SynExpr.Cons(_2, Syntax.parserRecoveryExpr (lhs parseState), lhs parseState) ) -# 338 "Parser.fsy" +# 370 "Parser.fsy" : 'gentype_cons_expr)); -# 2244 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2436 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 340 "Parser.fsy" +# 372 "Parser.fsy" SynExpr.Cons(Syntax.parserRecoveryExpr (lhs parseState), Syntax.parserRecoveryExpr (lhs parseState), lhs parseState) ) -# 340 "Parser.fsy" +# 372 "Parser.fsy" : 'gentype_cons_expr)); -# 2254 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2446 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 344 "Parser.fsy" +# 376 "Parser.fsy" SynExpr.Concat(_2, _3, lhs parseState) ) -# 344 "Parser.fsy" +# 376 "Parser.fsy" : 'gentype_concat_expr)); -# 2266 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2458 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 346 "Parser.fsy" +# 378 "Parser.fsy" SynExpr.Concat(_2, Syntax.parserRecoveryExpr (lhs parseState), lhs parseState) ) -# 346 "Parser.fsy" +# 378 "Parser.fsy" : 'gentype_concat_expr)); -# 2277 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2469 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 348 "Parser.fsy" +# 380 "Parser.fsy" SynExpr.Concat(Syntax.parserRecoveryExpr (lhs parseState), Syntax.parserRecoveryExpr (lhs parseState), lhs parseState) ) -# 348 "Parser.fsy" +# 380 "Parser.fsy" : 'gentype_concat_expr)); -# 2287 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2479 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_syntype_ident in Microsoft.FSharp.Core.Operators.box ( ( -# 352 "Parser.fsy" +# 384 "Parser.fsy" SynExpr.New(_2, [], lhs parseState) ) -# 352 "Parser.fsy" +# 384 "Parser.fsy" : 'gentype_new_expr)); -# 2298 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2490 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_syntype_ident in let _3 = parseState.GetInput(3) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 354 "Parser.fsy" +# 386 "Parser.fsy" SynExpr.New(_2, _3, lhs parseState) ) -# 354 "Parser.fsy" +# 386 "Parser.fsy" : 'gentype_new_expr)); -# 2310 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2502 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_threadable_list in Microsoft.FSharp.Core.Operators.box ( ( -# 356 "Parser.fsy" +# 388 "Parser.fsy" List.rev _1 ) -# 356 "Parser.fsy" +# 388 "Parser.fsy" : 'gentype_threadable_list)); -# 2321 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2513 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_threadable in Microsoft.FSharp.Core.Operators.box ( ( -# 358 "Parser.fsy" +# 390 "Parser.fsy" [_1] ) -# 358 "Parser.fsy" +# 390 "Parser.fsy" : 'gentype_rev_threadable_list)); -# 2332 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2524 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_threadable_list in let _2 = parseState.GetInput(2) :?> 'gentype_threadable in Microsoft.FSharp.Core.Operators.box ( ( -# 359 "Parser.fsy" +# 391 "Parser.fsy" _2 :: _1 ) -# 359 "Parser.fsy" +# 391 "Parser.fsy" : 'gentype_rev_threadable_list)); -# 2344 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2536 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_prop_plus in Microsoft.FSharp.Core.Operators.box ( ( -# 363 "Parser.fsy" +# 395 "Parser.fsy" SynThreadable.Property(_1, lhs parseState) ) -# 363 "Parser.fsy" +# 395 "Parser.fsy" : 'gentype_threadable)); -# 2355 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2547 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_dot_method in Microsoft.FSharp.Core.Operators.box ( ( -# 365 "Parser.fsy" +# 397 "Parser.fsy" SynThreadable.Method(_1, lhs parseState) ) -# 365 "Parser.fsy" +# 397 "Parser.fsy" : 'gentype_threadable)); -# 2366 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2558 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 367 "Parser.fsy" +# 399 "Parser.fsy" SynThreadable.Index(_2, lhs parseState) ) -# 367 "Parser.fsy" +# 399 "Parser.fsy" : 'gentype_threadable)); -# 2377 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2569 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 369 "Parser.fsy" +# 401 "Parser.fsy" SynThreadable.Expr(_1, lhs parseState) ) -# 369 "Parser.fsy" +# 401 "Parser.fsy" : 'gentype_threadable)); -# 2388 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2580 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 373 "Parser.fsy" +# 405 "Parser.fsy" let text = (_1).TrimStart('+') SynSymbol(Ident(text, rhs parseState 1)) ) -# 373 "Parser.fsy" +# 405 "Parser.fsy" : 'gentype_prop_plus)); -# 2402 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2594 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _4 = parseState.GetInput(4) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 380 "Parser.fsy" +# 412 "Parser.fsy" SynExpr.DotIndex(_4, _2, lhs parseState) ) -# 380 "Parser.fsy" +# 412 "Parser.fsy" : 'gentype_dot_expr)); -# 2414 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2606 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 382 "Parser.fsy" +# 414 "Parser.fsy" SynExpr.DotProperty(_3, _2, lhs parseState) ) -# 382 "Parser.fsy" +# 414 "Parser.fsy" : 'gentype_dot_expr)); -# 2426 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2618 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_prop_plus in let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 384 "Parser.fsy" +# 416 "Parser.fsy" SynExpr.DotProperty(_2, _1, lhs parseState) ) -# 384 "Parser.fsy" +# 416 "Parser.fsy" : 'gentype_dot_expr)); -# 2438 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2630 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_dot_method in let _2 = parseState.GetInput(2) :?> 'gentype_expr in @@ -2443,31 +2635,31 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 386 "Parser.fsy" +# 418 "Parser.fsy" SynExpr.DotMethod(_2, _1, _3, lhs parseState) ) -# 386 "Parser.fsy" +# 418 "Parser.fsy" : 'gentype_dot_expr)); -# 2451 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2643 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_dot_method in let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 388 "Parser.fsy" +# 420 "Parser.fsy" SynExpr.DotMethod(_2, _1, [], lhs parseState) ) -# 388 "Parser.fsy" +# 420 "Parser.fsy" : 'gentype_dot_expr)); -# 2463 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2655 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 390 "Parser.fsy" +# 422 "Parser.fsy" let text = Syntax.textOfSymbol _3 if text.StartsWith('+') then @@ -2475,33 +2667,33 @@ let _fsyacc_reductions = lazy [| else SynExpr.DotMethod(_2, _3, [], lhs parseState) ) -# 390 "Parser.fsy" +# 422 "Parser.fsy" : 'gentype_dot_expr)); -# 2480 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2672 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_prop_plus in Microsoft.FSharp.Core.Operators.box ( ( -# 397 "Parser.fsy" +# 429 "Parser.fsy" SynExpr.DotProperty(_2, _3, lhs parseState) ) -# 397 "Parser.fsy" +# 429 "Parser.fsy" : 'gentype_dot_expr)); -# 2492 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2684 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _4 = parseState.GetInput(4) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 400 "Parser.fsy" +# 432 "Parser.fsy" SynExpr.DotIndex(_2, _4, lhs parseState) ) -# 400 "Parser.fsy" +# 432 "Parser.fsy" : 'gentype_dot_expr)); -# 2504 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2696 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_symbol in @@ -2509,73 +2701,73 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 402 "Parser.fsy" +# 434 "Parser.fsy" SynExpr.DotMethod(_2, _3, _4, lhs parseState) ) -# 402 "Parser.fsy" +# 434 "Parser.fsy" : 'gentype_dot_expr)); -# 2517 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2709 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 405 "Parser.fsy" +# 437 "Parser.fsy" () ) -# 405 "Parser.fsy" +# 437 "Parser.fsy" : 'gentype_lparen_or_lbracket)); -# 2527 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2719 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 406 "Parser.fsy" +# 438 "Parser.fsy" () ) -# 406 "Parser.fsy" +# 438 "Parser.fsy" : 'gentype_lparen_or_lbracket)); -# 2537 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2729 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 409 "Parser.fsy" +# 441 "Parser.fsy" () ) -# 409 "Parser.fsy" +# 441 "Parser.fsy" : 'gentype_rparen_or_rbracket)); -# 2547 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2739 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 410 "Parser.fsy" +# 442 "Parser.fsy" () ) -# 410 "Parser.fsy" +# 442 "Parser.fsy" : 'gentype_rparen_or_rbracket)); -# 2557 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2749 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 413 "Parser.fsy" +# 445 "Parser.fsy" SynExpr.List([], lhs parseState) ) -# 413 "Parser.fsy" +# 445 "Parser.fsy" : 'gentype_list_expr)); -# 2567 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2759 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 414 "Parser.fsy" +# 446 "Parser.fsy" SynExpr.List(_2, lhs parseState) ) -# 414 "Parser.fsy" +# 446 "Parser.fsy" : 'gentype_list_expr)); -# 2578 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2770 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_lparen_or_lbracket in let _3 = parseState.GetInput(3) :?> 'gentype_name in @@ -2585,12 +2777,12 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 418 "Parser.fsy" +# 450 "Parser.fsy" SynExpr.ForIn(_3, _4, _6, lhs parseState) ) -# 418 "Parser.fsy" +# 450 "Parser.fsy" : 'gentype_for_in_expr)); -# 2593 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2785 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _4 = parseState.GetInput(4) :?> 'gentype_expr in @@ -2598,12 +2790,12 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 422 "Parser.fsy" +# 454 "Parser.fsy" SynExpr.RangeExpr (_2, Some(_4), _6, lhs parseState) ) -# 422 "Parser.fsy" +# 454 "Parser.fsy" : 'gentype_range_expr)); -# 2606 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2798 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in @@ -2611,48 +2803,73 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 424 "Parser.fsy" +# 456 "Parser.fsy" SynExpr.RangeExpr (_2, Some(_3), _4, lhs parseState) ) -# 424 "Parser.fsy" +# 456 "Parser.fsy" : 'gentype_range_expr)); -# 2619 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2811 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _4 = parseState.GetInput(4) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 426 "Parser.fsy" +# 458 "Parser.fsy" SynExpr.RangeExpr (_2, None, _4, lhs parseState) ) -# 426 "Parser.fsy" +# 458 "Parser.fsy" : 'gentype_range_expr)); -# 2631 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2823 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 428 "Parser.fsy" +# 460 "Parser.fsy" SynExpr.RangeExpr (_2, None, _3, lhs parseState) ) -# 428 "Parser.fsy" +# 460 "Parser.fsy" : 'gentype_range_expr)); -# 2643 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2835 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_expr in + let _3 = parseState.GetInput(3) :?> 'gentype_expr in + let _5 = parseState.GetInput(5) :?> 'gentype_expr in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 462 "Parser.fsy" + SynExpr.RangeExpr (_1, Some(_3), _5, lhs parseState) + ) +# 462 "Parser.fsy" + : 'gentype_range_expr)); +# 2848 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> 'gentype_expr in + let _3 = parseState.GetInput(3) :?> 'gentype_expr in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 464 "Parser.fsy" + SynExpr.RangeExpr (_1, None, _3, lhs parseState) + ) +# 464 "Parser.fsy" + : 'gentype_range_expr)); +# 2860 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 432 "Parser.fsy" +# 468 "Parser.fsy" SynExpr.If(_2, _3, None, lhs parseState) ) -# 432 "Parser.fsy" +# 468 "Parser.fsy" : 'gentype_if_expr)); -# 2655 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2872 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in @@ -2660,569 +2877,569 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 434 "Parser.fsy" +# 470 "Parser.fsy" SynExpr.If(_2, _3, Some _4, lhs parseState) ) -# 434 "Parser.fsy" +# 470 "Parser.fsy" : 'gentype_if_expr)); -# 2668 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2885 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_quoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 436 "Parser.fsy" +# 472 "Parser.fsy" List.rev _1 ) -# 436 "Parser.fsy" +# 472 "Parser.fsy" : 'gentype_quoted_exprs)); -# 2679 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2896 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_quoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 438 "Parser.fsy" +# 474 "Parser.fsy" [_1] ) -# 438 "Parser.fsy" +# 474 "Parser.fsy" : 'gentype_rev_quoted_exprs)); -# 2690 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2907 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_quoted_exprs in let _2 = parseState.GetInput(2) :?> 'gentype_quoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 439 "Parser.fsy" +# 475 "Parser.fsy" _2 :: _1 ) -# 439 "Parser.fsy" +# 475 "Parser.fsy" : 'gentype_rev_quoted_exprs)); -# 2702 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2919 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 442 "Parser.fsy" +# 478 "Parser.fsy" SynQuoted.Const(fst _1, snd _1) ) -# 442 "Parser.fsy" +# 478 "Parser.fsy" : 'gentype_quoted_expr)); -# 2713 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2930 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 443 "Parser.fsy" +# 479 "Parser.fsy" SynQuoted.Symbol(_1) ) -# 443 "Parser.fsy" +# 479 "Parser.fsy" : 'gentype_quoted_expr)); -# 2724 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2941 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_keyword in Microsoft.FSharp.Core.Operators.box ( ( -# 444 "Parser.fsy" +# 480 "Parser.fsy" SynQuoted.Keyword(_1) ) -# 444 "Parser.fsy" +# 480 "Parser.fsy" : 'gentype_quoted_expr)); -# 2735 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2952 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 446 "Parser.fsy" +# 482 "Parser.fsy" SynQuoted.List (_2, lhs parseState) ) -# 446 "Parser.fsy" +# 482 "Parser.fsy" : 'gentype_quoted_expr)); -# 2746 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2963 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 448 "Parser.fsy" +# 484 "Parser.fsy" SynQuoted.Vector (_2, lhs parseState) ) -# 448 "Parser.fsy" +# 484 "Parser.fsy" : 'gentype_quoted_expr)); -# 2757 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2974 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 450 "Parser.fsy" +# 486 "Parser.fsy" SynQuoted.HashMap (_2, lhs parseState) ) -# 450 "Parser.fsy" +# 486 "Parser.fsy" : 'gentype_quoted_expr)); -# 2768 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2985 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 452 "Parser.fsy" +# 488 "Parser.fsy" SynQuoted.HashSet (_2, lhs parseState) ) -# 452 "Parser.fsy" +# 488 "Parser.fsy" : 'gentype_quoted_expr)); -# 2779 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 2996 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_value_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 454 "Parser.fsy" +# 490 "Parser.fsy" List.rev _1 ) -# 454 "Parser.fsy" +# 490 "Parser.fsy" : 'gentype_value_exprs)); -# 2790 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3007 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 456 "Parser.fsy" +# 492 "Parser.fsy" [] ) -# 456 "Parser.fsy" +# 492 "Parser.fsy" : 'gentype_rev_value_exprs)); -# 2800 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3017 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_value_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 457 "Parser.fsy" +# 493 "Parser.fsy" [_1] ) -# 457 "Parser.fsy" +# 493 "Parser.fsy" : 'gentype_rev_value_exprs)); -# 2811 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3028 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_value_exprs in let _2 = parseState.GetInput(2) :?> 'gentype_value_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 458 "Parser.fsy" +# 494 "Parser.fsy" _2 :: _1 ) -# 458 "Parser.fsy" +# 494 "Parser.fsy" : 'gentype_rev_value_exprs)); -# 2823 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3040 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 461 "Parser.fsy" +# 497 "Parser.fsy" SynValue.Const(fst _1, snd _1) ) -# 461 "Parser.fsy" +# 497 "Parser.fsy" : 'gentype_value_expr)); -# 2834 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3051 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 462 "Parser.fsy" +# 498 "Parser.fsy" SynValue.Symbol(_1) ) -# 462 "Parser.fsy" +# 498 "Parser.fsy" : 'gentype_value_expr)); -# 2845 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3062 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_keyword in Microsoft.FSharp.Core.Operators.box ( ( -# 463 "Parser.fsy" +# 499 "Parser.fsy" SynValue.Keyword(_1) ) -# 463 "Parser.fsy" +# 499 "Parser.fsy" : 'gentype_value_expr)); -# 2856 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3073 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_value_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 465 "Parser.fsy" +# 501 "Parser.fsy" SynValue.List (_2, lhs parseState) ) -# 465 "Parser.fsy" +# 501 "Parser.fsy" : 'gentype_value_expr)); -# 2867 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3084 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_value_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 467 "Parser.fsy" +# 503 "Parser.fsy" SynValue.Vector (_2, lhs parseState) ) -# 467 "Parser.fsy" +# 503 "Parser.fsy" : 'gentype_value_expr)); -# 2878 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3095 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_value_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 469 "Parser.fsy" +# 505 "Parser.fsy" SynValue.HashMap (_2, lhs parseState) ) -# 469 "Parser.fsy" +# 505 "Parser.fsy" : 'gentype_value_expr)); -# 2889 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3106 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_value_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 471 "Parser.fsy" +# 507 "Parser.fsy" SynValue.HashSet (_2, lhs parseState) ) -# 471 "Parser.fsy" +# 507 "Parser.fsy" : 'gentype_value_expr)); -# 2900 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3117 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_quasiquoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 473 "Parser.fsy" +# 509 "Parser.fsy" List.rev _1 ) -# 473 "Parser.fsy" +# 509 "Parser.fsy" : 'gentype_quasiquoted_exprs)); -# 2911 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3128 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_quasiquoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 475 "Parser.fsy" +# 511 "Parser.fsy" [_1] ) -# 475 "Parser.fsy" +# 511 "Parser.fsy" : 'gentype_rev_quasiquoted_exprs)); -# 2922 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3139 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_quasiquoted_exprs in let _2 = parseState.GetInput(2) :?> 'gentype_quasiquoted_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 476 "Parser.fsy" +# 512 "Parser.fsy" _2 :: _1 ) -# 476 "Parser.fsy" +# 512 "Parser.fsy" : 'gentype_rev_quasiquoted_exprs)); -# 2934 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3151 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 479 "Parser.fsy" +# 515 "Parser.fsy" SynQuasiquote.Const(fst _1, snd _1) ) -# 479 "Parser.fsy" +# 515 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 2945 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3162 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 480 "Parser.fsy" +# 516 "Parser.fsy" SynQuasiquote.Symbol(_1) ) -# 480 "Parser.fsy" +# 516 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 2956 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3173 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_keyword in Microsoft.FSharp.Core.Operators.box ( ( -# 481 "Parser.fsy" +# 517 "Parser.fsy" SynQuasiquote.Keyword(_1) ) -# 481 "Parser.fsy" +# 517 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 2967 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3184 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_operators in Microsoft.FSharp.Core.Operators.box ( ( -# 482 "Parser.fsy" +# 518 "Parser.fsy" SynQuasiquote.Op(_1) ) -# 482 "Parser.fsy" +# 518 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 2978 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3195 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_unquote in Microsoft.FSharp.Core.Operators.box ( ( -# 483 "Parser.fsy" +# 519 "Parser.fsy" _1 ) -# 483 "Parser.fsy" +# 519 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 2989 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3206 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_splice_unquote in Microsoft.FSharp.Core.Operators.box ( ( -# 484 "Parser.fsy" +# 520 "Parser.fsy" _1 ) -# 484 "Parser.fsy" +# 520 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 3000 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3217 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_quasiquoted_exprs in Microsoft.FSharp.Core.Operators.box ( ( -# 486 "Parser.fsy" +# 522 "Parser.fsy" SynQuasiquote.List (_2, lhs parseState) ) -# 486 "Parser.fsy" +# 522 "Parser.fsy" : 'gentype_quasiquoted_expr)); -# 3011 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3228 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 490 "Parser.fsy" +# 526 "Parser.fsy" SynQuasiquote.Unquote (_3, lhs parseState) ) -# 490 "Parser.fsy" +# 526 "Parser.fsy" : 'gentype_unquote)); -# 3022 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3239 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 494 "Parser.fsy" +# 530 "Parser.fsy" SynQuasiquote.SpliceUnquote (_3, lhs parseState) ) -# 494 "Parser.fsy" +# 530 "Parser.fsy" : 'gentype_splice_unquote)); -# 3033 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3250 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_operators_not_in_parens in Microsoft.FSharp.Core.Operators.box ( ( -# 497 "Parser.fsy" +# 533 "Parser.fsy" _2 ) -# 497 "Parser.fsy" +# 533 "Parser.fsy" : 'gentype_operators)); -# 3044 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3261 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 501 "Parser.fsy" +# 537 "Parser.fsy" SynOp.Plus([], lhs parseState) ) -# 501 "Parser.fsy" +# 537 "Parser.fsy" : 'gentype_operators_not_in_parens)); -# 3054 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3271 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 503 "Parser.fsy" +# 539 "Parser.fsy" SynOp.Mult([], lhs parseState) ) -# 503 "Parser.fsy" +# 539 "Parser.fsy" : 'gentype_operators_not_in_parens)); -# 3064 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3281 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 505 "Parser.fsy" +# 541 "Parser.fsy" SynOp.Plus(_2, lhs parseState) ) -# 505 "Parser.fsy" +# 541 "Parser.fsy" : 'gentype_operators_not_in_parens)); -# 3075 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3292 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 507 "Parser.fsy" +# 543 "Parser.fsy" SynOp.Mult(_2, lhs parseState) ) -# 507 "Parser.fsy" +# 543 "Parser.fsy" : 'gentype_operators_not_in_parens)); -# 3086 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3303 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 509 "Parser.fsy" +# 545 "Parser.fsy" SynOp.Minus(_2, lhs parseState) ) -# 509 "Parser.fsy" +# 545 "Parser.fsy" : 'gentype_operators_not_in_parens)); -# 3097 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3314 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 511 "Parser.fsy" +# 547 "Parser.fsy" SynOp.Div(_2, lhs parseState) ) -# 511 "Parser.fsy" +# 547 "Parser.fsy" : 'gentype_operators_not_in_parens)); -# 3108 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3325 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 515 "Parser.fsy" +# 551 "Parser.fsy" SynExpr.Set(_2, _3, lhs parseState) ) -# 515 "Parser.fsy" +# 551 "Parser.fsy" : 'gentype_set)); -# 3120 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3337 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 518 "Parser.fsy" +# 554 "Parser.fsy" let r = lhs parseState SynExpr.Set(_2, Syntax.parserRecoveryExpr r, r) ) -# 518 "Parser.fsy" +# 554 "Parser.fsy" : 'gentype_set)); -# 3132 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3349 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 522 "Parser.fsy" +# 558 "Parser.fsy" let r = lhs parseState SynExpr.Set(Syntax.parserRecoveryExpr r, Syntax.parserRecoveryExpr r, r) ) -# 522 "Parser.fsy" +# 558 "Parser.fsy" : 'gentype_set)); -# 3143 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3360 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 527 "Parser.fsy" +# 563 "Parser.fsy" SynExpr.SimpleLet(_2, _3, lhs parseState) ) -# 527 "Parser.fsy" +# 563 "Parser.fsy" : 'gentype_let)); -# 3155 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3372 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name in Microsoft.FSharp.Core.Operators.box ( ( -# 530 "Parser.fsy" +# 566 "Parser.fsy" let r = lhs parseState SynExpr.SimpleLet(_2, Syntax.parserRecoveryExpr r, r) ) -# 530 "Parser.fsy" +# 566 "Parser.fsy" : 'gentype_let)); -# 3167 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3384 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 534 "Parser.fsy" +# 570 "Parser.fsy" let r = lhs parseState SynExpr.SimpleLet(Syntax.parserRecoveryName r, Syntax.parserRecoveryExpr r, r) ) -# 534 "Parser.fsy" +# 570 "Parser.fsy" : 'gentype_let)); -# 3178 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3395 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 539 "Parser.fsy" +# 575 "Parser.fsy" SynExpr.SimpleMut(_2, _3, lhs parseState) ) -# 539 "Parser.fsy" +# 575 "Parser.fsy" : 'gentype_mut)); -# 3190 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3407 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name in Microsoft.FSharp.Core.Operators.box ( ( -# 542 "Parser.fsy" +# 578 "Parser.fsy" let r = lhs parseState SynExpr.SimpleMut(_2, Syntax.parserRecoveryExpr r, r) ) -# 542 "Parser.fsy" +# 578 "Parser.fsy" : 'gentype_mut)); -# 3202 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3419 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 546 "Parser.fsy" +# 582 "Parser.fsy" let r = lhs parseState SynExpr.SimpleMut(Syntax.parserRecoveryName r, Syntax.parserRecoveryExpr r, r) ) -# 546 "Parser.fsy" +# 582 "Parser.fsy" : 'gentype_mut)); -# 3213 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3430 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_binding_list_start in let _3 = parseState.GetInput(3) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 551 "Parser.fsy" +# 587 "Parser.fsy" SynExpr.LetStar(_2, _3, lhs parseState) ) -# 551 "Parser.fsy" +# 587 "Parser.fsy" : 'gentype_letstar)); -# 3225 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3442 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_name_list_start in @@ -3230,102 +3447,102 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 555 "Parser.fsy" +# 591 "Parser.fsy" SynExpr.Type(_2, _3, _4, lhs parseState) ) -# 555 "Parser.fsy" +# 591 "Parser.fsy" : 'gentype_type_expr)); -# 3238 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3455 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 558 "Parser.fsy" +# 594 "Parser.fsy" [] ) -# 558 "Parser.fsy" +# 594 "Parser.fsy" : 'gentype_member_list_start)); -# 3248 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3465 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_member_list in Microsoft.FSharp.Core.Operators.box ( ( -# 559 "Parser.fsy" +# 595 "Parser.fsy" _1 ) -# 559 "Parser.fsy" +# 595 "Parser.fsy" : 'gentype_member_list_start)); -# 3259 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3476 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_member_list in Microsoft.FSharp.Core.Operators.box ( ( -# 561 "Parser.fsy" +# 597 "Parser.fsy" List.rev _1 ) -# 561 "Parser.fsy" +# 597 "Parser.fsy" : 'gentype_member_list)); -# 3270 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3487 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_member in Microsoft.FSharp.Core.Operators.box ( ( -# 563 "Parser.fsy" +# 599 "Parser.fsy" [_1] ) -# 563 "Parser.fsy" +# 599 "Parser.fsy" : 'gentype_rev_member_list)); -# 3281 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3498 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_member_list in let _2 = parseState.GetInput(2) :?> 'gentype_member in Microsoft.FSharp.Core.Operators.box ( ( -# 564 "Parser.fsy" +# 600 "Parser.fsy" _2 :: _1 ) -# 564 "Parser.fsy" +# 600 "Parser.fsy" : 'gentype_rev_member_list)); -# 3293 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3510 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_member_in_parens in Microsoft.FSharp.Core.Operators.box ( ( -# 567 "Parser.fsy" +# 603 "Parser.fsy" _2 ) -# 567 "Parser.fsy" +# 603 "Parser.fsy" : 'gentype_member)); -# 3304 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3521 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 571 "Parser.fsy" +# 607 "Parser.fsy" SynTypeMember.Let(_2, _3, lhs parseState) ) -# 571 "Parser.fsy" +# 607 "Parser.fsy" : 'gentype_member_in_parens)); -# 3316 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3533 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 573 "Parser.fsy" +# 609 "Parser.fsy" SynTypeMember.Member(_2, _3, lhs parseState) ) -# 573 "Parser.fsy" +# 609 "Parser.fsy" : 'gentype_member_in_parens)); -# 3328 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3545 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_arg_list_start in @@ -3333,12 +3550,12 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 575 "Parser.fsy" +# 611 "Parser.fsy" SynTypeMember.MemberFn(_2, _3, _4, (lhs parseState)) ) -# 575 "Parser.fsy" +# 611 "Parser.fsy" : 'gentype_member_in_parens)); -# 3341 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3558 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_symbol in let _4 = parseState.GetInput(4) :?> 'gentype_arg_list_start in @@ -3346,24 +3563,24 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 577 "Parser.fsy" +# 613 "Parser.fsy" SynTypeMember.MemberFn(_3, _4, _5, (lhs parseState)) ) -# 577 "Parser.fsy" +# 613 "Parser.fsy" : 'gentype_member_in_parens)); -# 3354 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3571 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 579 "Parser.fsy" +# 615 "Parser.fsy" SynTypeMember.OverrideMember(_2, _3, lhs parseState) ) -# 579 "Parser.fsy" +# 615 "Parser.fsy" : 'gentype_member_in_parens)); -# 3366 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3583 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_symbol in let _4 = parseState.GetInput(4) :?> 'gentype_arg_list_start in @@ -3371,461 +3588,476 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 581 "Parser.fsy" +# 617 "Parser.fsy" SynTypeMember.OverrideFn(_3, _4, _5, (lhs parseState)) ) -# 581 "Parser.fsy" +# 617 "Parser.fsy" : 'gentype_member_in_parens)); -# 3379 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3596 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 584 "Parser.fsy" +# 620 "Parser.fsy" () ) -# 584 "Parser.fsy" +# 620 "Parser.fsy" : 'gentype_tok_lparen)); -# 3389 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3606 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 587 "Parser.fsy" +# 623 "Parser.fsy" [] ) -# 587 "Parser.fsy" +# 623 "Parser.fsy" : 'gentype_empty_bindings)); -# 3399 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3616 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 588 "Parser.fsy" +# 624 "Parser.fsy" [] ) -# 588 "Parser.fsy" +# 624 "Parser.fsy" : 'gentype_empty_bindings)); -# 3409 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3626 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_empty_bindings in Microsoft.FSharp.Core.Operators.box ( ( -# 591 "Parser.fsy" +# 627 "Parser.fsy" _1 ) -# 591 "Parser.fsy" +# 627 "Parser.fsy" : 'gentype_binding_list_start)); -# 3420 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3637 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_binding_list in Microsoft.FSharp.Core.Operators.box ( ( -# 592 "Parser.fsy" +# 628 "Parser.fsy" _2 ) -# 592 "Parser.fsy" +# 628 "Parser.fsy" : 'gentype_binding_list_start)); -# 3431 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3648 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_binding_list in Microsoft.FSharp.Core.Operators.box ( ( -# 593 "Parser.fsy" +# 629 "Parser.fsy" _2 ) -# 593 "Parser.fsy" +# 629 "Parser.fsy" : 'gentype_binding_list_start)); -# 3442 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3659 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_binding_list in Microsoft.FSharp.Core.Operators.box ( ( -# 595 "Parser.fsy" +# 631 "Parser.fsy" List.rev _1 ) -# 595 "Parser.fsy" +# 631 "Parser.fsy" : 'gentype_binding_list)); -# 3453 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3670 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_binding in Microsoft.FSharp.Core.Operators.box ( ( -# 597 "Parser.fsy" +# 633 "Parser.fsy" [_1] ) -# 597 "Parser.fsy" +# 633 "Parser.fsy" : 'gentype_rev_binding_list)); -# 3464 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3681 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_binding_list in let _2 = parseState.GetInput(2) :?> 'gentype_binding in Microsoft.FSharp.Core.Operators.box ( ( -# 598 "Parser.fsy" +# 634 "Parser.fsy" _2 :: _1 ) -# 598 "Parser.fsy" +# 634 "Parser.fsy" : 'gentype_rev_binding_list)); -# 3476 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3693 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_name in let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 601 "Parser.fsy" +# 637 "Parser.fsy" SynBinding(_1, _2, lhs parseState) ) -# 601 "Parser.fsy" +# 637 "Parser.fsy" : 'gentype_binding)); -# 3488 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3705 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 604 "Parser.fsy" +# 640 "Parser.fsy" SynName.Inferred(_1, lhs parseState) ) -# 604 "Parser.fsy" +# 640 "Parser.fsy" : 'gentype_name)); -# 3499 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3716 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_name_in_parens_or_brackets_start in Microsoft.FSharp.Core.Operators.box ( ( -# 605 "Parser.fsy" +# 641 "Parser.fsy" _1 ) -# 605 "Parser.fsy" +# 641 "Parser.fsy" : 'gentype_name)); -# 3510 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3727 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name_in_parens_or_brackets in Microsoft.FSharp.Core.Operators.box ( ( -# 608 "Parser.fsy" +# 644 "Parser.fsy" _2 ) -# 608 "Parser.fsy" +# 644 "Parser.fsy" : 'gentype_name_in_parens_or_brackets_start)); -# 3521 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3738 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name_in_parens_or_brackets in Microsoft.FSharp.Core.Operators.box ( ( -# 609 "Parser.fsy" +# 645 "Parser.fsy" _2 ) -# 609 "Parser.fsy" +# 645 "Parser.fsy" : 'gentype_name_in_parens_or_brackets_start)); -# 3532 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3749 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_syntype_ident in Microsoft.FSharp.Core.Operators.box ( ( -# 613 "Parser.fsy" +# 649 "Parser.fsy" SynName.Typed(_1, _3, lhs parseState) ) -# 613 "Parser.fsy" +# 649 "Parser.fsy" : 'gentype_name_in_parens_or_brackets)); -# 3544 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3761 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 615 "Parser.fsy" +# 651 "Parser.fsy" SynName.Inferred(_1, lhs parseState) ) -# 615 "Parser.fsy" +# 651 "Parser.fsy" : 'gentype_name_in_parens_or_brackets)); -# 3555 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3772 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 618 "Parser.fsy" +# 654 "Parser.fsy" [] ) -# 618 "Parser.fsy" +# 654 "Parser.fsy" : 'gentype_empty_name_list)); -# 3565 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3782 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 619 "Parser.fsy" +# 655 "Parser.fsy" [] ) -# 619 "Parser.fsy" +# 655 "Parser.fsy" : 'gentype_empty_name_list)); -# 3575 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3792 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_empty_name_list in Microsoft.FSharp.Core.Operators.box ( ( -# 622 "Parser.fsy" +# 658 "Parser.fsy" _1 ) -# 622 "Parser.fsy" +# 658 "Parser.fsy" : 'gentype_name_list_start)); -# 3586 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3803 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name_list in Microsoft.FSharp.Core.Operators.box ( ( -# 623 "Parser.fsy" +# 659 "Parser.fsy" _2 ) -# 623 "Parser.fsy" +# 659 "Parser.fsy" : 'gentype_name_list_start)); -# 3597 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3814 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_name_list in Microsoft.FSharp.Core.Operators.box ( ( -# 624 "Parser.fsy" +# 660 "Parser.fsy" _2 ) -# 624 "Parser.fsy" +# 660 "Parser.fsy" : 'gentype_name_list_start)); -# 3608 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3825 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_name_list in Microsoft.FSharp.Core.Operators.box ( ( -# 626 "Parser.fsy" +# 662 "Parser.fsy" List.rev _1 ) -# 626 "Parser.fsy" +# 662 "Parser.fsy" : 'gentype_name_list)); -# 3619 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3836 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_name in Microsoft.FSharp.Core.Operators.box ( ( -# 628 "Parser.fsy" +# 664 "Parser.fsy" [_1] ) -# 628 "Parser.fsy" +# 664 "Parser.fsy" : 'gentype_rev_name_list)); -# 3630 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3847 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_name_list in let _2 = parseState.GetInput(2) :?> 'gentype_name in Microsoft.FSharp.Core.Operators.box ( ( -# 629 "Parser.fsy" +# 665 "Parser.fsy" _2 :: _1 ) -# 629 "Parser.fsy" +# 665 "Parser.fsy" : 'gentype_rev_name_list)); -# 3642 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3859 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 633 "Parser.fsy" +# 669 "Parser.fsy" let text = _1 SynSymbol(Ident(text, lhs parseState)) ) -# 633 "Parser.fsy" +# 669 "Parser.fsy" : 'gentype_symbol)); -# 3655 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3872 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 639 "Parser.fsy" +# 675 "Parser.fsy" let text = _1 SynSymbol(Ident(text, lhs parseState)) ) -# 639 "Parser.fsy" +# 675 "Parser.fsy" : 'gentype_macro_name)); -# 3668 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3885 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 645 "Parser.fsy" +# 681 "Parser.fsy" let text = _1 SynSymbol(Ident(text.TrimStart '.', lhs parseState)) ) -# 645 "Parser.fsy" +# 681 "Parser.fsy" : 'gentype_dot_method)); -# 3681 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3898 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 651 "Parser.fsy" +# 687 "Parser.fsy" let text = _1 SynKeyword(Ident(text, lhs parseState)) ) -# 651 "Parser.fsy" +# 687 "Parser.fsy" : 'gentype_keyword)); -# 3694 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3911 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 657 "Parser.fsy" +# 693 "Parser.fsy" let text = _1 SynType.Ident(Ident(text, lhs parseState)) ) -# 657 "Parser.fsy" +# 693 "Parser.fsy" : 'gentype_syntype_ident)); -# 3707 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3924 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _1 = parseState.GetInput(1) :?> string in + let _3 = parseState.GetInput(3) :?> string in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 697 "Parser.fsy" + let text1 = _1 + let text2 = _3 + SynType.Ident(Ident(text1 + "," + text2, lhs parseState)) + + ) +# 697 "Parser.fsy" + : 'gentype_syntype_ident)); +# 3939 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 661 "Parser.fsy" +# 702 "Parser.fsy" let text = _2 SynType.Ident(Ident("'" + text, lhs parseState)) ) -# 661 "Parser.fsy" +# 702 "Parser.fsy" : 'gentype_syntype_ident)); -# 3720 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3952 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rawConstant in Microsoft.FSharp.Core.Operators.box ( ( -# 666 "Parser.fsy" +# 707 "Parser.fsy" (_1, (rhs parseState 1)) ) -# 666 "Parser.fsy" +# 707 "Parser.fsy" : 'gentype_constant)); -# 3731 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3963 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * SynStringKind * ParseHelpers.LexerContinuation in Microsoft.FSharp.Core.Operators.box ( ( -# 670 "Parser.fsy" +# 711 "Parser.fsy" let (raw, kind, _) = _1 SynConst.String(raw, kind, (lhs parseState)) ) -# 670 "Parser.fsy" +# 711 "Parser.fsy" : 'gentype_rawConstant)); -# 3743 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3975 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> decimal in Microsoft.FSharp.Core.Operators.box ( ( -# 672 "Parser.fsy" +# 713 "Parser.fsy" SynConst.Decimal(_1) ) -# 672 "Parser.fsy" +# 713 "Parser.fsy" : 'gentype_rawConstant)); -# 3754 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3986 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> int in Microsoft.FSharp.Core.Operators.box ( ( -# 673 "Parser.fsy" +# 714 "Parser.fsy" SynConst.Int32(_1) ) -# 673 "Parser.fsy" +# 714 "Parser.fsy" : 'gentype_rawConstant)); -# 3765 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 3997 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> int64 in Microsoft.FSharp.Core.Operators.box ( ( -# 674 "Parser.fsy" +# 715 "Parser.fsy" SynConst.Int64(_1) ) -# 674 "Parser.fsy" +# 715 "Parser.fsy" : 'gentype_rawConstant)); -# 3776 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4008 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 675 "Parser.fsy" +# 716 "Parser.fsy" SynConst.Bool(true) ) -# 675 "Parser.fsy" +# 716 "Parser.fsy" : 'gentype_rawConstant)); -# 3786 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4018 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 676 "Parser.fsy" +# 717 "Parser.fsy" SynConst.Bool(false) ) -# 676 "Parser.fsy" +# 717 "Parser.fsy" : 'gentype_rawConstant)); -# 3796 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4028 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 677 "Parser.fsy" +# 718 "Parser.fsy" SynConst.Nil ) -# 677 "Parser.fsy" +# 718 "Parser.fsy" : 'gentype_rawConstant)); -# 3806 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4038 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 678 "Parser.fsy" +# 719 "Parser.fsy" SynConst.Unit ) -# 678 "Parser.fsy" +# 719 "Parser.fsy" : 'gentype_rawConstant)); -# 3816 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4048 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string in Microsoft.FSharp.Core.Operators.box ( ( -# 680 "Parser.fsy" +# 721 "Parser.fsy" let text = _1 SynConst.Char(parseChar text) ) -# 680 "Parser.fsy" +# 721 "Parser.fsy" : 'gentype_rawConstant)); -# 3828 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4060 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_arg_list_start in @@ -3833,12 +4065,12 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 685 "Parser.fsy" - SynExpr.FunctionDef(_2, false, _3, _4, (lhs parseState)) +# 726 "Parser.fsy" + SynExpr.FunctionDef(_2, FunctionFlags.None, _3, _4, (lhs parseState)) ) -# 685 "Parser.fsy" +# 726 "Parser.fsy" : 'gentype_function_def)); -# 3841 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4073 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_symbol in let _4 = parseState.GetInput(4) :?> 'gentype_arg_list_start in @@ -3846,103 +4078,129 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 687 "Parser.fsy" - SynExpr.FunctionDef(_3, true, _4, _5, (lhs parseState)) +# 728 "Parser.fsy" + SynExpr.FunctionDef(_3, FunctionFlags.Inline, _4, _5, (lhs parseState)) ) -# 687 "Parser.fsy" +# 728 "Parser.fsy" + : 'gentype_function_def)); +# 4086 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _4 = parseState.GetInput(4) :?> 'gentype_symbol in + let _5 = parseState.GetInput(5) :?> 'gentype_arg_list_start in + let _6 = parseState.GetInput(6) :?> 'gentype_expr_list in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 730 "Parser.fsy" + SynExpr.FunctionDef(_4, FunctionFlags.Recursive ||| FunctionFlags.Inline, _5, _6, (lhs parseState)) + ) +# 730 "Parser.fsy" + : 'gentype_function_def)); +# 4099 "Syntax\\FsLexYaccOutput\\Parser.fs" + (fun (parseState : FSharp.Text.Parsing.IParseState) -> + let _3 = parseState.GetInput(3) :?> 'gentype_symbol in + let _4 = parseState.GetInput(4) :?> 'gentype_arg_list_start in + let _5 = parseState.GetInput(5) :?> 'gentype_expr_list in + Microsoft.FSharp.Core.Operators.box + ( + ( +# 732 "Parser.fsy" + SynExpr.FunctionDef(_3, FunctionFlags.Recursive, _4, _5, (lhs parseState)) + ) +# 732 "Parser.fsy" : 'gentype_function_def)); -# 3854 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4112 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_arg_list_start in let _3 = parseState.GetInput(3) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 689 "Parser.fsy" +# 734 "Parser.fsy" SynExpr.LambdaDef(SynLambda(_2, _3, (lhs parseState))) ) -# 689 "Parser.fsy" +# 734 "Parser.fsy" : 'gentype_function_def)); -# 3866 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4124 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_arg_list_start in let _3 = parseState.GetInput(3) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 691 "Parser.fsy" +# 736 "Parser.fsy" SynExpr.LambdaDef(SynLambda(_2, _3, (lhs parseState))) ) -# 691 "Parser.fsy" +# 736 "Parser.fsy" : 'gentype_function_def)); -# 3878 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4136 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_invalid_function_def in Microsoft.FSharp.Core.Operators.box ( ( -# 692 "Parser.fsy" +# 737 "Parser.fsy" _1 ) -# 692 "Parser.fsy" +# 737 "Parser.fsy" : 'gentype_function_def)); -# 3889 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4147 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 697 "Parser.fsy" +# 742 "Parser.fsy" SynExpr.LambdaDef(SynLambda([], [], (lhs parseState))) ) -# 697 "Parser.fsy" +# 742 "Parser.fsy" : 'gentype_invalid_function_def)); -# 3899 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4157 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 700 "Parser.fsy" - SynExpr.FunctionDef(_2, false, [], [], lhs parseState) +# 745 "Parser.fsy" + SynExpr.FunctionDef(_2, FunctionFlags.None, [], [], lhs parseState) ) -# 700 "Parser.fsy" +# 745 "Parser.fsy" : 'gentype_invalid_function_def)); -# 3910 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4168 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_arg_list_start in Microsoft.FSharp.Core.Operators.box ( ( -# 703 "Parser.fsy" +# 748 "Parser.fsy" SynExpr.LambdaDef(SynLambda([], [], (lhs parseState))) ) -# 703 "Parser.fsy" +# 748 "Parser.fsy" : 'gentype_invalid_function_def)); -# 3921 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4179 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_arg_list_start in Microsoft.FSharp.Core.Operators.box ( ( -# 706 "Parser.fsy" - SynExpr.FunctionDef(_2, false, _3, [], (lhs parseState)) +# 751 "Parser.fsy" + SynExpr.FunctionDef(_2, FunctionFlags.None, _3, [], (lhs parseState)) ) -# 706 "Parser.fsy" +# 751 "Parser.fsy" : 'gentype_invalid_function_def)); -# 3933 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4191 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_symbol in let _4 = parseState.GetInput(4) :?> 'gentype_arg_list_start in Microsoft.FSharp.Core.Operators.box ( ( -# 708 "Parser.fsy" - SynExpr.FunctionDef(_3, true, _4, [], (lhs parseState)) +# 753 "Parser.fsy" + SynExpr.FunctionDef(_3, FunctionFlags.Inline, _4, [], (lhs parseState)) ) -# 708 "Parser.fsy" +# 753 "Parser.fsy" : 'gentype_invalid_function_def)); -# 3945 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4203 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_arg_list_start in @@ -3950,52 +4208,52 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 712 "Parser.fsy" +# 757 "Parser.fsy" SynExpr.MacroDef(_2, _3, _4, (lhs parseState)) ) -# 712 "Parser.fsy" +# 757 "Parser.fsy" : 'gentype_macro_def)); -# 3958 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4216 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 715 "Parser.fsy" +# 760 "Parser.fsy" [] ) -# 715 "Parser.fsy" +# 760 "Parser.fsy" : 'gentype_empty_arg_list)); -# 3968 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4226 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 716 "Parser.fsy" +# 761 "Parser.fsy" [] ) -# 716 "Parser.fsy" +# 761 "Parser.fsy" : 'gentype_empty_arg_list)); -# 3978 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4236 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 719 "Parser.fsy" +# 764 "Parser.fsy" [] ) -# 719 "Parser.fsy" +# 764 "Parser.fsy" : 'gentype_arg_list_start)); -# 3988 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4246 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 720 "Parser.fsy" +# 765 "Parser.fsy" [] ) -# 720 "Parser.fsy" +# 765 "Parser.fsy" : 'gentype_arg_list_start)); -# 3998 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4256 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_lparen_or_lbracket in let _2 = parseState.GetInput(2) :?> 'gentype_arg_list in @@ -4003,260 +4261,260 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 721 "Parser.fsy" +# 766 "Parser.fsy" _2 ) -# 721 "Parser.fsy" +# 766 "Parser.fsy" : 'gentype_arg_list_start)); -# 4011 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4269 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_lparen_or_lbracket in let _2 = parseState.GetInput(2) :?> 'gentype_recover in Microsoft.FSharp.Core.Operators.box ( ( -# 722 "Parser.fsy" +# 767 "Parser.fsy" [] ) -# 722 "Parser.fsy" +# 767 "Parser.fsy" : 'gentype_arg_list_start)); -# 4023 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4281 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_recover in Microsoft.FSharp.Core.Operators.box ( ( -# 723 "Parser.fsy" +# 768 "Parser.fsy" [] ) -# 723 "Parser.fsy" +# 768 "Parser.fsy" : 'gentype_arg_list_start)); -# 4034 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4292 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_arg_list in Microsoft.FSharp.Core.Operators.box ( ( -# 725 "Parser.fsy" +# 770 "Parser.fsy" List.rev _1 ) -# 725 "Parser.fsy" +# 770 "Parser.fsy" : 'gentype_arg_list)); -# 4045 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4303 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_arg in Microsoft.FSharp.Core.Operators.box ( ( -# 727 "Parser.fsy" +# 772 "Parser.fsy" [_1] ) -# 727 "Parser.fsy" +# 772 "Parser.fsy" : 'gentype_rev_arg_list)); -# 4056 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4314 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_arg_list in let _2 = parseState.GetInput(2) :?> 'gentype_arg in Microsoft.FSharp.Core.Operators.box ( ( -# 728 "Parser.fsy" +# 773 "Parser.fsy" _2 :: _1 ) -# 728 "Parser.fsy" +# 773 "Parser.fsy" : 'gentype_rev_arg_list)); -# 4068 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4326 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 731 "Parser.fsy" +# 776 "Parser.fsy" InferredArg(_1, lhs parseState) ) -# 731 "Parser.fsy" +# 776 "Parser.fsy" : 'gentype_arg)); -# 4079 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4337 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_arg_in_parens_or_brackets_start in Microsoft.FSharp.Core.Operators.box ( ( -# 732 "Parser.fsy" +# 777 "Parser.fsy" _1 ) -# 732 "Parser.fsy" +# 777 "Parser.fsy" : 'gentype_arg)); -# 4090 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4348 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_arg_in_parens_or_brackets in Microsoft.FSharp.Core.Operators.box ( ( -# 735 "Parser.fsy" +# 780 "Parser.fsy" _2 ) -# 735 "Parser.fsy" +# 780 "Parser.fsy" : 'gentype_arg_in_parens_or_brackets_start)); -# 4101 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4359 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_arg_in_parens_or_brackets in Microsoft.FSharp.Core.Operators.box ( ( -# 736 "Parser.fsy" +# 781 "Parser.fsy" _2 ) -# 736 "Parser.fsy" +# 781 "Parser.fsy" : 'gentype_arg_in_parens_or_brackets_start)); -# 4112 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4370 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in let _3 = parseState.GetInput(3) :?> 'gentype_syntype_ident in Microsoft.FSharp.Core.Operators.box ( ( -# 740 "Parser.fsy" +# 785 "Parser.fsy" TypedArg(_1, _3, lhs parseState) ) -# 740 "Parser.fsy" +# 785 "Parser.fsy" : 'gentype_arg_in_parens_or_brackets)); -# 4124 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4382 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 742 "Parser.fsy" +# 787 "Parser.fsy" InferredArg(_1, lhs parseState) ) -# 742 "Parser.fsy" +# 787 "Parser.fsy" : 'gentype_arg_in_parens_or_brackets)); -# 4135 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4393 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 745 "Parser.fsy" +# 790 "Parser.fsy" SynExpr.FunctionCall(_1, _2, (lhs parseState)) ) -# 745 "Parser.fsy" +# 790 "Parser.fsy" : 'gentype_function_call)); -# 4147 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4405 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 746 "Parser.fsy" +# 791 "Parser.fsy" SynExpr.FunctionCall(_1, [], (lhs parseState)) ) -# 746 "Parser.fsy" +# 791 "Parser.fsy" : 'gentype_function_call)); -# 4158 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4416 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_empty_call_args in Microsoft.FSharp.Core.Operators.box ( ( -# 749 "Parser.fsy" +# 794 "Parser.fsy" _1 ) -# 749 "Parser.fsy" +# 794 "Parser.fsy" : 'gentype_function_call_args)); -# 4169 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4427 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 750 "Parser.fsy" +# 795 "Parser.fsy" _1 ) -# 750 "Parser.fsy" +# 795 "Parser.fsy" : 'gentype_function_call_args)); -# 4180 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4438 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 753 "Parser.fsy" +# 798 "Parser.fsy" [] ) -# 753 "Parser.fsy" +# 798 "Parser.fsy" : 'gentype_empty_call_args)); -# 4190 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4448 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in let _3 = parseState.GetInput(3) :?> 'gentype_match_list in Microsoft.FSharp.Core.Operators.box ( ( -# 757 "Parser.fsy" +# 802 "Parser.fsy" SynExpr.Match (_2, _3, lhs parseState) ) -# 757 "Parser.fsy" +# 802 "Parser.fsy" : 'gentype_match_expr)); -# 4202 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4460 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_expr in Microsoft.FSharp.Core.Operators.box ( ( -# 760 "Parser.fsy" +# 805 "Parser.fsy" let r = lhs parseState; SynExpr.Match (_2, [], r) ) -# 760 "Parser.fsy" +# 805 "Parser.fsy" : 'gentype_match_expr)); -# 4214 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4472 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> Microsoft.FSharp.Core.Operators.box ( ( -# 764 "Parser.fsy" +# 809 "Parser.fsy" let r = lhs parseState; SynExpr.Match (Syntax.parserRecoveryExpr r, [], r) ) -# 764 "Parser.fsy" +# 809 "Parser.fsy" : 'gentype_match_expr)); -# 4225 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4483 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_match_list in Microsoft.FSharp.Core.Operators.box ( ( -# 767 "Parser.fsy" +# 812 "Parser.fsy" List.rev _1 ) -# 767 "Parser.fsy" +# 812 "Parser.fsy" : 'gentype_match_list)); -# 4236 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4494 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_match_start in Microsoft.FSharp.Core.Operators.box ( ( -# 769 "Parser.fsy" +# 814 "Parser.fsy" [_1] ) -# 769 "Parser.fsy" +# 814 "Parser.fsy" : 'gentype_rev_match_list)); -# 4247 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4505 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_match_list in let _2 = parseState.GetInput(2) :?> 'gentype_match_start in Microsoft.FSharp.Core.Operators.box ( ( -# 770 "Parser.fsy" +# 815 "Parser.fsy" _2 :: _1 ) -# 770 "Parser.fsy" +# 815 "Parser.fsy" : 'gentype_rev_match_list)); -# 4259 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4517 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_lparen_or_lbracket in let _2 = parseState.GetInput(2) :?> 'gentype_match in @@ -4264,38 +4522,38 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 773 "Parser.fsy" +# 818 "Parser.fsy" _2 ) -# 773 "Parser.fsy" +# 818 "Parser.fsy" : 'gentype_match_start)); -# 4272 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4530 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_lparen_or_lbracket in let _2 = parseState.GetInput(2) :?> 'gentype_rparen_or_rbracket in Microsoft.FSharp.Core.Operators.box ( ( -# 775 "Parser.fsy" +# 820 "Parser.fsy" Syntax.parserRecoveryMatch (lhs parseState) ) -# 775 "Parser.fsy" +# 820 "Parser.fsy" : 'gentype_match_start)); -# 4286 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4544 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_match_pattern in let _2 = parseState.GetInput(2) :?> 'gentype_expr_list in Microsoft.FSharp.Core.Operators.box ( ( -# 781 "Parser.fsy" +# 826 "Parser.fsy" SynMatch.SynMatch(_1, None, _2, lhs parseState) ) -# 781 "Parser.fsy" +# 826 "Parser.fsy" : 'gentype_match)); -# 4298 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4556 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_match_pattern in let _4 = parseState.GetInput(4) :?> 'gentype_expr in @@ -4303,87 +4561,87 @@ let _fsyacc_reductions = lazy [| Microsoft.FSharp.Core.Operators.box ( ( -# 784 "Parser.fsy" +# 829 "Parser.fsy" SynMatch.SynMatch(_1, Some(_4), _6, lhs parseState) ) -# 784 "Parser.fsy" +# 829 "Parser.fsy" : 'gentype_match)); -# 4311 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4569 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_match_tuple_list in Microsoft.FSharp.Core.Operators.box ( ( -# 786 "Parser.fsy" +# 831 "Parser.fsy" List.rev _1 ) -# 786 "Parser.fsy" +# 831 "Parser.fsy" : 'gentype_match_tuple_list)); -# 4322 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4580 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_match_pattern in Microsoft.FSharp.Core.Operators.box ( ( -# 788 "Parser.fsy" +# 833 "Parser.fsy" [_1] ) -# 788 "Parser.fsy" +# 833 "Parser.fsy" : 'gentype_rev_match_tuple_list)); -# 4333 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4591 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_match_tuple_list in let _3 = parseState.GetInput(3) :?> 'gentype_match_pattern in Microsoft.FSharp.Core.Operators.box ( ( -# 789 "Parser.fsy" +# 834 "Parser.fsy" _3 :: (SynMatchPattern.CommaOrDot (rhs parseState 2)) :: _1 ) -# 789 "Parser.fsy" +# 834 "Parser.fsy" : 'gentype_rev_match_tuple_list)); -# 4345 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4603 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_match_tuple_list in let _3 = parseState.GetInput(3) :?> 'gentype_match_pattern in Microsoft.FSharp.Core.Operators.box ( ( -# 790 "Parser.fsy" +# 835 "Parser.fsy" _3 :: (SynMatchPattern.CommaOrDot (rhs parseState 2)) :: _1 ) -# 790 "Parser.fsy" +# 835 "Parser.fsy" : 'gentype_rev_match_tuple_list)); -# 4357 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4615 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_rev_match_tuple_list in let _2 = parseState.GetInput(2) :?> 'gentype_match_pattern in Microsoft.FSharp.Core.Operators.box ( ( -# 791 "Parser.fsy" +# 836 "Parser.fsy" _2 :: _1 ) -# 791 "Parser.fsy" +# 836 "Parser.fsy" : 'gentype_rev_match_tuple_list)); -# 4369 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4627 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_constant in Microsoft.FSharp.Core.Operators.box ( ( -# 794 "Parser.fsy" +# 839 "Parser.fsy" SynMatchPattern.Const(fst _1, snd _1) ) -# 794 "Parser.fsy" +# 839 "Parser.fsy" : 'gentype_match_pattern)); -# 4380 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4638 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> 'gentype_symbol in Microsoft.FSharp.Core.Operators.box ( ( -# 795 "Parser.fsy" +# 840 "Parser.fsy" let text = _1 if ((Syntax.textOfSymbol text) = "_") then @@ -4391,26 +4649,26 @@ let _fsyacc_reductions = lazy [| else SynMatchPattern.Symbol (text, lhs parseState) ) -# 795 "Parser.fsy" +# 840 "Parser.fsy" : 'gentype_match_pattern)); -# 4396 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4654 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _3 = parseState.GetInput(3) :?> 'gentype_match_tuple_list in Microsoft.FSharp.Core.Operators.box ( ( -# 802 "Parser.fsy" +# 847 "Parser.fsy" SynMatchPattern.Tuple (Syntax.withoutCommaOrDots _3, lhs parseState) ) -# 802 "Parser.fsy" +# 847 "Parser.fsy" : 'gentype_match_pattern)); -# 4407 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4665 "Syntax\\FsLexYaccOutput\\Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _2 = parseState.GetInput(2) :?> 'gentype_match_tuple_list in Microsoft.FSharp.Core.Operators.box ( ( -# 804 "Parser.fsy" +# 849 "Parser.fsy" let items = _2 let without = Syntax.withoutCommaOrDots items @@ -4420,10 +4678,10 @@ let _fsyacc_reductions = lazy [| SynMatchPattern.List (without, lhs parseState) ) -# 804 "Parser.fsy" +# 849 "Parser.fsy" : 'gentype_match_pattern)); |] -# 4426 "Syntax\\FsLexYaccOutput\\Parser.fs" +# 4684 "Syntax\\FsLexYaccOutput\\Parser.fs" let tables : FSharp.Text.Parsing.Tables<_> = { reductions = _fsyacc_reductions.Value; endOfInputTag = _fsyacc_endOfInputTag; @@ -4442,7 +4700,7 @@ let tables : FSharp.Text.Parsing.Tables<_> = match parse_error_rich with | Some f -> f ctxt | None -> parse_error ctxt.Message); - numTerminals = 79; + numTerminals = 84; productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable } let engine lexer lexbuf startState = tables.Interpret(lexer, lexbuf, startState) let raw_expr lexer lexbuf : SynExpr = diff --git a/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fsi b/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fsi index eae4395..f163a8d 100644 --- a/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fsi +++ b/src/Visp.Compiler/Syntax/FsLexYaccOutput/Parser.fsi @@ -9,13 +9,17 @@ type token = | CHAR of (string) | MACRO_NAME of (string) | PROP_PLUS of (string) + | HASH_IDENT of (string) | DECIMAL of (decimal) | INT64 of (int64) | INT32 of (int) | INLINE + | REC | THREAD_FIRST | THREAD_LAST | SYNTAX_MACRO + | SEQ + | YIELD | ATOM_KW | DEREF_KW | WHILE @@ -28,6 +32,7 @@ type token = | WHEN | CONS | CONCAT + | REQUIRE | FN | FNSTAR | LET @@ -86,13 +91,17 @@ type tokenId = | TOKEN_CHAR | TOKEN_MACRO_NAME | TOKEN_PROP_PLUS + | TOKEN_HASH_IDENT | TOKEN_DECIMAL | TOKEN_INT64 | TOKEN_INT32 | TOKEN_INLINE + | TOKEN_REC | TOKEN_THREAD_FIRST | TOKEN_THREAD_LAST | TOKEN_SYNTAX_MACRO + | TOKEN_SEQ + | TOKEN_YIELD | TOKEN_ATOM_KW | TOKEN_DEREF_KW | TOKEN_WHILE @@ -105,6 +114,7 @@ type tokenId = | TOKEN_WHEN | TOKEN_CONS | TOKEN_CONCAT + | TOKEN_REQUIRE | TOKEN_FN | TOKEN_FNSTAR | TOKEN_LET @@ -168,6 +178,9 @@ type nonTerminalId = | NONTERM_module_decls | NONTERM_rev_module_decls | NONTERM_module_decl + | NONTERM_hash_ident_args + | NONTERM_rev_hash_ident_args + | NONTERM_hash_ident_arg | NONTERM_module_parens | NONTERM_module_help | NONTERM_expr_list @@ -179,6 +192,8 @@ type nonTerminalId = | NONTERM_vector_start | NONTERM_inside_parens | NONTERM_parens_expr_start + | NONTERM_dotted_exprs + | NONTERM_rev_dotted_exprs | NONTERM_parens_expr | NONTERM_macro_call_expr | NONTERM_macro_call diff --git a/src/Visp.Compiler/Syntax/LexHelpers.fs b/src/Visp.Compiler/Syntax/LexHelpers.fs index 672293f..0035e5b 100644 --- a/src/Visp.Compiler/Syntax/LexHelpers.fs +++ b/src/Visp.Compiler/Syntax/LexHelpers.fs @@ -149,13 +149,17 @@ let keywordTokenList = ("override", OVERRIDE) ("quasiquote", QUASIQUOTE_KW) ("quote", QUOTE_KW) + ("rec", REC) + ("require", REQUIRE) ("set!", SET) + ("seq", SEQ) ("splice-unquote", SPLICE_UNQUOTE_KW) ("syntax-macro", SYNTAX_MACRO) ("type", TYPE) ("unquote", UNQUOTE_KW) ("when", WHEN) - ("while", WHILE) ] + ("while", WHILE) + ("yield", YIELD) ] let keywordToTokenMap = keywordTokenList |> Map.ofList diff --git a/src/Visp.Compiler/Syntax/SynWriter.fs b/src/Visp.Compiler/Syntax/SynWriter.fs index cad8519..d477342 100644 --- a/src/Visp.Compiler/Syntax/SynWriter.fs +++ b/src/Visp.Compiler/Syntax/SynWriter.fs @@ -170,7 +170,7 @@ module Write = if should then w.writer.Indent() else w.writer.DoNotIndent() - let reservedWords = [ "then"; "done"; "val"; "end"; "begin" ] |> Set.ofList + let reservedWords = [ "then"; "done"; "val"; "end"; "begin"; "mod" ] |> Set.ofList let escapableChars = [ '?'; '-'; '+'; '*'; '/'; '!'; ':' ] |> Set.ofList @@ -429,28 +429,42 @@ module Write = writeBody w writeExpr body () + | SynExpr.FsYield(expr, range) -> + startExpr w st range + string w "yield " + writeExprInParens w WriteState.Inline expr + + | SynExpr.FsSeq(exprs, range) -> + startExpr w st range + string w "seq {" + writeBody w writeExpr exprs + string w "}" + | SynExpr.RangeExpr(start, mid, last, range) -> startExpr w st range - writeExpr w WriteState.Inline start + writeExprInParens w WriteState.Inline start string w " .. " match mid with | Some(mid) -> - writeExpr w WriteState.Inline mid + writeExprInParens w WriteState.Inline mid string w " .. " | None -> () - writeExpr w WriteState.Inline last + writeExprInParens w WriteState.Inline last () - | SynExpr.FunctionDef(name_, isInline, args, body, range) -> + | SynExpr.FunctionDef(name_, flags, args, body, range) -> startExpr w st range string w "let " - if isInline then + if flags.HasFlag(FunctionFlags.Recursive) then + string w "rec " + + if flags.HasFlag(FunctionFlags.Inline) then string w "inline " symbol w name_ true @@ -484,7 +498,9 @@ module Write = | SynExpr.Begin(expr, range) -> startExpr w st range + char w '(' writeBody w writeExpr expr + char w ')' | SynExpr.If(cond, thn, alt, range) -> use _ = startNewlineExpr w st range @@ -1171,6 +1187,21 @@ module Write = match decls with | decl :: rest -> match decl with + | SynModuleDecl.HashDirective (ParsedHashDirective (ident, args, r), _) -> + indent w + lineof w r + indent w + fmtprintf w "#%s" ident + for arg in args do + space w + match arg with + | ParsedHashDirectiveArgument.String (it, _, _) -> + char w '"' + string w it + char w '"' + () + | SynModuleDecl.ModuleAbbrev _ -> () + | SynModuleDecl.Require _ -> () | SynModuleDecl.Expr(ex, _) -> writeExpr w WriteState.Body (expandExpr ex) | SynModuleDecl.Open(target, range) -> indent w @@ -1188,7 +1219,6 @@ module Write = writeModuleDecls w decls - | _ -> failwith "unsupported" newline w diff --git a/src/Visp.Compiler/Syntax/Syntax.fs b/src/Visp.Compiler/Syntax/Syntax.fs index 3674394..46053f9 100644 --- a/src/Visp.Compiler/Syntax/Syntax.fs +++ b/src/Visp.Compiler/Syntax/Syntax.fs @@ -99,6 +99,12 @@ type SynOpenDeclTarget = | ModuleOrNamespace(range = m) -> m | Type(range = m) -> m +[] +type FunctionFlags = + | None = 0 + | Inline = 1 + | Recursive = 2 + [] type SynExpr = // special operator application @@ -109,7 +115,7 @@ type SynExpr = | SyntaxMacro of macro: SynMacro | FunctionDef of name: SynSymbol * - isInline: bool * + flags: FunctionFlags * args: SynArg list * body: SynExpr list * range: range @@ -137,6 +143,8 @@ type SynExpr = | FsMap of exprs: SynExpr list * range: range | FsSet of exprs: SynExpr list * range: range | FsVec of exprs: SynExpr list * range: range + | FsSeq of exprs: SynExpr list * range: range + | FsYield of expr: SynExpr * range: range | List of exprs: SynExpr list * range: range | Vector of exprs: SynExpr list * range: range | HashMap of exprs: SynExpr list * range: range @@ -191,6 +199,8 @@ type SynExpr = | FsArray(range = r) | FsSet(range = r) | FsVec(range = r) + | FsSeq(range = r) + | FsYield(range = r) | List(range = r) | Vector(range = r) | HashMap(range = r) @@ -412,6 +422,17 @@ module Syntax = let symbolTextEquals (a: SynSymbol) b = a.TextEquals b +[] +type ParsedHashDirectiveArgument = + | String of value: string * stringKind: SynStringKind * range: range + + member this.Range = + match this with + | String(range = m) -> m + +[] +type ParsedHashDirective = ParsedHashDirective of ident: string * args: ParsedHashDirectiveArgument list * range: range + [] type SynModuleDecl = | ModuleAbbrev of ident: Ident * longId: LongIdent * range: range @@ -431,18 +452,21 @@ type SynModuleDecl = | Open of target: SynSymbol * range: range + | Require of target: SynSymbol * version: string * range: range // | Attributes of attributes: SynAttributes * range: range - // | HashDirective of hashDirective: ParsedHashDirective * range: range + | HashDirective of hashDirective: ParsedHashDirective * range: range // | NamespaceFragment of fragment: SynModuleOrNamespace member d.Range = match d with + | SynModuleDecl.HashDirective(range = m) | SynModuleDecl.ModuleAbbrev(range = m) | SynModuleDecl.NestedModule(range = m) | SynModuleDecl.Expr(range = m) + | SynModuleDecl.Require(range = m) | SynModuleDecl.Open(range = m) -> m // | SynModuleDecl.Let (range = m) diff --git a/src/Visp.Compiler/Transforms/Helpers.fs b/src/Visp.Compiler/Transforms/Helpers.fs index f5e0f8d..40ec0ed 100644 --- a/src/Visp.Compiler/Transforms/Helpers.fs +++ b/src/Visp.Compiler/Transforms/Helpers.fs @@ -61,8 +61,6 @@ let rec transform (func: SynExpr -> SynExpr) expr = SynExpr.Cons(bound_transform lhs, bound_transform rhs, range) | SynExpr.Concat(lhs, rhs, range) -> SynExpr.Concat(bound_transform lhs, bound_transform rhs, range) - // | SynExpr.Value(lhs, range) -> SynExpr.Value(bound_transform lhs, range) - // | SynExpr.UnwrapList(lhs, range) -> SynExpr.UnwrapList(bound_transform lhs, range) | SynExpr.Atom(expr, range) -> SynExpr.Atom(bound_transform expr, range) | SynExpr.Deref(short, expr, range) -> SynExpr.Deref(short, bound_transform expr, range) | SynExpr.Begin(exprs, range) -> SynExpr.Begin(List.map bound_transform exprs, range) @@ -76,6 +74,8 @@ let rec transform (func: SynExpr -> SynExpr) expr = | SynExpr.Pair(lhs, rhs, range) -> SynExpr.Pair(bound_transform lhs, bound_transform rhs, range) | SynExpr.Tuple(exprs, range) -> SynExpr.Tuple(List.map bound_transform exprs, range) + | SynExpr.FsYield(exprs, range) -> SynExpr.FsYield(bound_transform exprs, range) + | SynExpr.FsSeq(exprs, range) -> SynExpr.FsSeq(List.map bound_transform exprs, range) | SynExpr.FsSet(exprs, range) -> SynExpr.FsSet(List.map bound_transform exprs, range) | SynExpr.FsArray(exprs, range) -> SynExpr.FsArray(List.map bound_transform exprs, range) | SynExpr.FsMap(exprs, range) -> SynExpr.FsMap(List.map bound_transform exprs, range) @@ -124,7 +124,6 @@ let rec transform (func: SynExpr -> SynExpr) expr = )), range ) - //SynExpr.Match(bound_transform expr, pats, cond |> Option.map bound_transform, range) | SynExpr.Type(name, args, members, range) -> let tfmember = function @@ -151,13 +150,42 @@ let runTransforms (tfs: (SynExpr -> SynExpr) seq) (expr: SynExpr) = let flip f a b = f b a tfs |> Seq.fold (flip transform) expr +type Require = Require of name: string * version: string + +let getAllRequires (file: ParsedFile) = + let results = ResizeArray<_>() + + let rec transformModuleDecl (res: ResizeArray<_>) (decl: SynModuleDecl) = + + match decl with + | SynModuleDecl.HashDirective _ -> () + | SynModuleDecl.Expr _ -> () + | SynModuleDecl.Open _ -> () + | SynModuleDecl.Require(name, ver, _) -> res.Add(Require(Syntax.textOfSymbol name, ver)) + | SynModuleDecl.ModuleAbbrev _ -> () + | SynModuleDecl.NestedModule(_, decls, _) -> List.iter (transformModuleDecl res) decls + + () + + let transformFragment res (frag: ParsedFileFragment) = + let (ParsedFileFragment.AnonModule(decls, _)) = frag + List.iter (transformModuleDecl res) decls + () + + let (ParsedFile(fragments)) = file + List.iter (transformFragment results) fragments + + results |> Set.ofSeq + let transformParsedFile (func: SynExpr -> SynExpr) (file: ParsedFile) = let bound_transform = transform func let rec transformModuleDecl (decl: SynModuleDecl) = match decl with | SynModuleDecl.Expr(ex, r) -> SynModuleDecl.Expr(bound_transform ex, r) + | SynModuleDecl.HashDirective _ as it -> it | SynModuleDecl.Open _ as it -> it + | SynModuleDecl.Require _ as it -> it | SynModuleDecl.ModuleAbbrev _ as it -> it | SynModuleDecl.NestedModule(name, decls, range) -> SynModuleDecl.NestedModule(name, List.map transformModuleDecl decls, range) From 7abaa041b5de3c2947b0fdffa7f6f16af6df0ea2 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:06:05 +0200 Subject: [PATCH 2/9] Add support for additional completions & symbols --- src/Visp.LanguageServer/LanguageServer.fs | 243 ++++++++++++++-------- 1 file changed, 152 insertions(+), 91 deletions(-) diff --git a/src/Visp.LanguageServer/LanguageServer.fs b/src/Visp.LanguageServer/LanguageServer.fs index 921c5b5..3ddadf0 100644 --- a/src/Visp.LanguageServer/LanguageServer.fs +++ b/src/Visp.LanguageServer/LanguageServer.fs @@ -128,15 +128,20 @@ type SymbolDetails = | FsharpMethod of text: string * details: string * range: Range | Interop of text: string * range: Range | Function of text: string * range: Range - | Variable of text: string * range: Range + | Variable of text: string * mut: bool * range: Range + | Type of text: string * range: Range + | Member of text: string * fn: bool * range: Range | Parameter of text: string * range: Range | Symbol of text: string * range: Range member this.Text = match this with | FsharpMethod(text = it) - | Interop(text = it) | Function(text = it) + | Interop(text = it) + | Variable(text = it) + | Type(text = it) + | Member(text = it) | Variable(text = it) | Symbol(text = it) | Parameter(text = it) -> it @@ -146,6 +151,8 @@ type SymbolDetails = | FsharpMethod(range = it) | Function(range = it) | Interop(range = it) + | Member(range = it) + | Type(range = it) | Symbol(range = it) | Variable(range = it) | Parameter(range = it) -> it @@ -158,55 +165,153 @@ type SymbolDetails = | Symbol _ -> SymbolKind.Method | Variable _ -> SymbolKind.Variable | Parameter _ -> SymbolKind.Field + | Type _ -> SymbolKind.Class + | Member(fn = fn) -> if fn then SymbolKind.Method else SymbolKind.Field - member this.ToCompletionItem(index: int) = - let item = new CompletionItem() + member this.CompletionItemKind = + match this with + | FsharpMethod _ -> CompletionItemKind.Method + | Function _ -> CompletionItemKind.Function + | Interop _ -> CompletionItemKind.Operator + | Symbol _ -> CompletionItemKind.Method + | Variable _ -> CompletionItemKind.Variable + | Parameter _ -> CompletionItemKind.Field + | Type _ -> CompletionItemKind.Class + | Member(fn = fn) -> + if fn then + CompletionItemKind.Method + else + CompletionItemKind.Field + + member this.SortPrefix = + match this with + | FsharpMethod _ -> "44444" + | Interop _ -> "44444" + | Function _ -> "44444" + | Variable _ -> "44444" + | Type _ -> "44444" + | Member _ -> "44444" + | Parameter _ -> "44444" + | Symbol _ -> "44444" + + member this.SortText = this.SortPrefix + this.Text + + member this.Label = + match this with + | Interop(it, _) -> it.TrimStart('!') + | _ -> this.Text + + member this.InsertText = + match this with + | Interop(it, _) -> it + | _ -> null + member this.Detail = match this with - | FsharpMethod(it, sg, _) -> - item.Kind <- CompletionItemKind.Method - item.Label <- it - item.SortText <- "44444" + it - item.Detail <- sg - item.Data <- index - - | Interop(it, _) -> - item.Kind <- CompletionItemKind.Macro - item.Label <- it.TrimStart('!') - item.InsertText <- it.TrimStart('!') - item.SortText <- "55555" + it - item.Detail <- "F# helper" - item.Data <- index - - | Symbol(it, _) -> - item.Kind <- CompletionItemKind.Reference - item.Label <- it - item.SortText <- "33333" + it - item.Detail <- "method" - item.Data <- index - - | Function(it, _) -> - item.Kind <- CompletionItemKind.Function - item.Label <- it - item.SortText <- "22222" + it - item.Detail <- "function" - item.Data <- index - - | Variable(it, _) -> - item.Kind <- CompletionItemKind.Variable - item.Label <- it - item.SortText <- "11111" + it - item.Detail <- "variable" - item.Data <- index - | Parameter(it, _) -> - item.Kind <- CompletionItemKind.TypeParameter - item.Label <- it - item.SortText <- "00000" + it - item.Detail <- "parameter" - item.Data <- index + | FsharpMethod(_, sg, _) -> sg + | Interop _ -> "F# interop" + | Symbol _ -> "symbol" + | Function _ -> "function" + | Variable(mut = mut) -> if mut then "mutable" else "variable" + | Parameter _ -> "parameter" + | Type _ -> "type" + | Member(fn = fn) -> if fn then "member function" else "member" + + member this.ToCompletionItem(index: int) = + let item = new CompletionItem() + item.SortText <- this.SortText + item.Label <- this.Label + item.InsertText <- this.InsertText + item.Kind <- this.CompletionItemKind + item.Data <- index + item.Detail <- this.Detail item +let findAllSymbolDetails (syms: ResizeArray<_>) expr = + match expr with + | SynExpr.FunctionCall(SynExpr.Symbol sym, _, _) -> + let r = Syntax.rangeOfSymbol sym + syms.Add(SymbolDetails.Symbol(Syntax.textOfSymbol sym, textRangeToSyntaxRange r)) + | SynExpr.FunctionDef(name, _, args, _, _) -> + + let r = Syntax.rangeOfSymbol name + + syms.Add(SymbolDetails.Function(Syntax.textOfSymbol name, textRangeToSyntaxRange r)) + + syms.AddRange( + List.map + (fun x -> (Syntax.textOfArg x, Syntax.rangeOfArg x |> textRangeToSyntaxRange)) + args + |> List.map SymbolDetails.Parameter + ) + + | SynExpr.Type(name, _, members, _) -> + syms.Add( + SymbolDetails.Type( + Syntax.textOfSymbol name, + Syntax.rangeOfSymbol name |> textRangeToSyntaxRange + ) + ) + + syms.AddRange( + members + |> List.choose (function + | SynTypeMember.OverrideMember(name = name) -> + Some( + (SymbolDetails.Member( + Syntax.textOfSymbol name, + false, + Syntax.rangeOfSymbol name |> textRangeToSyntaxRange + )) + ) + | SynTypeMember.Member(name = name) -> + Some( + (SymbolDetails.Member( + Syntax.textOfSymbol name, + false, + Syntax.rangeOfSymbol name |> textRangeToSyntaxRange + )) + ) + | SynTypeMember.OverrideFn(name = name) -> + Some( + (SymbolDetails.Member( + Syntax.textOfSymbol name, + true, + Syntax.rangeOfSymbol name |> textRangeToSyntaxRange + )) + ) + | SynTypeMember.MemberFn(name = name) -> + Some( + (SymbolDetails.Member( + Syntax.textOfSymbol name, + true, + Syntax.rangeOfSymbol name |> textRangeToSyntaxRange + )) + ) + | _ -> None) + ) + + | SynExpr.SimpleMut(name, _, _) -> + syms.Add( + SymbolDetails.Variable( + Syntax.textOfName name, + true, + Syntax.rangeOfName name |> textRangeToSyntaxRange + ) + ) + | SynExpr.SimpleLet(name, _, _) -> + syms.Add( + SymbolDetails.Variable( + Syntax.textOfName name, + false, + Syntax.rangeOfName name |> textRangeToSyntaxRange + ) + ) + | _ -> () + + expr + let commonFsharpCollectionMethods = Runtime.Library.CompileHelpers.getFsharpListMethods () @@ -278,58 +383,14 @@ type VispDocumentItem = let syms = ResizeArray() - Transforms.Helpers.transformParsedFile - (fun expr -> - match expr with - | SynExpr.FunctionCall(SynExpr.Symbol sym, _, _) -> - let r = Syntax.rangeOfSymbol sym - - syms.Add( - SymbolDetails.Symbol(Syntax.textOfSymbol sym, textRangeToSyntaxRange r) - ) - - () - | SynExpr.FunctionDef(name, _, args, _, _) -> - - let r = Syntax.rangeOfSymbol name - - syms.Add( - SymbolDetails.Function( - Syntax.textOfSymbol name, - textRangeToSyntaxRange r - ) - ) - - syms.AddRange( - List.map - (fun x -> - (Syntax.textOfArg x, - Syntax.rangeOfArg x |> textRangeToSyntaxRange)) - args - |> List.map SymbolDetails.Parameter - ) - - () - - - | SynExpr.SimpleLet(name, _, _) -> - syms.Add( - SymbolDetails.Variable( - Syntax.textOfName name, - Syntax.rangeOfName name |> textRangeToSyntaxRange - ) - ) - - | _ -> () - - expr) - file + Transforms.Helpers.transformParsedFile (findAllSymbolDetails syms) file |> ignore this.symbols <- Some(syms.ToArray()) // TODO: Resilient parsing with ex -> eprintfn "Failed to parse: %O" ex + this.symbols <- Some([||]) () () From a7b10af8640294204ebca6334cf24a04c00b39bc Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:15:23 +0200 Subject: [PATCH 3/9] Add Visp.ExecutionTests These run the actual files under visp/tests and write the output to a snapshot. Some of the actual test files had problems which have now been fixed. --- .nuke/build.schema.json | 13 +- build/Build.cs | 166 ++++++++++- build/_build.csproj | 6 +- src/Visp.Cli/CliMain.fs | 24 +- src/Visp.Common/Visp.Common.csproj | 2 + src/Visp.Compiler/FsharpGenerator.fs | 139 ++++++++- src/Visp.Runtime.Library/CoreMethods.fs | 6 + src/Visp.Runtime.Library/Value.fs | 2 +- .../ParsingTests.generated.fs | 280 ++++++++++++------ tests/Visp.Compiler.UnitTests/TestUtils.fs | 2 +- ...e files_name=atom_atom-0.visp.verified.txt | 28 -- ...ple files_name=example-0.visp.verified.txt | 19 -- ...ple files_name=example-1.visp.verified.txt | 38 --- ...le files_name=example-10.visp.verified.txt | 25 -- ...le files_name=example-11.visp.verified.txt | 28 -- ...le files_name=example-12.visp.verified.txt | 24 -- ...le files_name=example-13.visp.verified.txt | 24 -- ...le files_name=example-14.visp.verified.txt | 36 --- ...le files_name=example-15.visp.verified.txt | 27 -- ...le files_name=example-16.visp.verified.txt | 38 --- ...le files_name=example-17.visp.verified.txt | 21 -- ...ple files_name=example-2.visp.verified.txt | 21 -- ...ple files_name=example-3.visp.verified.txt | 21 -- ...ple files_name=example-4.visp.verified.txt | 31 -- ...ple files_name=example-5.visp.verified.txt | 38 --- ...ple files_name=example-6.visp.verified.txt | 23 -- ...ple files_name=example-7.visp.verified.txt | 27 -- ...ple files_name=example-8.visp.verified.txt | 24 -- ...ple files_name=example-9.visp.verified.txt | 30 -- ...s_name=hashmap_hashmap-0.visp.verified.txt | 22 -- ...s_name=hashset_hashset-0.visp.verified.txt | 18 -- ...ample files_name=if_if-0.visp.verified.txt | 33 --- ...me=tests_parsing_match-0.visp.verified.txt | 39 --- ...=tests_quotation_quote-0.visp.verified.txt | 45 --- ...files_name=while_while-0.visp.verified.txt | 28 -- ...ple files_name=example-0.visp.verified.txt | 24 -- ...ple files_name=example-1.visp.verified.txt | 49 --- ...le files_name=example-10.visp.verified.txt | 33 --- ...le files_name=example-11.visp.verified.txt | 36 --- ...le files_name=example-12.visp.verified.txt | 32 -- ...le files_name=example-13.visp.verified.txt | 48 --- ...le files_name=example-14.visp.verified.txt | 64 ---- ...le files_name=example-15.visp.verified.txt | 19 -- ...le files_name=example-16.visp.verified.txt | 33 --- ...ple files_name=example-2.visp.verified.txt | 27 -- ...ple files_name=example-3.visp.verified.txt | 26 -- ...ple files_name=example-4.visp.verified.txt | 39 --- ...ple files_name=example-5.visp.verified.txt | 60 ---- ...ple files_name=example-6.visp.verified.txt | 29 -- ...ple files_name=example-7.visp.verified.txt | 35 --- ...ple files_name=example-8.visp.verified.txt | 34 --- ...ple files_name=example-9.visp.verified.txt | 51 ---- ... tests_atom_atom-0.can parse.verified.txt} | 24 +- ...ltin-macros_cond-0.can parse.verified.txt} | 0 ...ros_thread-first-0.can parse.verified.txt} | 0 ...ros_thread-first-1.can parse.verified.txt} | 0 ...cros_thread-last-0.can parse.verified.txt} | 0 ...tests_chars_char-0.can parse.verified.txt} | 0 ...dot_dot-shorthands.can parse.verified.txt} | 0 ...examples_example-0.can parse.verified.txt} | 0 ...examples_example-1.can parse.verified.txt} | 0 ...xamples_example-10.can parse.verified.txt} | 18 +- ...xamples_example-11.can parse.verified.txt} | 0 ...xamples_example-12.can parse.verified.txt} | 0 ...xamples_example-13.can parse.verified.txt} | 0 ...xamples_example-14.can parse.verified.txt} | 0 ...xamples_example-15.can parse.verified.txt} | 0 ...xamples_example-16.can parse.verified.txt} | 0 ...xamples_example-17.can parse.verified.txt} | 0 ...examples_example-2.can parse.verified.txt} | 0 ...examples_example-3.can parse.verified.txt} | 0 ...examples_example-4.can parse.verified.txt} | 0 ...examples_example-5.can parse.verified.txt} | 0 ...examples_example-6.can parse.verified.txt} | 0 ...examples_example-7.can parse.verified.txt} | 16 +- ...examples_example-8.can parse.verified.txt} | 0 ...examples_example-9.can parse.verified.txt} | 0 ...amples_variables-0.can parse.verified.txt} | 0 ...ts_for-in_for-in-0.can parse.verified.txt} | 2 +- ...ts_for-in_for-in-1.can parse.verified.txt} | 0 ...ts_for-in_for-in-2.can parse.verified.txt} | 0 ...ts_for-in_for-in-3.can parse.verified.txt} | 0 ...ts_for-in_for-in-4.can parse.verified.txt} | 0 ..._hashmap_hashmap-0.can parse.verified.txt} | 0 ..._hashset_hashset-0.can parse.verified.txt} | 0 ...t => tests_if_if-0.can parse.verified.txt} | 0 ...ros_syntax-macro-0.can parse.verified.txt} | 16 +- ...ests_numbers_int-0.can parse.verified.txt} | 0 ...lambda-shorthand-0.can parse.verified.txt} | 0 ...parsing_let-values.can parse.verified.txt} | 2 +- ...ts_parsing_match-0.can parse.verified.txt} | 0 ...ests_parsing_props.can parse.verified.txt} | 0 ..._parsing_strings-0.can parse.verified.txt} | 0 ...ts_parsing_tuple-0.can parse.verified.txt} | 0 ..._quotation_quote-0.can parse.verified.txt} | 0 ... tests_type_type-0.can parse.verified.txt} | 0 ...ts_vector_vector-0.can parse.verified.txt} | 0 ...ests_while_while-0.can parse.verified.txt} | 24 +- .../ExecutionTests.generated.fs | 242 +++++++++++++++ tests/Visp.ExecutionTests/Program.fs | 3 + tests/Visp.ExecutionTests/TestUtils.fs | 88 ++++++ tests/Visp.ExecutionTests/Tests.fs | 8 + .../Visp.ExecutionTests.fsproj | 43 +++ .../Tests.Basic execution.verified.txt | 4 + ...tests_atom_atom-0.can execute.verified.txt | 5 + ...tin-macros_cond-0.can execute.verified.txt | 3 + ...os_thread-first-0.can execute.verified.txt | 3 + ...os_thread-first-1.can execute.verified.txt | 4 + ...ros_thread-last-0.can execute.verified.txt | 6 + ...ests_chars_char-0.can execute.verified.txt | 9 + ...ot_dot-shorthands.can execute.verified.txt | 6 + ...xamples_example-0.can execute.verified.txt | 4 + ...xamples_example-1.can execute.verified.txt | 8 + ...amples_example-10.can execute.verified.txt | 4 + ...amples_example-11.can execute.verified.txt | 7 + ...amples_example-12.can execute.verified.txt | 5 + ...amples_example-13.can execute.verified.txt | 5 + ...amples_example-14.can execute.verified.txt | 6 + ...amples_example-15.can execute.verified.txt | 3 + ...amples_example-16.can execute.verified.txt | 3 + ...amples_example-17.can execute.verified.txt | 3 + ...xamples_example-2.can execute.verified.txt | 4 + ...xamples_example-3.can execute.verified.txt | 5 + ...xamples_example-4.can execute.verified.txt | 6 + ...xamples_example-5.can execute.verified.txt | 13 + ...xamples_example-6.can execute.verified.txt | 4 + ...xamples_example-7.can execute.verified.txt | 5 + ...xamples_example-8.can execute.verified.txt | 5 + ...xamples_example-9.can execute.verified.txt | 7 + ...mples_variables-0.can execute.verified.txt | 6 + ...s_for-in_for-in-0.can execute.verified.txt | 14 + ...s_for-in_for-in-1.can execute.verified.txt | 9 + ...s_for-in_for-in-2.can execute.verified.txt | 9 + ...s_for-in_for-in-3.can execute.verified.txt | 9 + ...s_for-in_for-in-4.can execute.verified.txt | 6 + ...hashmap_hashmap-0.can execute.verified.txt | 6 + ...hashset_hashset-0.can execute.verified.txt | 4 + .../tests_if_if-0.can execute.verified.txt | 3 + ...os_syntax-macro-0.can execute.verified.txt | 4 + ...sts_numbers_int-0.can execute.verified.txt | 6 + ...ambda-shorthand-0.can execute.verified.txt | 3 + ...arsing_let-values.can execute.verified.txt | 5 + ...s_parsing_match-0.can execute.verified.txt | 7 + ...sts_parsing_props.can execute.verified.txt | 3 + ...parsing_strings-0.can execute.verified.txt | 18 ++ ...s_parsing_tuple-0.can execute.verified.txt | 6 + ...quotation_quote-0.can execute.verified.txt | 8 + ...tests_type_type-0.can execute.verified.txt | 5 + ...s_vector_vector-0.can execute.verified.txt | 6 + ...sts_while_while-0.can execute.verified.txt | 8 + visp-fs.sln | 14 + visp/tests/atom/atom-0.visp | 7 +- visp/tests/examples/example-10.visp | 3 + visp/tests/examples/example-7.visp | 3 + visp/tests/macros/syntax-macro-0.visp | 3 + visp/tests/parsing/let-values.visp | 2 +- visp/tests/while/while-0.visp | 8 +- visp/utils/test-generator.visp | 178 +++++++++-- 158 files changed, 1430 insertions(+), 1543 deletions(-) delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=atom_atom-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-1.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-10.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-11.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-12.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-13.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-14.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-15.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-16.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-17.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-2.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-3.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-4.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-5.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-6.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-7.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-8.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-9.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashmap_hashmap-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashset_hashset-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=if_if-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_parsing_match-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_quotation_quote-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=while_while-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-0.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-1.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-10.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-11.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-12.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-13.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-14.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-15.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-16.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-2.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-3.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-4.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-5.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-6.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-7.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-8.visp.verified.txt delete mode 100644 tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-9.visp.verified.txt rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_atom_atom-0.visp.verified.txt => tests_atom_atom-0.can parse.verified.txt} (53%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_builtin-macros_cond-0.visp.verified.txt => tests_builtin-macros_cond-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_builtin-macros_thread-first-0.visp.verified.txt => tests_builtin-macros_thread-first-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_builtin-macros_thread-first-1.visp.verified.txt => tests_builtin-macros_thread-first-1.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_builtin-macros_thread-last-0.visp.verified.txt => tests_builtin-macros_thread-last-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_chars_char-0.visp.verified.txt => tests_chars_char-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_dot_dot-shorthands.visp.verified.txt => tests_dot_dot-shorthands.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-0.visp.verified.txt => tests_examples_example-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-1.visp.verified.txt => tests_examples_example-1.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-10.visp.verified.txt => tests_examples_example-10.can parse.verified.txt} (63%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-11.visp.verified.txt => tests_examples_example-11.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-12.visp.verified.txt => tests_examples_example-12.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-13.visp.verified.txt => tests_examples_example-13.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-14.visp.verified.txt => tests_examples_example-14.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-15.visp.verified.txt => tests_examples_example-15.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-16.visp.verified.txt => tests_examples_example-16.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-17.visp.verified.txt => tests_examples_example-17.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-2.visp.verified.txt => tests_examples_example-2.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-3.visp.verified.txt => tests_examples_example-3.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-4.visp.verified.txt => tests_examples_example-4.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-5.visp.verified.txt => tests_examples_example-5.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-6.visp.verified.txt => tests_examples_example-6.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-7.visp.verified.txt => tests_examples_example-7.can parse.verified.txt} (72%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-8.visp.verified.txt => tests_examples_example-8.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_example-9.visp.verified.txt => tests_examples_example-9.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_examples_variables-0.visp.verified.txt => tests_examples_variables-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_for-in_for-in-0.visp.verified.txt => tests_for-in_for-in-0.can parse.verified.txt} (90%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_for-in_for-in-1.visp.verified.txt => tests_for-in_for-in-1.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_for-in_for-in-2.visp.verified.txt => tests_for-in_for-in-2.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_for-in_for-in-3.visp.verified.txt => tests_for-in_for-in-3.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_for-in_for-in-4.visp.verified.txt => tests_for-in_for-in-4.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_hashmap_hashmap-0.visp.verified.txt => tests_hashmap_hashmap-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_hashset_hashset-0.visp.verified.txt => tests_hashset_hashset-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_if_if-0.visp.verified.txt => tests_if_if-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_macros_syntax-macro-0.visp.verified.txt => tests_macros_syntax-macro-0.can parse.verified.txt} (64%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_numbers_int-0.visp.verified.txt => tests_numbers_int-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_parsing_lambda-shorthand-0.visp.verified.txt => tests_parsing_lambda-shorthand-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_parsing_let-values.visp.verified.txt => tests_parsing_let-values.can parse.verified.txt} (86%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_parsing_match-0.visp.verified.txt => tests_parsing_match-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_parsing_props.visp.verified.txt => tests_parsing_props.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_parsing_strings-0.visp.verified.txt => tests_parsing_strings-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_parsing_tuple-0.visp.verified.txt => tests_parsing_tuple-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_quotation_quote-0.visp.verified.txt => tests_quotation_quote-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_type_type-0.visp.verified.txt => tests_type_type-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_vector_vector-0.visp.verified.txt => tests_vector_vector-0.can parse.verified.txt} (100%) rename tests/Visp.Compiler.UnitTests/snapshots/{ParsingTests.can parse tests_while_while-0.visp.verified.txt => tests_while_while-0.can parse.verified.txt} (50%) create mode 100644 tests/Visp.ExecutionTests/ExecutionTests.generated.fs create mode 100644 tests/Visp.ExecutionTests/Program.fs create mode 100644 tests/Visp.ExecutionTests/TestUtils.fs create mode 100644 tests/Visp.ExecutionTests/Tests.fs create mode 100644 tests/Visp.ExecutionTests/Visp.ExecutionTests.fsproj create mode 100644 tests/Visp.ExecutionTests/snapshots/Tests.Basic execution.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_atom_atom-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_cond-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-1.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-last-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_chars_char-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_dot_dot-shorthands.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-1.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-10.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-11.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-12.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-13.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-14.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-15.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-16.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-17.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-2.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-3.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-4.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-5.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-6.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-7.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-8.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_example-9.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_examples_variables-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-1.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-2.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-3.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-4.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_if_if-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_macros_syntax-macro-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_numbers_int-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_parsing_lambda-shorthand-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_parsing_let-values.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_parsing_match-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_parsing_props.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_parsing_strings-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_parsing_tuple-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_quotation_quote-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_type_type-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_vector_vector-0.can execute.verified.txt create mode 100644 tests/Visp.ExecutionTests/snapshots/tests_while_while-0.can execute.verified.txt diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json index acb1301..5d5bcbe 100644 --- a/.nuke/build.schema.json +++ b/.nuke/build.schema.json @@ -6,6 +6,9 @@ "build": { "type": "object", "properties": { + "CleanPackagesDirectory": { + "type": "boolean" + }, "Configuration": { "type": "string", "enum": [ @@ -78,17 +81,16 @@ "CheckCsharpier", "CheckFantomas", "Compile", - "Format", "FormatCsharpier", "FormatFantomas", "InstallCsharpier", "InstallFantomas", "InstallLinters", "Lint", + "Pack", "Restore", "RestoreTools", - "Test", - "ValidateFormat" + "Test" ] } }, @@ -105,17 +107,16 @@ "CheckCsharpier", "CheckFantomas", "Compile", - "Format", "FormatCsharpier", "FormatFantomas", "InstallCsharpier", "InstallFantomas", "InstallLinters", "Lint", + "Pack", "Restore", "RestoreTools", - "Test", - "ValidateFormat" + "Test" ] } }, diff --git a/build/Build.cs b/build/Build.cs index b490d14..3544981 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -3,15 +3,18 @@ // https://github.com/vipentti/visp-fs/blob/main/LICENSE.md using System.Collections.Generic; +using System.Linq; using Nuke.Common; using Nuke.Common.CI.GitHubActions; using Nuke.Common.Execution; using Nuke.Common.IO; using Nuke.Common.ProjectModel; +using Nuke.Common.Tooling; using Nuke.Common.Tools.DotNet; using Nuke.Common.Utilities.Collections; using Nuke.Components; using Vipentti.Nuke.Components; +using static Nuke.Common.Tools.NuGet.NuGetTasks; using static Nuke.Common.Tools.DotNet.DotNetTasks; using static Vipentti.Nuke.Components.StandardNames; @@ -20,21 +23,25 @@ GitHubActionsImage.WindowsLatest, GitHubActionsImage.UbuntuLatest, GitHubActionsImage.MacOsLatest, - OnPullRequestBranches = new[] { MainBranch, DevelopBranch }, + OnPullRequestBranches = [ MainBranch, DevelopBranch ], PublishArtifacts = false, FetchDepth = 0 // fetch full history - , SetupDotnetVersions = new[] - { - "8.x", - } - , InvokedTargets = new[] - { + , SetupDotnetVersions = [ "8.x", ] + , InvokedTargets = [ nameof(ITest.Test), nameof(IUseLinters.InstallLinters), nameof(IUseLinters.Lint), - })] + ])] [DisableDefaultOutputForHost(DefaultOutput.Logo)] -class Build : NukeBuild, IUseDotNetFormat, IUseCsharpier, IUseFantomas, IUseLinters, IHazSolution, ITest, ICompile +class Build : + NukeBuild, + IUseCsharpier, + IUseFantomas, + IUseCustomLinters, + IHazSolution, + ITest, + ICompile, + IPackSpecificPackagesWithoutTesting { public T From() where T : INukeBuild => (T)(object)this; @@ -54,9 +61,8 @@ public T From() RootDirectory / "tests", }; - IEnumerable IUseLinters.Linters => new IProvideLinter[] + IEnumerable IUseCustomLinters.Linters => new IProvideLinter[] { - // From().Linter, From().Linter, From().Linter, }; @@ -64,9 +70,145 @@ public T From() // csharpier-ignore public Target RestoreTools => _ => _ .Before(it => it.Restore) - .DependentFor(it => it.InstallLinters) + .DependentFor(it => it.InstallLinters) .Executes(() => DotNetToolRestore()) ; + + public SolutionFolder SrcFolder => CurrentSolution.GetSolutionFolder("src"); + + IEnumerable ProjectsToPack => [ + SrcFolder.GetProject("Visp.Common"), + SrcFolder.GetProject("Visp.Runtime.Library"), + ]; + + IEnumerable TargetFrameworks => ["net8.0"]; + + IEnumerable<(Project Project, string Framework)> ICompile.PublishConfigurations => + from project in ProjectsToPack + from framework in TargetFrameworks + select (project, framework); + + IEnumerable IPackSpecificPackagesWithoutTesting.ProjectsToPack => ProjectsToPack; + + public AbsolutePath PackagePath => From().PackagesDirectory; + + Configure ITest.TestSettings => _ => _ + .SetProcessEnvironmentVariable("VISP_FS_RUNTIME_PACKAGE_PATH", PackagePath) + .SetProcessEnvironmentVariable("VISP_FS_COMMON_PACKAGE_PATH", PackagePath) + .SetProcessEnvironmentVariable("VISP_FS_PACKAGE_PATH", PackagePath) + .SetProcessEnvironmentVariable("VISP_FS_PACKAGE_FEED_PATH", PackagePath / "feed") + ; + + Target ITest.Test => _ => _ + .DependsOn(x => x.Pack) + .Executes(() => From().TestResultDirectory.CreateOrCleanDirectory()) + .Inherit() + ; + + Configure ITest.TestProjectSettings => + (_, v) => + _.RemoveLoggers($"trx;LogFileName={v.Name}.trx") + .AddLoggers($"trx;LogFilePrefix={v.Name}"); + + // specifying TargetsForTfmSpecificContentInPackage because of + // https://github.com/dotnet/fsharp/issues/12320#issuecomment-1059791494 + + // csharpier-ignore + Configure ICompile.PublishSettings => _ => _ + .AddProperty("TargetsForTfmSpecificContentInPackage", ""); + + // csharpier-ignore + Configure IPack.PackSettings => _ => _ + .AddProperty("TargetsForTfmSpecificContentInPackage", ""); +} + +public interface IUseCustomLinters : INukeBuild +{ + IEnumerable Linters { get; } + + // csharpier-ignore + Target InstallLinters => _ => _ + .Before(Lint) + .Executes(() => + { + var lintSuccess = true; + foreach (var item in Linters) + { + try + { + item.InstallLinter(); + } + catch + { + lintSuccess = false; + } + } + + Assert.True(lintSuccess); + }); + + // csharpier-ignore + Target Lint => _ => _ + .AssuredAfterFailure() + .TryAfter(x => x.Compile) + .Executes(() => + { + var lintSuccess = true; + foreach (var item in Linters) + { + try + { + item.ExecuteLinter(); + } + catch + { + lintSuccess = false; + } + } + + Assert.True(lintSuccess); + }); +} + +public interface IPackSpecificPackagesWithoutTesting : IPack +{ + IEnumerable ProjectsToPack { get; } + + [Parameter] + bool CleanPackagesDirectory => true; + + IEnumerable TargetFrameworks => ["net8.0"]; + + IEnumerable<(Project Project, string Framework)> ICompile.PublishConfigurations => + from project in ProjectsToPack + from framework in TargetFrameworks + select (project, framework); + + // csharpier-ignore + Target IPack.Pack => _ => _ + .DependsOn(x => x.Compile) + .Produces(PackagesDirectory / "*.nupkg") + .Executes(() => + { + if (CleanPackagesDirectory) + { + PackagesDirectory.CreateOrCleanDirectory(); + } + + DotNetPack( + _ => + _.Apply(PackSettingsBase) + .Apply(PackSettings) + .CombineWith(ProjectsToPack, (_, v) => _.SetProject(v)) + ); + + ReportSummary(_ => _.AddPair("Packages", PackagesDirectory.GlobFiles("*.nupkg").Count.ToString())); + + Nuke.Common.Tools.NuGet.NuGetTasks.NuGet( + $"init {PackagesDirectory} {PackagesDirectory / "feed"} -Expand" + , logInvocation: true + ); + }); } public interface IUseFantomas : INukeBuild diff --git a/build/_build.csproj b/build/_build.csproj index da1a87a..92d170f 100644 --- a/build/_build.csproj +++ b/build/_build.csproj @@ -4,7 +4,7 @@ Exe net6.0 - 11.0 + 12.0 CS0649;CS0169;CA1050;CA1822;CA2211;IDE1006 .. .. @@ -18,4 +18,8 @@ + + + + diff --git a/src/Visp.Cli/CliMain.fs b/src/Visp.Cli/CliMain.fs index 7d066c8..0f40390 100644 --- a/src/Visp.Cli/CliMain.fs +++ b/src/Visp.Cli/CliMain.fs @@ -16,18 +16,36 @@ let main args = let mutable files = [ VispFile.Main filePath ] - if not (Array.exists (fun it -> it = "--no-lib") args) then + let knownArguments = [ "--no-lib"; "--release"; "--package" ] |> Set.ofList + + if not (Array.contains "--no-lib" args) then files <- VispFile.CoreLib "core.visp" :: files + let release = + if Array.contains "--release" args then + [| "--configuration"; "Release" |] + else + [||] + + let pkg = + if Array.contains "--package" args then + RuntimeLibraryReference.Package + else + RuntimeLibraryReference.Project + + let cmdArguments = + args[1..] |> Array.filter (fun it -> not (Set.contains it knownArguments)) + let generator = new FsharpGenerator(fs, projectPath) - generator.WriteVispFiles files + generator.WriteVispFiles pkg files let dotnet = Cli .Wrap("dotnet") .WithArguments( - Array.concat [| [| "run"; "--project"; projectPath; "--" |]; args[1..] |] + Array.concat + [| [| "run"; "--project"; projectPath |]; release; [| "--" |]; cmdArguments |] ) .WithWorkingDirectory(cwd) .WithStandardOutputPipe(PipeTarget.ToDelegate(fun x -> printfn "%s" x)) diff --git a/src/Visp.Common/Visp.Common.csproj b/src/Visp.Common/Visp.Common.csproj index 48595ca..38aa674 100644 --- a/src/Visp.Common/Visp.Common.csproj +++ b/src/Visp.Common/Visp.Common.csproj @@ -3,6 +3,8 @@ enable enable + true + true diff --git a/src/Visp.Compiler/FsharpGenerator.fs b/src/Visp.Compiler/FsharpGenerator.fs index 88ced6d..1954a15 100644 --- a/src/Visp.Compiler/FsharpGenerator.fs +++ b/src/Visp.Compiler/FsharpGenerator.fs @@ -7,6 +7,13 @@ module Visp.Compiler.ProjectGenerator open Visp.Compiler.Core open System.IO.Abstractions open System.IO +open System +open Visp.Compiler.Transforms.Helpers + +[] +type RuntimeLibraryReference = + | Project + | Package let tempDirPath name = let src_dir = __SOURCE_DIRECTORY__ @@ -24,7 +31,107 @@ let runtimeLibPath = Path.Combine(src_dir, "..", "Visp.Runtime.Library", "Visp.Runtime.Library.fsproj") |> Path.GetFullPath -let generateFsProjectFile (files: string seq) = +[] +let runtimePackageName = "Visp.Runtime.Library" + +[] +let commonPackageName = "Visp.Common" + +let artifactsPackagePath = + let src_dir = __SOURCE_DIRECTORY__ + Path.Combine(src_dir, "..", "..", "artifacts", "packages") |> Path.GetFullPath + +let runtimePackagePath = + let src_dir = __SOURCE_DIRECTORY__ + + match Environment.GetEnvironmentVariable("VISP_FS_RUNTIME_PACKAGE_PATH") with + | null -> + if Directory.Exists(artifactsPackagePath) then + artifactsPackagePath + else + Path.Combine(src_dir, "..", "Visp.Runtime.Library", "bin", "Release") + |> Path.GetFullPath + | it -> it + +let commonPackagePath = + let src_dir = __SOURCE_DIRECTORY__ + + match Environment.GetEnvironmentVariable("VISP_FS_COMMON_PACKAGE_PATH") with + | null -> + if Directory.Exists(artifactsPackagePath) then + artifactsPackagePath + else + Path.Combine(src_dir, "..", "Visp.Common", "bin", "Release") |> Path.GetFullPath + | it -> it + +let runtimePackageExists () = + let path = runtimePackagePath + + if Directory.Exists(path) then + Directory.GetFiles(path, $"{runtimePackageName}*.nupkg", SearchOption.TopDirectoryOnly) + |> Seq.isEmpty + |> not + else + false + +let commonPackageExists () = + let path = commonPackagePath + + if Directory.Exists(path) then + Directory.GetFiles(path, $"{commonPackageName}*.nupkg", SearchOption.TopDirectoryOnly) + |> Seq.isEmpty + |> not + else + false + + +let private generateNuGetConfig () = + let feedPath = + match Environment.GetEnvironmentVariable("VISP_FS_PACKAGE_FEED_PATH") with + | null -> None + | path -> Some(path) + + match feedPath with + | Some(feed) -> + let t = + $""" + + + + + + +""" + t.Trim() + Environment.NewLine + + | None -> + let t = + $""" + + + + + + + +""" + t.Trim() + Environment.NewLine + +let private runtimeProjectOrPackageReference (typ: RuntimeLibraryReference) = + match typ with + | RuntimeLibraryReference.Project -> $" " + | RuntimeLibraryReference.Package -> + $""" + + +""" + |> (fun (it: string) -> it.Trim([| '\r'; '\n' |])) + +let private generateFsProjectFile + (files: string seq) + (deps: Set) + (typ: RuntimeLibraryReference) + = let compileIncludes files = let compileInclude file = sprintf " " file @@ -32,6 +139,13 @@ let generateFsProjectFile (files: string seq) = Seq.map compileInclude files |> String.concat (System.Environment.NewLine + " ") + let pkgReferences deps = + let pkgRef (Require(name, version)) = + sprintf " " name version + + Seq.map pkgRef deps |> String.concat (System.Environment.NewLine + " ") + + let template = $""" @@ -48,7 +162,11 @@ let generateFsProjectFile (files: string seq) = - +{runtimeProjectOrPackageReference typ} + + + + {pkgReferences deps} @@ -122,7 +240,7 @@ type FsharpGenerator(fs: IFileSystem, dir: string) = member this.NameOfWithoutExtension(name: string) = this.fs.Path.GetFileNameWithoutExtension name - member this.WriteVispFiles(files: VispFile list) = + member this.WriteVispFiles (typ: RuntimeLibraryReference) (files: VispFile list) = let dir = this.fs.Directory.CreateDirectory this.dir let existingFiles = dir.GetFiles("*.fs", SearchOption.TopDirectoryOnly) @@ -136,19 +254,28 @@ type FsharpGenerator(fs: IFileSystem, dir: string) = let outputPath = this.PathOf fsfileName let parsed = CoreParser.parseFile filePath file.ReturnLast + let requires = Transforms.Helpers.getAllRequires parsed + (use stream = this.OpenFileForWriting outputPath CoreParser.writeParsedFile parsed stream file.Template) - fsfileName + (fsfileName, requires) - let fileNames = List.map writeFile files + let results = List.map writeFile files + let fileNames = results |> List.map fst + let requires = results |> List.map snd |> Set.unionMany - let projTemplate = generateFsProjectFile fileNames + let projTemplate = generateFsProjectFile fileNames requires typ let projPath = this.PathOf "project.fsproj" fs.File.WriteAllText(projPath, projTemplate) + match typ with + | RuntimeLibraryReference.Package -> + fs.File.WriteAllText(this.PathOf "nuget.config", generateNuGetConfig ()) + | _ -> () + () member this.OpenFileForWriting name = diff --git a/src/Visp.Runtime.Library/CoreMethods.fs b/src/Visp.Runtime.Library/CoreMethods.fs index 007da46..ee6ddad 100644 --- a/src/Visp.Runtime.Library/CoreMethods.fs +++ b/src/Visp.Runtime.Library/CoreMethods.fs @@ -28,6 +28,12 @@ module private CompareHelpers = result +[] +module Bitwise = + let inline bor (lhs: 'a) (rhs: 'a) = lhs ||| rhs + let inline band (lhs: 'a) (rhs: 'a) = lhs &&& rhs + + type CoreMethods = static member ``vector-push!``(_: RuntimeState, [] args: Value[]) = match Array.tryHead args with diff --git a/src/Visp.Runtime.Library/Value.fs b/src/Visp.Runtime.Library/Value.fs index 34e0ece..085fb7d 100644 --- a/src/Visp.Runtime.Library/Value.fs +++ b/src/Visp.Runtime.Library/Value.fs @@ -809,7 +809,7 @@ module Unwrap = module Value = let unwrapList d = match d with - | Value.List lst -> lst + | Value.List lst -> lst.List | _ -> failwithf "not supported %O" d let unwrapVec d = diff --git a/tests/Visp.Compiler.UnitTests/ParsingTests.generated.fs b/tests/Visp.Compiler.UnitTests/ParsingTests.generated.fs index 22db89c..da8f62b 100644 --- a/tests/Visp.Compiler.UnitTests/ParsingTests.generated.fs +++ b/tests/Visp.Compiler.UnitTests/ParsingTests.generated.fs @@ -6,145 +6,237 @@ // DO NOT MODIFY BY HAND // generated by test-generator.visp -[] -module ParsingTests +namespace ParsingTests open Xunit -[] -let ``can parse tests_atom_atom-0.visp`` () = TestUtils.runTest "tests/atom/atom-0.visp" +[] +module ``tests_atom_atom-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/atom/atom-0.visp" + +[] +module ``tests_builtin-macros_cond-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/builtin-macros/cond-0.visp" -[] -let ``can parse tests_builtin-macros_cond-0.visp`` () = TestUtils.runTest "tests/builtin-macros/cond-0.visp" +[] +module ``tests_builtin-macros_thread-first-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/builtin-macros/thread-first-0.visp" -[] -let ``can parse tests_builtin-macros_thread-first-0.visp`` () = TestUtils.runTest "tests/builtin-macros/thread-first-0.visp" +[] +module ``tests_builtin-macros_thread-first-1`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/builtin-macros/thread-first-1.visp" -[] -let ``can parse tests_builtin-macros_thread-first-1.visp`` () = TestUtils.runTest "tests/builtin-macros/thread-first-1.visp" +[] +module ``tests_builtin-macros_thread-last-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/builtin-macros/thread-last-0.visp" -[] -let ``can parse tests_builtin-macros_thread-last-0.visp`` () = TestUtils.runTest "tests/builtin-macros/thread-last-0.visp" +[] +module ``tests_chars_char-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/chars/char-0.visp" -[] -let ``can parse tests_chars_char-0.visp`` () = TestUtils.runTest "tests/chars/char-0.visp" +[] +module ``tests_dot_dot-shorthands`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/dot/dot-shorthands.visp" -[] -let ``can parse tests_dot_dot-shorthands.visp`` () = TestUtils.runTest "tests/dot/dot-shorthands.visp" +[] +module ``tests_examples_example-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-0.visp" -[] -let ``can parse tests_examples_example-0.visp`` () = TestUtils.runTest "tests/examples/example-0.visp" +[] +module ``tests_examples_example-1`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-1.visp" -[] -let ``can parse tests_examples_example-1.visp`` () = TestUtils.runTest "tests/examples/example-1.visp" +[] +module ``tests_examples_example-10`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-10.visp" -[] -let ``can parse tests_examples_example-10.visp`` () = TestUtils.runTest "tests/examples/example-10.visp" +[] +module ``tests_examples_example-11`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-11.visp" -[] -let ``can parse tests_examples_example-11.visp`` () = TestUtils.runTest "tests/examples/example-11.visp" +[] +module ``tests_examples_example-12`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-12.visp" -[] -let ``can parse tests_examples_example-12.visp`` () = TestUtils.runTest "tests/examples/example-12.visp" +[] +module ``tests_examples_example-13`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-13.visp" -[] -let ``can parse tests_examples_example-13.visp`` () = TestUtils.runTest "tests/examples/example-13.visp" +[] +module ``tests_examples_example-14`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-14.visp" -[] -let ``can parse tests_examples_example-14.visp`` () = TestUtils.runTest "tests/examples/example-14.visp" +[] +module ``tests_examples_example-15`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-15.visp" -[] -let ``can parse tests_examples_example-15.visp`` () = TestUtils.runTest "tests/examples/example-15.visp" +[] +module ``tests_examples_example-16`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-16.visp" -[] -let ``can parse tests_examples_example-16.visp`` () = TestUtils.runTest "tests/examples/example-16.visp" +[] +module ``tests_examples_example-17`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-17.visp" -[] -let ``can parse tests_examples_example-17.visp`` () = TestUtils.runTest "tests/examples/example-17.visp" +[] +module ``tests_examples_example-2`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-2.visp" -[] -let ``can parse tests_examples_example-2.visp`` () = TestUtils.runTest "tests/examples/example-2.visp" +[] +module ``tests_examples_example-3`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-3.visp" -[] -let ``can parse tests_examples_example-3.visp`` () = TestUtils.runTest "tests/examples/example-3.visp" +[] +module ``tests_examples_example-4`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-4.visp" -[] -let ``can parse tests_examples_example-4.visp`` () = TestUtils.runTest "tests/examples/example-4.visp" +[] +module ``tests_examples_example-5`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-5.visp" -[] -let ``can parse tests_examples_example-5.visp`` () = TestUtils.runTest "tests/examples/example-5.visp" +[] +module ``tests_examples_example-6`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-6.visp" -[] -let ``can parse tests_examples_example-6.visp`` () = TestUtils.runTest "tests/examples/example-6.visp" +[] +module ``tests_examples_example-7`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-7.visp" -[] -let ``can parse tests_examples_example-7.visp`` () = TestUtils.runTest "tests/examples/example-7.visp" +[] +module ``tests_examples_example-8`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-8.visp" -[] -let ``can parse tests_examples_example-8.visp`` () = TestUtils.runTest "tests/examples/example-8.visp" +[] +module ``tests_examples_example-9`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/example-9.visp" -[] -let ``can parse tests_examples_example-9.visp`` () = TestUtils.runTest "tests/examples/example-9.visp" +[] +module ``tests_examples_variables-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/examples/variables-0.visp" -[] -let ``can parse tests_examples_variables-0.visp`` () = TestUtils.runTest "tests/examples/variables-0.visp" +[] +module ``tests_for-in_for-in-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/for-in/for-in-0.visp" -[] -let ``can parse tests_for-in_for-in-0.visp`` () = TestUtils.runTest "tests/for-in/for-in-0.visp" +[] +module ``tests_for-in_for-in-1`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/for-in/for-in-1.visp" -[] -let ``can parse tests_for-in_for-in-1.visp`` () = TestUtils.runTest "tests/for-in/for-in-1.visp" +[] +module ``tests_for-in_for-in-2`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/for-in/for-in-2.visp" -[] -let ``can parse tests_for-in_for-in-2.visp`` () = TestUtils.runTest "tests/for-in/for-in-2.visp" +[] +module ``tests_for-in_for-in-3`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/for-in/for-in-3.visp" -[] -let ``can parse tests_for-in_for-in-3.visp`` () = TestUtils.runTest "tests/for-in/for-in-3.visp" +[] +module ``tests_for-in_for-in-4`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/for-in/for-in-4.visp" -[] -let ``can parse tests_for-in_for-in-4.visp`` () = TestUtils.runTest "tests/for-in/for-in-4.visp" +[] +module ``tests_hashmap_hashmap-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/hashmap/hashmap-0.visp" -[] -let ``can parse tests_hashmap_hashmap-0.visp`` () = TestUtils.runTest "tests/hashmap/hashmap-0.visp" +[] +module ``tests_hashset_hashset-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/hashset/hashset-0.visp" -[] -let ``can parse tests_hashset_hashset-0.visp`` () = TestUtils.runTest "tests/hashset/hashset-0.visp" +[] +module ``tests_if_if-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/if/if-0.visp" -[] -let ``can parse tests_if_if-0.visp`` () = TestUtils.runTest "tests/if/if-0.visp" +[] +module ``tests_macros_syntax-macro-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/macros/syntax-macro-0.visp" -[] -let ``can parse tests_macros_syntax-macro-0.visp`` () = TestUtils.runTest "tests/macros/syntax-macro-0.visp" +[] +module ``tests_numbers_int-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/numbers/int-0.visp" -[] -let ``can parse tests_numbers_int-0.visp`` () = TestUtils.runTest "tests/numbers/int-0.visp" +[] +module ``tests_parsing_lambda-shorthand-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/parsing/lambda-shorthand-0.visp" -[] -let ``can parse tests_parsing_lambda-shorthand-0.visp`` () = TestUtils.runTest "tests/parsing/lambda-shorthand-0.visp" +[] +module ``tests_parsing_let-values`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/parsing/let-values.visp" -[] -let ``can parse tests_parsing_let-values.visp`` () = TestUtils.runTest "tests/parsing/let-values.visp" +[] +module ``tests_parsing_match-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/parsing/match-0.visp" -[] -let ``can parse tests_parsing_match-0.visp`` () = TestUtils.runTest "tests/parsing/match-0.visp" +[] +module ``tests_parsing_props`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/parsing/props.visp" -[] -let ``can parse tests_parsing_props.visp`` () = TestUtils.runTest "tests/parsing/props.visp" +[] +module ``tests_parsing_strings-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/parsing/strings-0.visp" -[] -let ``can parse tests_parsing_strings-0.visp`` () = TestUtils.runTest "tests/parsing/strings-0.visp" +[] +module ``tests_parsing_tuple-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/parsing/tuple-0.visp" -[] -let ``can parse tests_parsing_tuple-0.visp`` () = TestUtils.runTest "tests/parsing/tuple-0.visp" +[] +module ``tests_quotation_quote-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/quotation/quote-0.visp" -[] -let ``can parse tests_quotation_quote-0.visp`` () = TestUtils.runTest "tests/quotation/quote-0.visp" +[] +module ``tests_type_type-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/type/type-0.visp" -[] -let ``can parse tests_type_type-0.visp`` () = TestUtils.runTest "tests/type/type-0.visp" +[] +module ``tests_vector_vector-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/vector/vector-0.visp" -[] -let ``can parse tests_vector_vector-0.visp`` () = TestUtils.runTest "tests/vector/vector-0.visp" +[] +module ``tests_while_while-0`` = + [] + let ``can parse`` () = TestUtils.runTest "tests/while/while-0.visp" -[] -let ``can parse tests_while_while-0.visp`` () = TestUtils.runTest "tests/while/while-0.visp" diff --git a/tests/Visp.Compiler.UnitTests/TestUtils.fs b/tests/Visp.Compiler.UnitTests/TestUtils.fs index fa3ce8a..fa032ea 100644 --- a/tests/Visp.Compiler.UnitTests/TestUtils.fs +++ b/tests/Visp.Compiler.UnitTests/TestUtils.fs @@ -35,6 +35,6 @@ let runTest (name: string) = .Verify(output) .UseDirectory("snapshots") .DisableDiff() - .UseParameters(name.Replace('/', '_')) + .UseParameters(name.Replace('/', '_').Replace('\\', '_')) .ToTask() |> Async.AwaitTask diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=atom_atom-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=atom_atom-0.visp.verified.txt deleted file mode 100644 index 15e67bb..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=atom_atom-0.visp.verified.txt +++ /dev/null @@ -1,28 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"atom-0.visp" -let inc (v: Value) = - // line 3 @"atom-0.visp" - Value.from ((1) + - (unwrapInt (v))) - -// line 4 @"atom-0.visp" -let count = - // line 4 @"atom-0.visp" - Value.atom(Value.from(0)) -// line 6 @"atom-0.visp" -printfn ("count is %O") (deref (count)) -// line 8 @"atom-0.visp" -CoreMethods.``swap!``(Value.from(count), inc) -// line 10 @"atom-0.visp" -let visp_result_todo = - // line 10 @"atom-0.visp" - printfn ("count is %O") (deref (count)) -// line 10 @"atom-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-0.visp.verified.txt deleted file mode 100644 index 633ad38..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-0.visp.verified.txt +++ /dev/null @@ -1,19 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 3 @"example-0.visp" -let hello (name: string) = - // line 5 @"example-0.visp" - printfn ("hello %s") (name) - -// line 7 @"example-0.visp" -let visp_result_todo = - // line 7 @"example-0.visp" - hello ("world") -// line 7 @"example-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-1.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-1.visp.verified.txt deleted file mode 100644 index d51fdd0..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-1.visp.verified.txt +++ /dev/null @@ -1,38 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 4 @"example-1.visp" -let hello (name: string) = - // line 6 @"example-1.visp" - printfn ("hello %s") (name) - -// line 10 @"example-1.visp" -let ``hello-no-types`` name = - // line 11 @"example-1.visp" - printfn ("hello %s") (name) - -// line 14 @"example-1.visp" -// line 14 @"example-1.visp" -(fun name -> - // line 15 @"example-1.visp" - printfn ("hello %s") (name)) ("lambda") -// line 17 @"example-1.visp" -hello ("test") -// line 18 @"example-1.visp" -``hello-no-types`` ("no types") -// line 20 @"example-1.visp" -let ``hello-with-vector`` (name: string) = - // line 21 @"example-1.visp" - printfn ("hello %s") (name) - -// line 24 @"example-1.visp" -let visp_result_todo = - // line 24 @"example-1.visp" - ``hello-with-vector`` ("vector") -// line 24 @"example-1.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-10.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-10.visp.verified.txt deleted file mode 100644 index bd0f189..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-10.visp.verified.txt +++ /dev/null @@ -1,25 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-10.visp" -open System.Text - -// line 3 @"example-10.visp" -let sb = - // line 3 @"example-10.visp" - (new StringBuilder()) -// line 5 @"example-10.visp" -(sb.Append("hello")) -// line 6 @"example-10.visp" -(sb.Append("world")) -// line 8 @"example-10.visp" -let visp_result_todo = - // line 8 @"example-10.visp" - printfn ("sb contains: %s") ((sb.ToString())) -// line 8 @"example-10.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-11.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-11.visp.verified.txt deleted file mode 100644 index b3312a9..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-11.visp.verified.txt +++ /dev/null @@ -1,28 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-11.visp" -printfn ("this is in the default top-level module") -// line 3 @"example-11.visp" -module MyCustomModule = - // line 4 @"example-11.visp" - printfn ("this is inside MyCustomModule") - // line 5 @"example-11.visp" - let hello () = - // line 6 @"example-11.visp" - printfn ("hello world") - - // line 8 @"example-11.visp" - hello () - -// line 11 @"example-11.visp" -let visp_result_todo = - // line 11 @"example-11.visp" - printfn ("this is back in the top-level-module") -// line 11 @"example-11.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-12.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-12.visp.verified.txt deleted file mode 100644 index 1679728..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-12.visp.verified.txt +++ /dev/null @@ -1,24 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"example-12.visp" -let quoted = - // line 2 @"example-12.visp" - Value.from([Value.symbol("hello");Value.symbol("world");Value.symbol("in");Value.symbol("quotes")]) -// line 4 @"example-12.visp" -printfn ("quoted is: %O") (quoted) -// line 6 @"example-12.visp" -let next_quoted = - // line 6 @"example-12.visp" - Value.from([Value.string("constants");Value.keyword(":keywords-work");Value.from(true);Value.from(1);Value.from(1.5);Value.from(false);Value.symbol("also");Value.string("work");Value.from(Value.Nil)]) -// line 9 @"example-12.visp" -let visp_result_todo = - // line 9 @"example-12.visp" - printfn ("next_quoted is: %O") (next_quoted) -// line 9 @"example-12.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-13.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-13.visp.verified.txt deleted file mode 100644 index 043dae1..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-13.visp.verified.txt +++ /dev/null @@ -1,24 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 3 @"example-13.visp" -let quasiquoted = - // line 3 @"example-13.visp" - Value.from ((Value.symbol("hello"))::((Value.symbol("world"))::((Value.symbol("in"))::((Value.symbol("quotes"))::([]))))) -// line 5 @"example-13.visp" -printfn ("quasiquoted is: %O") (quasiquoted) -// line 7 @"example-13.visp" -let next_quasiquoted = - // line 7 @"example-13.visp" - Value.from ((Value.string("constants"))::((Value.keyword(":keywords-work"))::((Value.from(true))::((Value.from(1))::((Value.from(1.5))::((Value.from(false))::((Value.symbol("also"))::((Value.string("work"))::((Value.from(Value.Nil))::([])))))))))) -// line 10 @"example-13.visp" -let visp_result_todo = - // line 10 @"example-13.visp" - printfn ("next_quasiquoted is: %O") (next_quasiquoted) -// line 10 @"example-13.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-14.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-14.visp.verified.txt deleted file mode 100644 index 92dcdc4..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-14.visp.verified.txt +++ /dev/null @@ -1,36 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-14.visp" -let value = "hello" -// line 3 @"example-14.visp" -let result = - // line 3 @"example-14.visp" - Value.from (Value.from (value)) -// line 5 @"example-14.visp" -printfn ("value is %O") (result) -// line 8 @"example-14.visp" -let items = - // line 8 @"example-14.visp" - Value.from([Value.from(1);Value.from(2);Value.from(3);Value.from(4);Value.from(5)]) -// line 11 @"example-14.visp" -let result2 = - // line 11 @"example-14.visp" - Value.from ((Value.from(1))::((Value.from(2))::((Value.from (CoreMethods.``add``(3, 4)))::([])))) -// line 13 @"example-14.visp" -printfn ("result2 is %O") (result2) -// line 15 @"example-14.visp" -let result3 = - // line 15 @"example-14.visp" - Value.from ((Value.from(0))::((unwrapList (items))@((Value.from(6))::([])))) -// line 17 @"example-14.visp" -let visp_result_todo = - // line 17 @"example-14.visp" - printfn ("result3 is %O") (result3) -// line 17 @"example-14.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-15.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-15.visp.verified.txt deleted file mode 100644 index fbdf599..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-15.visp.verified.txt +++ /dev/null @@ -1,27 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-15.visp" -let visp_result_todo = - // line 1 @"example-15.visp" - // line 1 @"example-15.visp" - (fun captured_arg -> - ( - // line 2 @"example-15.visp" - let second_capture = - // line 2 @"example-15.visp" - (captured_arg) + - (1) - // line 3 @"example-15.visp" - // line 3 @"example-15.visp" - (fun () -> - // line 3 @"example-15.visp" - (captured_arg) + - (second_capture)) ())) (99) -// line 1 @"example-15.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-16.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-16.visp.verified.txt deleted file mode 100644 index 304967d..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-16.visp.verified.txt +++ /dev/null @@ -1,38 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-16.visp" -let visp_result_todo = - ( - // line 2 @"example-16.visp" - let captured_variable = 1 - // line 3 @"example-16.visp" - let first_fun = - // line 4 @"example-16.visp" - (fun () -> - ( - // line 5 @"example-16.visp" - let second_fun = - // line 6 @"example-16.visp" - (fun () -> - ( - // line 7 @"example-16.visp" - let third_fun = - // line 8 @"example-16.visp" - (fun () -> - // line 8 @"example-16.visp" - (captured_variable) + - (1)) - // line 9 @"example-16.visp" - third_fun ())) - // line 11 @"example-16.visp" - second_fun ())) - // line 14 @"example-16.visp" - CoreMethods.``str``(state, Value.from(first_fun ()))) -// line 1 @"example-16.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-17.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-17.visp.verified.txt deleted file mode 100644 index fc5f7fb..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-17.visp.verified.txt +++ /dev/null @@ -1,21 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-17.visp" -let visp_result_todo = - ( - // line 1 @"example-17.visp" - let hello = "hello" - // line 2 @"example-17.visp" - let world = "world" - // line 3 @"example-17.visp" - let banaani = "banaani" - // line 5 @"example-17.visp" - sprintf ("%s %s %s") (hello) (world) (banaani)) -// line 1 @"example-17.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-2.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-2.visp.verified.txt deleted file mode 100644 index 43b822a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-2.visp.verified.txt +++ /dev/null @@ -1,21 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 3 @"example-2.visp" -let hello argname = - // line 5 @"example-2.visp" - let name = argname - // line 6 @"example-2.visp" - printfn ("hello %s") (name) - -// line 8 @"example-2.visp" -let visp_result_todo = - // line 8 @"example-2.visp" - hello ("world") -// line 8 @"example-2.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-3.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-3.visp.verified.txt deleted file mode 100644 index 26f73d2..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-3.visp.verified.txt +++ /dev/null @@ -1,21 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-3.visp" -let mutable value = - "initial" -// line 2 @"example-3.visp" -printfn ("value is %s") (value) -// line 3 @"example-3.visp" -value <- "updated" -// line 4 @"example-3.visp" -let visp_result_todo = - // line 4 @"example-3.visp" - printfn ("value is %s") (value) -// line 4 @"example-3.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-4.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-4.visp.verified.txt deleted file mode 100644 index 3338e02..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-4.visp.verified.txt +++ /dev/null @@ -1,31 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"example-4.visp" -let mutable value = - "initial" -// line 3 @"example-4.visp" -printfn ("value is %s") (value) -// line 5 @"example-4.visp" -let foo = - // line 5 @"example-4.visp" - (fun arg -> - // line 5 @"example-4.visp" - value <- arg) -// line 7 @"example-4.visp" -foo ("hello") -// line 8 @"example-4.visp" -printfn ("value is %s") (value) -// line 10 @"example-4.visp" -foo ("world") -// line 11 @"example-4.visp" -let visp_result_todo = - // line 11 @"example-4.visp" - printfn ("value is %s") (value) -// line 11 @"example-4.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-5.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-5.visp.verified.txt deleted file mode 100644 index bd7ab29..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-5.visp.verified.txt +++ /dev/null @@ -1,38 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-5.visp" -let a = 5 -// line 2 @"example-5.visp" -let b = 4 -// line 4 @"example-5.visp" -printfn ("+ is %i") ((a) + -(b) + -(52)) -// line 5 @"example-5.visp" -printfn ("+ is %i") (0) -// line 6 @"example-5.visp" -printfn ("+ is %i") (2) -// line 8 @"example-5.visp" -printfn ("* is %i") (a * b * 52) -// line 9 @"example-5.visp" -printfn ("* is %i") (2) -// line 10 @"example-5.visp" -printfn ("* is %i") (1) -// line 12 @"example-5.visp" -printfn ("- is %i") (a - b - 52) -// line 13 @"example-5.visp" -printfn ("- is %i") (-2) -// line 15 @"example-5.visp" -printfn ("/ is %f") ((decimal a) / (decimal b) / (decimal 52)) -// line 16 @"example-5.visp" -let visp_result_todo = - // line 16 @"example-5.visp" - printfn ("/ is %f") (1.0m / (decimal 2)) -// line 16 @"example-5.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-6.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-6.visp.verified.txt deleted file mode 100644 index 7aae12a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-6.visp.verified.txt +++ /dev/null @@ -1,23 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-6.visp" -let values = - // line 2 @"example-6.visp" - let temp = Vector(4) - temp.Add(Value.from(1)) - temp.Add(Value.from(2)) - temp.Add(Value.from("foo")) - temp.Add(Value.from("bar")) - temp -// line 3 @"example-6.visp" -let visp_result_todo = - // line 3 @"example-6.visp" - printfn ("values are %O") (values) -// line 3 @"example-6.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-7.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-7.visp.verified.txt deleted file mode 100644 index 5dbbb4d..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-7.visp.verified.txt +++ /dev/null @@ -1,27 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"example-7.visp" -let values = - // line 2 @"example-7.visp" - let temp = Vector(4) - temp.Add(Value.from(1)) - temp.Add(Value.from(2)) - temp.Add(Value.from("foo")) - temp.Add(Value.from("bar")) - temp -// line 4 @"example-7.visp" -printfn ("values are %O") (values) -// line 5 @"example-7.visp" -CoreMethods.``vector-push!``(state, Value.from(values), Value.from(4), Value.from(5), Value.from(6), Value.from(7)) -// line 6 @"example-7.visp" -let visp_result_todo = - // line 6 @"example-7.visp" - printfn ("values after update are %O") (values) -// line 6 @"example-7.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-8.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-8.visp.verified.txt deleted file mode 100644 index 5206e14..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-8.visp.verified.txt +++ /dev/null @@ -1,24 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"example-8.visp" -let (ints: ResizeArray) = - // line 3 @"example-8.visp" - (new ResizeArray<_>()) -// line 5 @"example-8.visp" -(ints.Add(1)) -// line 7 @"example-8.visp" -printfn ("number of ints: %i") ((ints.Count)) -// line 9 @"example-8.visp" -(ints.Add(2)) -// line 11 @"example-8.visp" -let visp_result_todo = - // line 11 @"example-8.visp" - printfn ("number of ints: %i") ((ints.Count)) -// line 11 @"example-8.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-9.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-9.visp.verified.txt deleted file mode 100644 index 0d15163..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=example-9.visp.verified.txt +++ /dev/null @@ -1,30 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"example-9.visp" -let decimals = - // line 2 @"example-9.visp" - (new ResizeArray<_>()) -// line 4 @"example-9.visp" -(decimals.Add(decimal (1))) -// line 6 @"example-9.visp" -printfn ("number of decimals: %i") ((decimals.Count)) -// line 8 @"example-9.visp" -(decimals.Add(decimal (2))) -// line 10 @"example-9.visp" -printfn ("number of decimals: %i") ((decimals.Count)) -// line 12 @"example-9.visp" -printfn ("decimals 0 is %f") ((decimals.[0])) -// line 14 @"example-9.visp" -let index = 1 -// line 16 @"example-9.visp" -let visp_result_todo = - // line 16 @"example-9.visp" - printfn ("decimals 1 is %f") ((decimals.[index])) -// line 16 @"example-9.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashmap_hashmap-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashmap_hashmap-0.visp.verified.txt deleted file mode 100644 index c6475d0..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashmap_hashmap-0.visp.verified.txt +++ /dev/null @@ -1,22 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"hashmap-0.visp" -let map = - // line 1 @"hashmap-0.visp" - [(Value.keyword(":this-is-a-key"), Value.string("value"));(Value.string("string as key"), Value.string("string value"));(Value.from(0), Value.string("int as key"))] |> HashMap.ofList -// line 5 @"hashmap-0.visp" -printfn ("%O") (map) -// line 7 @"hashmap-0.visp" -printfn ("%O") (HashMap.find (Value.string ("string as key")) (map)) -// line 9 @"hashmap-0.visp" -let visp_result_todo = - // line 9 @"hashmap-0.visp" - printfn ("%O") (HashMap.find (Value.keyword(":this-is-a-key")) (map)) -// line 9 @"hashmap-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashset_hashset-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashset_hashset-0.visp.verified.txt deleted file mode 100644 index 254b628..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=hashset_hashset-0.visp.verified.txt +++ /dev/null @@ -1,18 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"hashset-0.visp" -let set = - // line 2 @"hashset-0.visp" - [Value.keyword(":this-is-a-key");Value.string("value");Value.string("string as key");Value.string("string value");Value.from(0);Value.string("int as key")] |> HashSet.ofList -// line 6 @"hashset-0.visp" -let visp_result_todo = - // line 6 @"hashset-0.visp" - printfn ("%O") (set) -// line 6 @"hashset-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=if_if-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=if_if-0.visp.verified.txt deleted file mode 100644 index cc60779..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=if_if-0.visp.verified.txt +++ /dev/null @@ -1,33 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 1 @"if-0.visp" -let condition () = - false - -// line 2 @"if-0.visp" -let _then () = - "then" - -// line 3 @"if-0.visp" -let alt () = - "alt" - -// line 5 @"if-0.visp" -let visp_result_todo = - // line 5 @"if-0.visp" - if CoreMethods.isTruthy( - condition ()) - then - // line 6 @"if-0.visp" - _then () - else - // line 7 @"if-0.visp" - alt () -// line 5 @"if-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_parsing_match-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_parsing_match-0.visp.verified.txt deleted file mode 100644 index bdc4b9e..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_parsing_match-0.visp.verified.txt +++ /dev/null @@ -1,39 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"match-0.visp" -match "hello" with - | "hello" -> - // line 4 @"match-0.visp" - printfn ("was hello") - | _ -> - // line 7 @"match-0.visp" - printfn ("default") -// line 10 @"match-0.visp" -match (1, 2) with - | (a, 2) when CoreMethods.isTruthy(CoreMethods.``gte``(a, 0)) -> - // line 13 @"match-0.visp" - printfn ("a is %A") (a) - | _ -> - // line 16 @"match-0.visp" - printfn ("default") -// line 19 @"match-0.visp" -match Some (1) with - | (Some a) when CoreMethods.isTruthy(CoreMethods.``gte``(a, 0)) -> - // line 22 @"match-0.visp" - printfn ("a is %A") (a) - | (Some _) -> - // line 25 @"match-0.visp" - printfn ("some other") - | _ -> - // line 28 @"match-0.visp" - printfn ("default") -// line 32 @"match-0.visp" -let visp_result_todo = () -// line 32 @"match-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_quotation_quote-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_quotation_quote-0.visp.verified.txt deleted file mode 100644 index 2bc2c0d..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=tests_quotation_quote-0.visp.verified.txt +++ /dev/null @@ -1,45 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"quote-0.visp" -let items = - // line 2 @"quote-0.visp" - Value.from([Value.from(1);Value.from(2);Value.from(3);Value.from(4);Value.from(5)]) -// line 3 @"quote-0.visp" -let sym = - // line 3 @"quote-0.visp" - Value.symbol("symbol") -// line 4 @"quote-0.visp" -let something = - // line 4 @"quote-0.visp" - Value.from([Value.symbol("fn"); - ( let temp = Vector(1) - temp.Add(Value.from(Value.symbol("a"))) - Value.vector(temp));Value.from([Value.symbol("+");Value.symbol("a");Value.symbol("b");Value.from(1);Value.from([Value.symbol("call");Value.symbol("+");Value.from(1);Value.from(2)])])]) -// line 6 @"quote-0.visp" -printfn ("items: %O") (items) -// line 7 @"quote-0.visp" -printfn ("sym: %O") (sym) -// line 8 @"quote-0.visp" -printfn ("something: %O") (something) -// line 9 @"quote-0.visp" -printfn ("nested: %O") (Value.from([Value.symbol("nested1");Value.from([Value.symbol("nested2");Value.from([Value.symbol("nested3");Value.from([Value.symbol("nested4");Value.symbol("and");Value.symbol("on");Value.symbol("and");Value.symbol("on");Value.keyword(":keyword")])])])])) -// line 10 @"quote-0.visp" -let visp_result_todo = - // line 10 @"quote-0.visp" - printfn ("nested vec: %O") ( - ( let temp = Vector(2) - temp.Add(Value.from(Value.symbol("nested1"))) - temp.Add(Value.from(Value.from([Value.symbol("nested2"); - ( let temp = Vector(2) - temp.Add(Value.from(Value.symbol("nested3"))) - temp.Add(Value.from(Value.from([Value.symbol("nested4");Value.symbol("and");Value.symbol("on");Value.symbol("and");Value.symbol("on");Value.keyword(":keyword")]))) - Value.vector(temp))]))) - Value.vector(temp))) -// line 10 @"quote-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=while_while-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=while_while-0.visp.verified.txt deleted file mode 100644 index d80f2e3..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.New writer supports example files_name=while_while-0.visp.verified.txt +++ /dev/null @@ -1,28 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -// line 2 @"while-0.visp" -let inc (v: Value) = - // line 3 @"while-0.visp" - Value.from ((1) + - (unwrapInt (v))) - -// line 5 @"while-0.visp" -let count = - // line 5 @"while-0.visp" - Value.atom(Value.from(0)) -// line 6 @"while-0.visp" -let visp_result_todo = - // line 6 @"while-0.visp" - while CoreMethods.isTruthy(CoreMethods.``lt``(deref (count), 5)) do - // line 7 @"while-0.visp" - printfn ("in loop %O") (deref (count)) - // line 8 @"while-0.visp" - CoreMethods.``swap!``(Value.from(count), inc) -// line 6 @"while-0.visp" -printfn ("%O") (visp_result_todo) - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-0.visp.verified.txt deleted file mode 100644 index 439c2d9..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-0.visp.verified.txt +++ /dev/null @@ -1,24 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 3 @"example-0.visp" -let hello (name: string) = - #line 5 @"example-0.visp" - printfn - "hello %s" - name - -#line 7 @"example-0.visp" -let visp_result_todo = - #line 7 @"example-0.visp" - hello - "world" -#line 7 @"example-0.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-1.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-1.visp.verified.txt deleted file mode 100644 index e08ad36..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-1.visp.verified.txt +++ /dev/null @@ -1,49 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 4 @"example-1.visp" -let hello (name: string) = - #line 6 @"example-1.visp" - printfn - "hello %s" - name - -#line 10 @"example-1.visp" -let ``hello-no-types`` name = - #line 11 @"example-1.visp" - printfn - "hello %s" - name - -(fun name -> - #line 15 @"example-1.visp" - printfn - "hello %s" - name) "lambda" -#line 17 @"example-1.visp" -hello - "test" -#line 18 @"example-1.visp" -``hello-no-types`` - "no types" -#line 20 @"example-1.visp" -let ``hello-with-vector`` (name: string) = - #line 21 @"example-1.visp" - printfn - "hello %s" - name - -#line 23 @"example-1.visp" -let visp_result_todo = - #line 23 @"example-1.visp" - ``hello-with-vector`` - "vector" -#line 23 @"example-1.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-10.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-10.visp.verified.txt deleted file mode 100644 index b66da7a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-10.visp.verified.txt +++ /dev/null @@ -1,33 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-10.visp" -open System.Text - -#line 3 @"example-10.visp" -let sb = - #line 3 @"example-10.visp" - new StringBuilder() -#line 5 @"example-10.visp" -sb.Append( - "hello") -#line 6 @"example-10.visp" -sb.Append( - "world") -#line 8 @"example-10.visp" -let visp_result_todo = - #line 8 @"example-10.visp" - printfn - "sb contains: %s" - (#line 9 @"example-10.visp" - sb.ToString( - )) -#line 8 @"example-10.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-11.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-11.visp.verified.txt deleted file mode 100644 index 9be608a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-11.visp.verified.txt +++ /dev/null @@ -1,36 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-11.visp" -printfn - "this is in the default top-level module" -#line 3 @"example-11.visp" -module MyCustomModule = - - #line 4 @"example-11.visp" - printfn - "this is inside MyCustomModule" -#line 5 @"example-11.visp" - let hello () = - #line 6 @"example-11.visp" - printfn - "hello world" - -#line 8 @"example-11.visp" - hello - () - -#line 11 @"example-11.visp" -let visp_result_todo = - #line 11 @"example-11.visp" - printfn - "this is back in the top-level-module" -#line 11 @"example-11.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-12.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-12.visp.verified.txt deleted file mode 100644 index 4573916..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-12.visp.verified.txt +++ /dev/null @@ -1,32 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 2 @"example-12.visp" -let quoted = - #line 2 @"example-12.visp" - #line 2 @"example-12.visp" - Value.from([Value.symbol("hello");Value.symbol("world");Value.symbol("in");Value.symbol("quotes")]) -#line 4 @"example-12.visp" -printfn - "quoted is: %O" - quoted -#line 6 @"example-12.visp" -let next_quoted = - #line 6 @"example-12.visp" - #line 7 @"example-12.visp" - Value.from([Value.string("constants");Value.keyword(":keywords-work");Value.from(true);Value.from(1);Value.from(1.5);Value.from(false);Value.symbol("also");Value.string("work");Value.Nil]) -#line 9 @"example-12.visp" -let visp_result_todo = - #line 9 @"example-12.visp" - printfn - "next_quoted is: %O" - next_quoted -#line 9 @"example-12.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-13.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-13.visp.verified.txt deleted file mode 100644 index 0da404a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-13.visp.verified.txt +++ /dev/null @@ -1,48 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 3 @"example-13.visp" -let quasiquoted = - #line 3 @"example-13.visp" - #line 3 @"example-13.visp" - Value.from - (#line 3 @"example-13.visp" - Value.symbol("hello"))::((#line 3 @"example-13.visp" - Value.symbol("world"))::((#line 3 @"example-13.visp" - Value.symbol("in"))::((#line 3 @"example-13.visp" - Value.symbol("quotes"))::(#line 3 @"example-13.visp" - [])))) -#line 5 @"example-13.visp" -printfn - "quasiquoted is: %O" - quasiquoted -#line 7 @"example-13.visp" -let next_quasiquoted = - #line 7 @"example-13.visp" - #line 7 @"example-13.visp" - Value.from - (#line 8 @"example-13.visp" - Value.string("constants"))::((Value.keyword(":keywords-work"))::((#line 8 @"example-13.visp" - Value.from(true))::((#line 8 @"example-13.visp" - Value.from(1))::((#line 8 @"example-13.visp" - Value.from(1.5))::((#line 8 @"example-13.visp" - Value.from(false))::((#line 8 @"example-13.visp" - Value.symbol("also"))::((#line 8 @"example-13.visp" - Value.string("work"))::((#line 8 @"example-13.visp" - Value.Nil)::(#line 8 @"example-13.visp" - []))))))))) -#line 10 @"example-13.visp" -let visp_result_todo = - #line 10 @"example-13.visp" - printfn - "next_quasiquoted is: %O" - next_quasiquoted -#line 10 @"example-13.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-14.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-14.visp.verified.txt deleted file mode 100644 index 648928a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-14.visp.verified.txt +++ /dev/null @@ -1,64 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-14.visp" -let value = - "hello" -#line 3 @"example-14.visp" -let result = - #line 3 @"example-14.visp" - #line 3 @"example-14.visp" - Value.from - #line 3 @"example-14.visp" - Value.from - value -#line 5 @"example-14.visp" -printfn - "value is %O" - result -#line 8 @"example-14.visp" -let items = - #line 8 @"example-14.visp" - #line 8 @"example-14.visp" - Value.from([Value.from(1);Value.from(2);Value.from(3);Value.from(4);Value.from(5)]) -#line 11 @"example-14.visp" -let result2 = - #line 11 @"example-14.visp" - #line 11 @"example-14.visp" - Value.from - (#line 11 @"example-14.visp" - Value.from(1))::((#line 11 @"example-14.visp" - Value.from(2))::((#line 11 @"example-14.visp" - Value.from - (3 + 4))::(#line 11 @"example-14.visp" - []))) -#line 13 @"example-14.visp" -printfn - "result2 is %O" - result2 -#line 15 @"example-14.visp" -let result3 = - #line 15 @"example-14.visp" - #line 15 @"example-14.visp" - Value.from - (#line 15 @"example-14.visp" - Value.from(0))::((#line 15 @"example-14.visp" - unwrapList - items)@((#line 15 @"example-14.visp" - Value.from(6))::(#line 15 @"example-14.visp" - []))) -#line 17 @"example-14.visp" -let visp_result_todo = - #line 17 @"example-14.visp" - printfn - "result3 is %O" - result3 -#line 17 @"example-14.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-15.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-15.visp.verified.txt deleted file mode 100644 index bf4140e..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-15.visp.verified.txt +++ /dev/null @@ -1,19 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-15.visp" -let visp_result_todo = - (fun captured_arg -> - let second_capture = - (captured_arg + 1) - (fun () -> - (captured_arg + second_capture)) ()) 99 -#line 1 @"example-15.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-16.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-16.visp.verified.txt deleted file mode 100644 index 4109315..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-16.visp.verified.txt +++ /dev/null @@ -1,33 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-16.visp" -let visp_result_todo = - let captured_variable = - 1 - let first_fun = - (fun () -> - let second_fun = - (fun () -> - let third_fun = - (fun () -> - (captured_variable + 1)) - #line 9 @"example-16.visp" - third_fun - ()) - #line 11 @"example-16.visp" - second_fun - ()) - #line 14 @"example-16.visp" - CoreMethods.``str``(state, Value.from(#line 14 @"example-16.visp" - first_fun - ())) -#line 1 @"example-16.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-2.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-2.visp.verified.txt deleted file mode 100644 index cd3a318..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-2.visp.verified.txt +++ /dev/null @@ -1,27 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 3 @"example-2.visp" -let hello argname = - #line 5 @"example-2.visp" - let name = - argname - #line 6 @"example-2.visp" - printfn - "hello %s" - name - -#line 8 @"example-2.visp" -let visp_result_todo = - #line 8 @"example-2.visp" - hello - "world" -#line 8 @"example-2.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-3.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-3.visp.verified.txt deleted file mode 100644 index 14d88c8..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-3.visp.verified.txt +++ /dev/null @@ -1,26 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-3.visp" -let mutable value = "initial" -#line 2 @"example-3.visp" -printfn - "value is %s" - value -#line 3 @"example-3.visp" -value <- "updated" -#line 4 @"example-3.visp" -let visp_result_todo = - #line 4 @"example-3.visp" - printfn - "value is %s" - value -#line 4 @"example-3.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-4.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-4.visp.verified.txt deleted file mode 100644 index a90fb54..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-4.visp.verified.txt +++ /dev/null @@ -1,39 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 2 @"example-4.visp" -let mutable value = "initial" -#line 3 @"example-4.visp" -printfn - "value is %s" - value -#line 5 @"example-4.visp" -let foo = - (fun arg -> - #line 5 @"example-4.visp" - value <- arg) -#line 7 @"example-4.visp" -foo - "hello" -#line 8 @"example-4.visp" -printfn - "value is %s" - value -#line 10 @"example-4.visp" -foo - "world" -#line 11 @"example-4.visp" -let visp_result_todo = - #line 11 @"example-4.visp" - printfn - "value is %s" - value -#line 11 @"example-4.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-5.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-5.visp.verified.txt deleted file mode 100644 index 845fe38..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-5.visp.verified.txt +++ /dev/null @@ -1,60 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-5.visp" -let a = - 5 -#line 2 @"example-5.visp" -let b = - 4 -#line 4 @"example-5.visp" -printfn - "+ is %i" - (a + b + 52) -#line 5 @"example-5.visp" -printfn - "+ is %i" - (0) -#line 6 @"example-5.visp" -printfn - "+ is %i" - (2) -#line 8 @"example-5.visp" -printfn - "* is %i" - (a * b * 52) -#line 9 @"example-5.visp" -printfn - "* is %i" - (2) -#line 10 @"example-5.visp" -printfn - "* is %i" - (1) -#line 12 @"example-5.visp" -printfn - "- is %i" - (a - b - 52) -#line 13 @"example-5.visp" -printfn - "- is %i" - (-2) -#line 15 @"example-5.visp" -printfn - "/ is %f" - ((decimal a) / (decimal b) / (decimal 52)) -#line 16 @"example-5.visp" -let visp_result_todo = - #line 16 @"example-5.visp" - printfn - "/ is %f" - (1.0m / (decimal 2)) -#line 16 @"example-5.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-6.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-6.visp.verified.txt deleted file mode 100644 index 7bc057a..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-6.visp.verified.txt +++ /dev/null @@ -1,29 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-6.visp" -let values = - - #line 2 @"example-6.visp" - let temp = Vector(4) - temp.Add(Value.from 1) - temp.Add(Value.from 2) - temp.Add(Value.from "foo") - temp.Add(Value.from "bar") - temp - -#line 3 @"example-6.visp" -let visp_result_todo = - #line 3 @"example-6.visp" - printfn - "values are %O" - values -#line 3 @"example-6.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-7.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-7.visp.verified.txt deleted file mode 100644 index 88e2c0f..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-7.visp.verified.txt +++ /dev/null @@ -1,35 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 1 @"example-7.visp" -let values = - - #line 2 @"example-7.visp" - let temp = Vector(4) - temp.Add(Value.from 1) - temp.Add(Value.from 2) - temp.Add(Value.from "foo") - temp.Add(Value.from "bar") - temp - -#line 4 @"example-7.visp" -printfn - "values are %O" - values -#line 5 @"example-7.visp" -CoreMethods.``vector-push!``(state, Value.from(values), Value.from(4), Value.from(5), Value.from(6), Value.from(7)) -#line 6 @"example-7.visp" -let visp_result_todo = - #line 6 @"example-7.visp" - printfn - "values after update are %O" - values -#line 6 @"example-7.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-8.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-8.visp.verified.txt deleted file mode 100644 index ab66858..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-8.visp.verified.txt +++ /dev/null @@ -1,34 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 2 @"example-8.visp" -let ints: ResizeArray = - #line 3 @"example-8.visp" - new ResizeArray<_>() -#line 5 @"example-8.visp" -ints.Add( - 1) -#line 7 @"example-8.visp" -printfn - "number of ints: %i" - #line 7 @"example-8.visp" - ints.Count -#line 9 @"example-8.visp" -ints.Add( - 2) -#line 11 @"example-8.visp" -let visp_result_todo = - #line 11 @"example-8.visp" - printfn - "number of ints: %i" - #line 11 @"example-8.visp" - ints.Count -#line 11 @"example-8.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-9.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-9.visp.verified.txt deleted file mode 100644 index 87f8d18..0000000 --- a/tests/Visp.Compiler.UnitTests/snapshots/WriterTests.Supports example files_name=example-9.visp.verified.txt +++ /dev/null @@ -1,51 +0,0 @@ -// This file is auto-generated - -#nowarn "0020" // unused results from functions - -open Visp.Runtime.Library - -let state = { Todo = () } -#line 2 @"example-9.visp" -let decimals = - #line 2 @"example-9.visp" - new ResizeArray<_>() -#line 4 @"example-9.visp" -decimals.Add( - #line 4 @"example-9.visp" - decimal - 1) -#line 6 @"example-9.visp" -printfn - "number of decimals: %i" - #line 6 @"example-9.visp" - decimals.Count -#line 8 @"example-9.visp" -decimals.Add( - #line 8 @"example-9.visp" - decimal - 2) -#line 10 @"example-9.visp" -printfn - "number of decimals: %i" - #line 10 @"example-9.visp" - decimals.Count -#line 12 @"example-9.visp" -printfn - "decimals 0 is %f" - #line 12 @"example-9.visp" - decimals.[0] -#line 14 @"example-9.visp" -let index = - 1 -#line 16 @"example-9.visp" -let visp_result_todo = - #line 16 @"example-9.visp" - printfn - "decimals 1 is %f" - #line 16 @"example-9.visp" - decimals.[index] -#line 16 @"example-9.visp" -printfn - "%O" - visp_result_todo - diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_atom_atom-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_atom_atom-0.can parse.verified.txt similarity index 53% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_atom_atom-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_atom_atom-0.can parse.verified.txt index b38276d..c855d62 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_atom_atom-0.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_atom_atom-0.can parse.verified.txt @@ -5,24 +5,26 @@ open Visp.Runtime.Library let state = { Todo = () } -// line 8 @"atom-0.visp" +// line 9 @"atom-0.visp" +#nowarn "20" +// line 11 @"atom-0.visp" let inc (v: Value) = - // line 9 @"atom-0.visp" - Value.from ((1) + + // line 12 @"atom-0.visp" + Value.from ((1L) + (unwrapInt (v))) -// line 10 @"atom-0.visp" +// line 13 @"atom-0.visp" let count = - // line 10 @"atom-0.visp" - Value.atom(Value.from(0)) -// line 12 @"atom-0.visp" + // line 13 @"atom-0.visp" + Value.atom(Value.from(0L)) +// line 15 @"atom-0.visp" printfn ("count is %O") (deref (count)) -// line 14 @"atom-0.visp" +// line 17 @"atom-0.visp" CoreMethods.``swap!``(Value.from(count), inc) -// line 16 @"atom-0.visp" +// line 19 @"atom-0.visp" let visp_result_todo = - // line 16 @"atom-0.visp" + // line 19 @"atom-0.visp" printfn ("count is %O") (deref (count)) -// line 16 @"atom-0.visp" +// line 19 @"atom-0.visp" printfn ("%A") (visp_result_todo) diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_cond-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_cond-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_cond-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_cond-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_thread-first-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_thread-first-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_thread-first-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_thread-first-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_thread-first-1.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_thread-first-1.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_thread-first-1.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_thread-first-1.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_thread-last-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_thread-last-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_builtin-macros_thread-last-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_builtin-macros_thread-last-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_chars_char-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_chars_char-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_chars_char-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_chars_char-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_dot_dot-shorthands.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_dot_dot-shorthands.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_dot_dot-shorthands.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_dot_dot-shorthands.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-1.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-1.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-1.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-1.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-10.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-10.can parse.verified.txt similarity index 63% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-10.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-10.can parse.verified.txt index 8ff6094..2348fd0 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-10.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-10.can parse.verified.txt @@ -5,21 +5,23 @@ open Visp.Runtime.Library let state = { Todo = () } -// line 8 @"example-10.visp" +// line 9 @"example-10.visp" +#nowarn "20" +// line 11 @"example-10.visp" open System.Text -// line 10 @"example-10.visp" +// line 13 @"example-10.visp" let sb = - // line 10 @"example-10.visp" + // line 13 @"example-10.visp" (new StringBuilder()) -// line 12 @"example-10.visp" +// line 15 @"example-10.visp" (sb.Append("hello")) -// line 13 @"example-10.visp" +// line 16 @"example-10.visp" (sb.Append("world")) -// line 15 @"example-10.visp" +// line 18 @"example-10.visp" let visp_result_todo = - // line 15 @"example-10.visp" + // line 18 @"example-10.visp" printfn ("sb contains: %s") ((sb.ToString())) -// line 15 @"example-10.visp" +// line 18 @"example-10.visp" printfn ("%A") (visp_result_todo) diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-11.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-11.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-11.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-11.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-12.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-12.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-12.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-12.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-13.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-13.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-13.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-13.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-14.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-14.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-14.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-14.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-15.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-15.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-15.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-15.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-16.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-16.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-16.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-16.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-17.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-17.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-17.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-17.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-2.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-2.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-2.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-2.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-3.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-3.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-3.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-3.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-4.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-4.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-4.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-4.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-5.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-5.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-5.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-5.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-6.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-6.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-6.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-6.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-7.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-7.can parse.verified.txt similarity index 72% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-7.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-7.can parse.verified.txt index 0885d71..0ac1ff6 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-7.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-7.can parse.verified.txt @@ -5,23 +5,25 @@ open Visp.Runtime.Library let state = { Todo = () } -// line 8 @"example-7.visp" +// line 9 @"example-7.visp" +#nowarn "20" +// line 11 @"example-7.visp" let values = - // line 9 @"example-7.visp" + // line 12 @"example-7.visp" let temp = Vector(4) temp.Add(Value.from(1)) temp.Add(Value.from(2)) temp.Add(Value.from("foo")) temp.Add(Value.from("bar")) temp -// line 11 @"example-7.visp" +// line 14 @"example-7.visp" printfn ("values are %O") (values) -// line 12 @"example-7.visp" +// line 15 @"example-7.visp" CoreMethods.``vector-push!``(state, Value.from(values), Value.from(4), Value.from(5), Value.from(6), Value.from(7)) -// line 13 @"example-7.visp" +// line 16 @"example-7.visp" let visp_result_todo = - // line 13 @"example-7.visp" + // line 16 @"example-7.visp" printfn ("values after update are %O") (values) -// line 13 @"example-7.visp" +// line 16 @"example-7.visp" printfn ("%A") (visp_result_todo) diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-8.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-8.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-8.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-8.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-9.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-9.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_example-9.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_example-9.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_variables-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_examples_variables-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_examples_variables-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_examples_variables-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-0.can parse.verified.txt similarity index 90% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-0.can parse.verified.txt index b75389b..aa5a715 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-0.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-0.can parse.verified.txt @@ -8,7 +8,7 @@ let state = { Todo = () } // line 8 @"for-in-0.visp" let visp_result_todo = // line 8 @"for-in-0.visp" - for var in 0 .. 1 .. 10 do + for var in (0) .. (1) .. (10) do // line 9 @"for-in-0.visp" printfn ("var is: %O") (var) // line 8 @"for-in-0.visp" diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-1.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-1.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-1.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-1.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-2.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-2.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-2.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-2.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-3.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-3.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-3.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-3.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-4.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-4.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_for-in_for-in-4.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_for-in_for-in-4.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_hashmap_hashmap-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_hashmap_hashmap-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_hashmap_hashmap-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_hashmap_hashmap-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_hashset_hashset-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_hashset_hashset-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_hashset_hashset-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_hashset_hashset-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_if_if-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_if_if-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_if_if-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_if_if-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_macros_syntax-macro-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_macros_syntax-macro-0.can parse.verified.txt similarity index 64% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_macros_syntax-macro-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_macros_syntax-macro-0.can parse.verified.txt index 3338b26..e9e2ce3 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_macros_syntax-macro-0.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_macros_syntax-macro-0.can parse.verified.txt @@ -5,7 +5,9 @@ open Visp.Runtime.Library let state = { Todo = () } -// line 9 @"syntax-macro-0.visp" +// line 10 @"syntax-macro-0.visp" +#nowarn "0026" +// line 12 @"syntax-macro-0.visp" let macro_matchfnexample = "__MACRO_INIT__" // line 0 @"" let name arg = @@ -17,21 +19,21 @@ let name arg = | _ -> 0 -// line 23 @"syntax-macro-0.visp" +// line 26 @"syntax-macro-0.visp" let name2 tup = - // line 24 @"syntax-macro-0.visp" + // line 27 @"syntax-macro-0.visp" match tup with | (a, b) -> - // line 25 @"syntax-macro-0.visp" + // line 28 @"syntax-macro-0.visp" (a) + (b) | _ -> 0 -// line 28 @"syntax-macro-0.visp" +// line 31 @"syntax-macro-0.visp" let visp_result_todo = - // line 28 @"syntax-macro-0.visp" + // line 31 @"syntax-macro-0.visp" printfn ("%A & %A") (name ((1, 2))) (name2 ((1, 2))) -// line 28 @"syntax-macro-0.visp" +// line 31 @"syntax-macro-0.visp" printfn ("%A") (visp_result_todo) diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_numbers_int-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_numbers_int-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_numbers_int-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_numbers_int-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_lambda-shorthand-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_lambda-shorthand-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_lambda-shorthand-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_lambda-shorthand-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_let-values.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_let-values.can parse.verified.txt similarity index 86% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_let-values.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_let-values.can parse.verified.txt index e34ed43..e8baa6d 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_let-values.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_let-values.can parse.verified.txt @@ -8,7 +8,7 @@ let state = { Todo = () } // line 13 @"let-values.visp" printfn ("%i") (CoreMethods.``add``(1, 2)) // line 14 @"let-values.visp" -printfn ("%i") (List.reduce (CoreMethods.add) ([1;2;3;4;5])) +printfn ("%i") (List.reduce (add) ([1;2;3;4;5])) // line 16 @"let-values.visp" let visp_result_todo = "let-value support?" // line 16 @"let-values.visp" diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_match-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_match-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_match-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_match-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_props.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_props.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_props.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_props.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_strings-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_strings-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_strings-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_strings-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_tuple-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_tuple-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_parsing_tuple-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_parsing_tuple-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_quotation_quote-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_quotation_quote-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_quotation_quote-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_quotation_quote-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_type_type-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_type_type-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_type_type-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_type_type-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_vector_vector-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_vector_vector-0.can parse.verified.txt similarity index 100% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_vector_vector-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_vector_vector-0.can parse.verified.txt diff --git a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_while_while-0.visp.verified.txt b/tests/Visp.Compiler.UnitTests/snapshots/tests_while_while-0.can parse.verified.txt similarity index 50% rename from tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_while_while-0.visp.verified.txt rename to tests/Visp.Compiler.UnitTests/snapshots/tests_while_while-0.can parse.verified.txt index f43071e..aaede2a 100644 --- a/tests/Visp.Compiler.UnitTests/snapshots/ParsingTests.can parse tests_while_while-0.visp.verified.txt +++ b/tests/Visp.Compiler.UnitTests/snapshots/tests_while_while-0.can parse.verified.txt @@ -6,23 +6,25 @@ open Visp.Runtime.Library let state = { Todo = () } // line 9 @"while-0.visp" +#nowarn "20" +// line 11 @"while-0.visp" let inc (v: Value) = - // line 10 @"while-0.visp" - Value.from ((1) + + // line 12 @"while-0.visp" + Value.from ((1L) + (unwrapInt (v))) -// line 12 @"while-0.visp" +// line 14 @"while-0.visp" let count = - // line 12 @"while-0.visp" - Value.atom(Value.from(0)) -// line 13 @"while-0.visp" + // line 14 @"while-0.visp" + Value.atom(Value.from(0L)) +// line 15 @"while-0.visp" let visp_result_todo = - // line 13 @"while-0.visp" - while CoreMethods.isTruthy(CoreMethods.``lt``(deref (count), 5)) do - // line 14 @"while-0.visp" + // line 15 @"while-0.visp" + while CoreMethods.isTruthy(CoreMethods.``lt``(unwrapInt (deref (count)), 5L)) do + // line 16 @"while-0.visp" printfn ("in loop %O") (deref (count)) - // line 15 @"while-0.visp" + // line 17 @"while-0.visp" CoreMethods.``swap!``(Value.from(count), inc) -// line 13 @"while-0.visp" +// line 15 @"while-0.visp" printfn ("%A") (visp_result_todo) diff --git a/tests/Visp.ExecutionTests/ExecutionTests.generated.fs b/tests/Visp.ExecutionTests/ExecutionTests.generated.fs new file mode 100644 index 0000000..a24840e --- /dev/null +++ b/tests/Visp.ExecutionTests/ExecutionTests.generated.fs @@ -0,0 +1,242 @@ +// Copyright 2023 Ville Penttinen +// Distributed under the MIT License. +// https://github.com/vipentti/visp-fs/blob/main/LICENSE.md + +// AUTO GENERATED +// DO NOT MODIFY BY HAND +// generated by test-generator.visp + +namespace ExecutionTests + +open Xunit + +[] +module ``tests_atom_atom-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/atom/atom-0.visp" + +[] +module ``tests_builtin-macros_cond-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/builtin-macros/cond-0.visp" + +[] +module ``tests_builtin-macros_thread-first-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/builtin-macros/thread-first-0.visp" + +[] +module ``tests_builtin-macros_thread-first-1`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/builtin-macros/thread-first-1.visp" + +[] +module ``tests_builtin-macros_thread-last-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/builtin-macros/thread-last-0.visp" + +[] +module ``tests_chars_char-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/chars/char-0.visp" + +[] +module ``tests_dot_dot-shorthands`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/dot/dot-shorthands.visp" + +[] +module ``tests_examples_example-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-0.visp" + +[] +module ``tests_examples_example-1`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-1.visp" + +[] +module ``tests_examples_example-10`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-10.visp" + +[] +module ``tests_examples_example-11`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-11.visp" + +[] +module ``tests_examples_example-12`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-12.visp" + +[] +module ``tests_examples_example-13`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-13.visp" + +[] +module ``tests_examples_example-14`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-14.visp" + +[] +module ``tests_examples_example-15`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-15.visp" + +[] +module ``tests_examples_example-16`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-16.visp" + +[] +module ``tests_examples_example-17`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-17.visp" + +[] +module ``tests_examples_example-2`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-2.visp" + +[] +module ``tests_examples_example-3`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-3.visp" + +[] +module ``tests_examples_example-4`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-4.visp" + +[] +module ``tests_examples_example-5`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-5.visp" + +[] +module ``tests_examples_example-6`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-6.visp" + +[] +module ``tests_examples_example-7`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-7.visp" + +[] +module ``tests_examples_example-8`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-8.visp" + +[] +module ``tests_examples_example-9`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/example-9.visp" + +[] +module ``tests_examples_variables-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/examples/variables-0.visp" + +[] +module ``tests_for-in_for-in-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/for-in/for-in-0.visp" + +[] +module ``tests_for-in_for-in-1`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/for-in/for-in-1.visp" + +[] +module ``tests_for-in_for-in-2`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/for-in/for-in-2.visp" + +[] +module ``tests_for-in_for-in-3`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/for-in/for-in-3.visp" + +[] +module ``tests_for-in_for-in-4`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/for-in/for-in-4.visp" + +[] +module ``tests_hashmap_hashmap-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/hashmap/hashmap-0.visp" + +[] +module ``tests_hashset_hashset-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/hashset/hashset-0.visp" + +[] +module ``tests_if_if-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/if/if-0.visp" + +[] +module ``tests_macros_syntax-macro-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/macros/syntax-macro-0.visp" + +[] +module ``tests_numbers_int-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/numbers/int-0.visp" + +[] +module ``tests_parsing_lambda-shorthand-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/parsing/lambda-shorthand-0.visp" + +[] +module ``tests_parsing_let-values`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/parsing/let-values.visp" + +[] +module ``tests_parsing_match-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/parsing/match-0.visp" + +[] +module ``tests_parsing_props`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/parsing/props.visp" + +[] +module ``tests_parsing_strings-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/parsing/strings-0.visp" + +[] +module ``tests_parsing_tuple-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/parsing/tuple-0.visp" + +[] +module ``tests_quotation_quote-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/quotation/quote-0.visp" + +[] +module ``tests_type_type-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/type/type-0.visp" + +[] +module ``tests_vector_vector-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/vector/vector-0.visp" + +[] +module ``tests_while_while-0`` = + [] + let ``can execute`` () = TestUtils.runTest "tests/while/while-0.visp" + diff --git a/tests/Visp.ExecutionTests/Program.fs b/tests/Visp.ExecutionTests/Program.fs new file mode 100644 index 0000000..80c6d84 --- /dev/null +++ b/tests/Visp.ExecutionTests/Program.fs @@ -0,0 +1,3 @@ +module Program = + [] + let main _ = 0 diff --git a/tests/Visp.ExecutionTests/TestUtils.fs b/tests/Visp.ExecutionTests/TestUtils.fs new file mode 100644 index 0000000..8232c22 --- /dev/null +++ b/tests/Visp.ExecutionTests/TestUtils.fs @@ -0,0 +1,88 @@ +module TestUtils + +open FsUnit.Xunit +open CliWrap +open System.IO +open System.IO.Abstractions +open System.Text +open VerifyXunit +open Visp.Compiler.ProjectGenerator + +let getVispFilePath name = + let src_dir = __SOURCE_DIRECTORY__ + Path.Combine(src_dir, "..", "..", "visp", name) |> Path.GetFullPath + +let CreateAndRunProject filePath = + ((if runtimePackageExists () then + "runtime package found" + else + $"runtime package not found in {runtimePackagePath}"), + if commonPackageExists () then + "common package found" + else + $"common package not found in {commonPackagePath}") + |> should equal ("runtime package found", "common package found") + + let filePath = Path.GetFullPath filePath + let fileNameWithoutExtension = Path.GetFileNameWithoutExtension filePath + let cwd = Path.GetDirectoryName filePath + let rnd = Path.GetRandomFileName() + + let projectPath = + Path.Combine( + Path.GetTempPath(), + "visp-fs-execution", + (sprintf "%s-%s-project" fileNameWithoutExtension rnd) + ) + + let files = [ VispFile.CoreLib "core.visp"; VispFile.Main filePath ] + + let generator = new FsharpGenerator(new FileSystem(), projectPath) + + let sb = new StringBuilder() + + generator.WriteVispFiles RuntimeLibraryReference.Package files + + let dotnet = + Cli + .Wrap("dotnet") + .WithArguments(Array.concat [| [| "run"; "--project"; projectPath |] |]) + .WithWorkingDirectory(cwd) + .WithStandardOutputPipe(PipeTarget.ToStringBuilder(sb)) + .WithStandardErrorPipe(PipeTarget.ToStringBuilder(sb)) + .WithValidation(CommandResultValidation.None) + + async { + let mutable succeed = false + try + let! result = dotnet.ExecuteAsync().Task |> Async.AwaitTask + + sb.AppendLine().Append("ExitCode: ").Append(result.ExitCode).AppendLine() + |> ignore + + succeed <- result.ExitCode = 0 + + return (result.ExitCode, sb.ToString()) + finally + try + if succeed && Directory.Exists(projectPath) then + Directory.Delete(projectPath, true) + () + with _ -> + () + } + +let runTest (name: string) = + async { + let path = getVispFilePath name + let! (_, output) = CreateAndRunProject path + + return! + Verifier + .Verify(output) + .UseDirectory("snapshots") + .UseParameters(name.Replace('/', '_').Replace('\\', '_')) + .DisableDiff() + .ToTask() + |> Async.AwaitTask + } diff --git a/tests/Visp.ExecutionTests/Tests.fs b/tests/Visp.ExecutionTests/Tests.fs new file mode 100644 index 0000000..961255d --- /dev/null +++ b/tests/Visp.ExecutionTests/Tests.fs @@ -0,0 +1,8 @@ +[] +module Tests + +open Xunit + +[] +let ``Basic execution`` () = + TestUtils.runTest "tests/examples/example-0.visp" diff --git a/tests/Visp.ExecutionTests/Visp.ExecutionTests.fsproj b/tests/Visp.ExecutionTests/Visp.ExecutionTests.fsproj new file mode 100644 index 0000000..3621e0b --- /dev/null +++ b/tests/Visp.ExecutionTests/Visp.ExecutionTests.fsproj @@ -0,0 +1,43 @@ + + + + net8.0 + + false + false + true + + + + + + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/tests/Visp.ExecutionTests/snapshots/Tests.Basic execution.verified.txt b/tests/Visp.ExecutionTests/snapshots/Tests.Basic execution.verified.txt new file mode 100644 index 0000000..9a1d950 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/Tests.Basic execution.verified.txt @@ -0,0 +1,4 @@ +hello world +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_atom_atom-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_atom_atom-0.can execute.verified.txt new file mode 100644 index 0000000..7613722 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_atom_atom-0.can execute.verified.txt @@ -0,0 +1,5 @@ +count is 0 +count is 1 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_cond-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_cond-0.can execute.verified.txt new file mode 100644 index 0000000..6f7468a --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_cond-0.can execute.verified.txt @@ -0,0 +1,3 @@ +3 + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-0.can execute.verified.txt new file mode 100644 index 0000000..efc7880 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-0.can execute.verified.txt @@ -0,0 +1,3 @@ +"return me" + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-1.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-1.can execute.verified.txt new file mode 100644 index 0000000..39033c4 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-first-1.can execute.verified.txt @@ -0,0 +1,4 @@ +arg is return me +"return me" + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-last-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-last-0.can execute.verified.txt new file mode 100644 index 0000000..6a515e4 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_builtin-macros_thread-last-0.can execute.verified.txt @@ -0,0 +1,6 @@ +Groups seq [Game 1:; 1] +Game Prefix Game 1: +Game Prefix Game 1: +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_chars_char-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_chars_char-0.can execute.verified.txt new file mode 100644 index 0000000..2a2b984 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_chars_char-0.can execute.verified.txt @@ -0,0 +1,9 @@ +Char is h +Char is a +Char is a +Char is : +Char is ( +Char is ) +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_dot_dot-shorthands.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_dot_dot-shorthands.can execute.verified.txt new file mode 100644 index 0000000..c67eaef --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_dot_dot-shorthands.can execute.verified.txt @@ -0,0 +1,6 @@ +-1 +9223372036854775807 +64 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-0.can execute.verified.txt new file mode 100644 index 0000000..9a1d950 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-0.can execute.verified.txt @@ -0,0 +1,4 @@ +hello world +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-1.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-1.can execute.verified.txt new file mode 100644 index 0000000..63fc039 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-1.can execute.verified.txt @@ -0,0 +1,8 @@ +hello test +hello no types +hello vector +hello anon +hello lambda +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-10.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-10.can execute.verified.txt new file mode 100644 index 0000000..cca0bb5 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-10.can execute.verified.txt @@ -0,0 +1,4 @@ +sb contains: helloworld +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-11.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-11.can execute.verified.txt new file mode 100644 index 0000000..aff5bab --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-11.can execute.verified.txt @@ -0,0 +1,7 @@ +this is in the default top-level module +this is inside MyCustomModule +hello world +this is back in the top-level-module +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-12.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-12.can execute.verified.txt new file mode 100644 index 0000000..6dbbf1c --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-12.can execute.verified.txt @@ -0,0 +1,5 @@ +quoted is: (hello world in quotes) +next_quoted is: ("constants" :keywords-work true 1 1.5 false also "work" nil) +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-13.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-13.can execute.verified.txt new file mode 100644 index 0000000..3a82abc --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-13.can execute.verified.txt @@ -0,0 +1,5 @@ +quasiquoted is: (hello world in quotes) +next_quasiquoted is: ("constants" :keywords-work true 1 1.5 false also "work" nil) +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-14.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-14.can execute.verified.txt new file mode 100644 index 0000000..cf613a4 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-14.can execute.verified.txt @@ -0,0 +1,6 @@ +value is "hello" +result2 is (1 2 7) +result3 is (0 1 2 3 4 5 6) +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-15.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-15.can execute.verified.txt new file mode 100644 index 0000000..a262b30 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-15.can execute.verified.txt @@ -0,0 +1,3 @@ +199 + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-16.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-16.can execute.verified.txt new file mode 100644 index 0000000..159c4d9 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-16.can execute.verified.txt @@ -0,0 +1,3 @@ +String "2" + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-17.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-17.can execute.verified.txt new file mode 100644 index 0000000..64cff65 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-17.can execute.verified.txt @@ -0,0 +1,3 @@ +"hello world banaani" + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-2.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-2.can execute.verified.txt new file mode 100644 index 0000000..9a1d950 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-2.can execute.verified.txt @@ -0,0 +1,4 @@ +hello world +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-3.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-3.can execute.verified.txt new file mode 100644 index 0000000..c82623c --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-3.can execute.verified.txt @@ -0,0 +1,5 @@ +value is initial +value is updated +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-4.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-4.can execute.verified.txt new file mode 100644 index 0000000..1798a97 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-4.can execute.verified.txt @@ -0,0 +1,6 @@ +value is initial +value is hello +value is world +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-5.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-5.can execute.verified.txt new file mode 100644 index 0000000..95a207d --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-5.can execute.verified.txt @@ -0,0 +1,13 @@ ++ is 61 ++ is 0 ++ is 2 +* is 1040 +* is 2 +* is 1 +- is -51 +- is -2 +/ is 0.024038 +/ is 0.500000 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-6.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-6.can execute.verified.txt new file mode 100644 index 0000000..f9a0a25 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-6.can execute.verified.txt @@ -0,0 +1,4 @@ +values are [1 2 "foo" "bar"] +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-7.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-7.can execute.verified.txt new file mode 100644 index 0000000..852f6db --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-7.can execute.verified.txt @@ -0,0 +1,5 @@ +values are [1 2 "foo" "bar"] +values after update are [1 2 "foo" "bar" 4 5 6 7] +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-8.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-8.can execute.verified.txt new file mode 100644 index 0000000..54ad351 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-8.can execute.verified.txt @@ -0,0 +1,5 @@ +number of ints: 1 +number of ints: 2 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_example-9.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-9.can execute.verified.txt new file mode 100644 index 0000000..5818890 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_example-9.can execute.verified.txt @@ -0,0 +1,7 @@ +number of decimals: 1 +number of decimals: 2 +decimals 0 is 1.000000 +decimals 1 is 2.000000 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_examples_variables-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_examples_variables-0.can execute.verified.txt new file mode 100644 index 0000000..a7a9ce1 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_examples_variables-0.can execute.verified.txt @@ -0,0 +1,6 @@ +value is 1 +valuemut is 1 +valuemut is 2 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-0.can execute.verified.txt new file mode 100644 index 0000000..d134dfa --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-0.can execute.verified.txt @@ -0,0 +1,14 @@ +var is: 0 +var is: 1 +var is: 2 +var is: 3 +var is: 4 +var is: 5 +var is: 6 +var is: 7 +var is: 8 +var is: 9 +var is: 10 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-1.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-1.can execute.verified.txt new file mode 100644 index 0000000..b84b7b6 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-1.can execute.verified.txt @@ -0,0 +1,9 @@ +var is: 1 +var is: 2 +var is: 3 +var is: 4 +var is: 5 +var is: 6 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-2.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-2.can execute.verified.txt new file mode 100644 index 0000000..b84b7b6 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-2.can execute.verified.txt @@ -0,0 +1,9 @@ +var is: 1 +var is: 2 +var is: 3 +var is: 4 +var is: 5 +var is: 6 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-3.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-3.can execute.verified.txt new file mode 100644 index 0000000..b84b7b6 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-3.can execute.verified.txt @@ -0,0 +1,9 @@ +var is: 1 +var is: 2 +var is: 3 +var is: 4 +var is: 5 +var is: 6 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-4.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-4.can execute.verified.txt new file mode 100644 index 0000000..c5779c9 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_for-in_for-in-4.can execute.verified.txt @@ -0,0 +1,6 @@ +var is: [1, 2] +var is: [3, 4] +var is: [5, 6] +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt new file mode 100644 index 0000000..d660846 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt @@ -0,0 +1,6 @@ +{:this-is-a-key "value" "string as key" "string value" 0 "int as key"} +"string value" +"value" +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt new file mode 100644 index 0000000..8b95b30 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt @@ -0,0 +1,4 @@ +#{:this-is-a-key "int as key" "string as key" "string value" "value" 0} +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_if_if-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_if_if-0.can execute.verified.txt new file mode 100644 index 0000000..a566b4d --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_if_if-0.can execute.verified.txt @@ -0,0 +1,3 @@ +"alt" + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_macros_syntax-macro-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_macros_syntax-macro-0.can execute.verified.txt new file mode 100644 index 0000000..d7e2ff8 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_macros_syntax-macro-0.can execute.verified.txt @@ -0,0 +1,4 @@ +3 & 3 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_numbers_int-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_numbers_int-0.can execute.verified.txt new file mode 100644 index 0000000..5384101 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_numbers_int-0.can execute.verified.txt @@ -0,0 +1,6 @@ +int32 is 99 +int32 is 99 +int64 is 99L +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_parsing_lambda-shorthand-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_parsing_lambda-shorthand-0.can execute.verified.txt new file mode 100644 index 0000000..6f7468a --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_parsing_lambda-shorthand-0.can execute.verified.txt @@ -0,0 +1,3 @@ +3 + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_parsing_let-values.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_parsing_let-values.can execute.verified.txt new file mode 100644 index 0000000..791d225 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_parsing_let-values.can execute.verified.txt @@ -0,0 +1,5 @@ +3 +15 +"let-value support?" + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_parsing_match-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_parsing_match-0.can execute.verified.txt new file mode 100644 index 0000000..30d0acd --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_parsing_match-0.can execute.verified.txt @@ -0,0 +1,7 @@ +was hello +a is 1 +a is 1 +a is 1 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_parsing_props.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_parsing_props.can execute.verified.txt new file mode 100644 index 0000000..0cf4d39 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_parsing_props.can execute.verified.txt @@ -0,0 +1,3 @@ +5 + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_parsing_strings-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_parsing_strings-0.can execute.verified.txt new file mode 100644 index 0000000..9ee3c06 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_parsing_strings-0.can execute.verified.txt @@ -0,0 +1,18 @@ +string is: ' + this is + a multiline + string +' +string is: ' + this is + a multiline + string +' +test is: ' +let ``can parse hello`` = + TestUtils.runTest hello + |> Async.AwaitTask + ' +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_parsing_tuple-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_parsing_tuple-0.can execute.verified.txt new file mode 100644 index 0000000..5bb6eca --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_parsing_tuple-0.can execute.verified.txt @@ -0,0 +1,6 @@ +(1, 2) +(1, 2, 3) +(1, 2, 3, 4) +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_quotation_quote-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_quotation_quote-0.can execute.verified.txt new file mode 100644 index 0000000..abd0ea1 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_quotation_quote-0.can execute.verified.txt @@ -0,0 +1,8 @@ +items: (1 2 3 4 5) +sym: symbol +something: (fn [a] (+ a b 1 (call + 1 2))) +nested: (nested1 (nested2 (nested3 (nested4 and on and on :keyword)))) +nested vec: [nested1 (nested2 [nested3 (nested4 and on and on :keyword)])] +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_type_type-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_type_type-0.can execute.verified.txt new file mode 100644 index 0000000..0291907 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_type_type-0.can execute.verified.txt @@ -0,0 +1,5 @@ +type-0+MyType +99 +() + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_vector_vector-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_vector_vector-0.can execute.verified.txt new file mode 100644 index 0000000..6771ac1 --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_vector_vector-0.can execute.verified.txt @@ -0,0 +1,6 @@ +[99] +seq + [Number (Int64 1L); Number (Int64 -1L); Number (Int64 3L); Number (Int64 4L); + ...] + +ExitCode: 0 diff --git a/tests/Visp.ExecutionTests/snapshots/tests_while_while-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_while_while-0.can execute.verified.txt new file mode 100644 index 0000000..d388edf --- /dev/null +++ b/tests/Visp.ExecutionTests/snapshots/tests_while_while-0.can execute.verified.txt @@ -0,0 +1,8 @@ +in loop 0 +in loop 1 +in loop 2 +in loop 3 +in loop 4 +() + +ExitCode: 0 diff --git a/visp-fs.sln b/visp-fs.sln index 09e9aa9..9443c38 100644 --- a/visp-fs.sln +++ b/visp-fs.sln @@ -19,6 +19,10 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Visp.Compiler.UnitTests", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.csproj", "{7E06E033-801D-49A7-9E9D-7BDB8AC83739}" EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Visp.ExecutionTests", "tests\Visp.ExecutionTests\Visp.ExecutionTests.fsproj", "{1D2C2E05-174B-4A59-9F93-991F4FD54C05}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Visp.Common", "src\Visp.Common\Visp.Common.csproj", "{0A4BBD79-BF3F-49AF-90A7-3C8D2E389231}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -50,6 +54,14 @@ Global {9DF27262-A620-4290-A864-6B54F5311C6F}.Debug|Any CPU.Build.0 = Debug|Any CPU {9DF27262-A620-4290-A864-6B54F5311C6F}.Release|Any CPU.ActiveCfg = Release|Any CPU {9DF27262-A620-4290-A864-6B54F5311C6F}.Release|Any CPU.Build.0 = Release|Any CPU + {1D2C2E05-174B-4A59-9F93-991F4FD54C05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D2C2E05-174B-4A59-9F93-991F4FD54C05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D2C2E05-174B-4A59-9F93-991F4FD54C05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D2C2E05-174B-4A59-9F93-991F4FD54C05}.Release|Any CPU.Build.0 = Release|Any CPU + {0A4BBD79-BF3F-49AF-90A7-3C8D2E389231}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A4BBD79-BF3F-49AF-90A7-3C8D2E389231}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A4BBD79-BF3F-49AF-90A7-3C8D2E389231}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A4BBD79-BF3F-49AF-90A7-3C8D2E389231}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {908A9DB2-432F-4EB5-AB57-ECE7EA7BF2C0} = {4E4F9B77-827E-4D97-A43D-EC76EAB3BA21} @@ -57,5 +69,7 @@ Global {33332964-B8F9-42F5-96D4-B8FBB5EA232E} = {4E4F9B77-827E-4D97-A43D-EC76EAB3BA21} {3A818BEF-00C4-4143-AA9B-7661152CED6C} = {4E4F9B77-827E-4D97-A43D-EC76EAB3BA21} {9DF27262-A620-4290-A864-6B54F5311C6F} = {CC30ECC0-3998-4F4C-8428-B3636CADE4FA} + {1D2C2E05-174B-4A59-9F93-991F4FD54C05} = {CC30ECC0-3998-4F4C-8428-B3636CADE4FA} + {0A4BBD79-BF3F-49AF-90A7-3C8D2E389231} = {4E4F9B77-827E-4D97-A43D-EC76EAB3BA21} EndGlobalSection EndGlobal diff --git a/visp/tests/atom/atom-0.visp b/visp/tests/atom/atom-0.visp index f079f49..5d259a2 100644 --- a/visp/tests/atom/atom-0.visp +++ b/visp/tests/atom/atom-0.visp @@ -5,9 +5,12 @@ ;; for basic syntax highlighting ;; vim: set syntax=clojure: +;; discard +#nowarn "20" + (fn inc ([v: Value]) - (Value.from (+ 1 (unwrapInt v)))) -(let count (atom 0)) + (Value.from (+ 1L (unwrapInt v)))) +(let count (atom 0L)) (printfn "count is %O" @count) diff --git a/visp/tests/examples/example-10.visp b/visp/tests/examples/example-10.visp index 610edd0..8212445 100644 --- a/visp/tests/examples/example-10.visp +++ b/visp/tests/examples/example-10.visp @@ -5,6 +5,9 @@ ;; for basic syntax highlighting ;; vim: set syntax=clojure: +;; implicitly ignore warning +#nowarn "20" + (open System.Text) (let sb (new StringBuilder)) diff --git a/visp/tests/examples/example-7.visp b/visp/tests/examples/example-7.visp index e7c27c6..881b4f5 100644 --- a/visp/tests/examples/example-7.visp +++ b/visp/tests/examples/example-7.visp @@ -5,6 +5,9 @@ ;; for basic syntax highlighting ;; vim: set syntax=clojure: +;; implicitly ignore warning +#nowarn "20" + (let values [1 2 "foo" "bar"]) diff --git a/visp/tests/macros/syntax-macro-0.visp b/visp/tests/macros/syntax-macro-0.visp index dbbd64d..38e5757 100644 --- a/visp/tests/macros/syntax-macro-0.visp +++ b/visp/tests/macros/syntax-macro-0.visp @@ -6,6 +6,9 @@ ;; for basic syntax highlighting ;; vim: set syntax=clojure: +;; this rule will never be matched +#nowarn "0026" + (syntax-macro matchfnexample [(_ sym m ...) (fn sym (arg) diff --git a/visp/tests/parsing/let-values.visp b/visp/tests/parsing/let-values.visp index 0c4b3dc..a1f5ebb 100644 --- a/visp/tests/parsing/let-values.visp +++ b/visp/tests/parsing/let-values.visp @@ -11,6 +11,6 @@ ;; (List ) ; (Arr) (printfn "%i" (add 1 2)) -(printfn "%i" (List.reduce CoreMethods.add (!list 1 2 3 4 5))) +(printfn "%i" (List.reduce add (!list 1 2 3 4 5))) "let-value support?" diff --git a/visp/tests/while/while-0.visp b/visp/tests/while/while-0.visp index 23b59a1..662b1b5 100644 --- a/visp/tests/while/while-0.visp +++ b/visp/tests/while/while-0.visp @@ -6,10 +6,12 @@ ;; for basic syntax highlighting ;; vim: set syntax=clojure: +#nowarn "20" + (fn inc ([v: Value]) - (Value.from (+ 1 (unwrapInt v)))) + (Value.from (+ 1L (unwrapInt v)))) -(let count (atom 0)) -(while (< @count 5) +(let count (atom 0L)) +(while (< (unwrapInt @count) 5L) (printfn "in loop %O" @count) (swap! count inc)) diff --git a/visp/utils/test-generator.visp b/visp/utils/test-generator.visp index 8cf1214..1d854ad 100644 --- a/visp/utils/test-generator.visp +++ b/visp/utils/test-generator.visp @@ -6,7 +6,7 @@ ;; vim: set syntax=clojure: (open System.IO) -(fn genTestHeader () +(fn genTestHeader (moduleName) (->> (sprintf """ // Copyright 2023 Ville Penttinen // Distributed under the MIT License. @@ -16,21 +16,36 @@ // DO NOT MODIFY BY HAND // generated by test-generator.visp -[] -module ParsingTests +namespace %s open Xunit - """) + """ moduleName) .Trim)) -(fn genTestTemplate ((path: string)) + +(fn GetTestFilePath ((parent: string) (path: string)) + (->> (.Replace path parent "") + #(.Replace %1 "\\" "/") + #(.TrimStart %1 #\/) + #(.TrimStart %1 #\\))) + +(fn NormalizeTestName ((parent: string) (path: string)) + (->> (GetTestFilePath parent path) + #(.Replace %1 "/" "_") + #(.Replace %1 "\\" "_"))) + +(fn GetTestCategory ((parent: string) (path: string)) + (->> path Path.GetDirectoryName #(.Replace %1 parent "") + #(NormalizeTestName parent %1))) + +(fn genTestTemplate ((prefix: string) (path: string)) (let path (.Replace path "\\" "/")) (let testname (->> path #(.Replace %1 "/" "_"))) (let template (sprintf #r""" [] -let ``can parse %s`` () = TestUtils.runTest "%s" - """ testname path)) +let ``%s %s`` () = TestUtils.runTest "%s" + """ prefix testname path)) (->> template .Trim)) (fn IsIgnoredFile ([file: string]) @@ -38,18 +53,76 @@ let ``can parse %s`` () = TestUtils.runTest "%s" (or (.Contains dir "errors") )) -(fn genTests ([parent: string] [files: seq]) +(type TestScenario ([m : string] [prefix: string]) + (member _.Prefix prefix) + (member _.Module m)) + +(fn write ((w: System.IO.StringWriter) (s: string)) + (.Write w s)) + +(fn writeln ((w: System.IO.StringWriter) (s: string)) + (write w s) + (write w (+NewLine System.Environment))) + +(fn GenerateTestGroup (prefix groups) + (match groups + [(id . files) + (let writer (new System.IO.StringWriter)) + + (let write (write writer)) + (let writeln (writeln writer)) + + (writeln "[]") + (writeln (sprintf "module ``%s`` =" id)) + + (for/in [[file: string] files] + (let name (->> (.Replace file "\\" "/") #(.Replace %1 "/" "_"))) + (write " ") + (writeln "[]") + (write " ") + (writeln (->> (sprintf #r"""let ``%s %s`` () = TestUtils.runTest "%s" """ prefix name file) .Trim)) + () + ) + + (.ToString writer) + ] + )) + +(fn GenerateTestModulePerFile (parent prefix file) + (let writer (new System.IO.StringWriter)) + + (let write (write writer)) + (let writeln (writeln writer)) + + (let file (GetTestFilePath parent file)) + (let id (NormalizeTestName parent file)) + + (writeln "[]") + (writeln (sprintf "module ``%s`` =" (.Replace id ".visp" ""))) + + ;; (let name (->> (.Replace file "\\" "/") #(.Replace %1 "/" "_"))) + (write " ") + (writeln "[]") + (write " ") + (writeln (->> (sprintf #r"""let ``%s`` () = TestUtils.runTest "%s" """ prefix file) .Trim)) + () + + (.ToString writer) + ) + +(fn genTestsBase ([scenario : TestScenario] [parent: string] [files: seq]) (let tests (->> files (Seq.filter #(not (IsIgnoredFile %1))) (Seq.map (fn [file] + (GetTestCategory parent file) (let simplified (->> (.Replace file parent "") #(.TrimStart %1 #\/) #(.TrimStart %1 #\\))) - (genTestTemplate simplified) + (genTestTemplate (+Prefix scenario) simplified) )))) - (let header (genTestHeader)) + (let header (genTestHeader (+Module scenario))) (let sep (+ (+NewLine System.Environment) (+NewLine System.Environment))) (+ header sep @@ -57,6 +130,16 @@ let ``can parse %s`` () = TestUtils.runTest "%s" (+NewLine System.Environment)) ) +(fn genParserTests ([parent: string] [files: seq]) + (genTestsBase + (new TestScenario "ParsingTests" "can parse") + parent files)) + +(fn genExecutionTests ([parent: string] [files: seq]) + (genTestsBase + (new TestScenario "ExecutionTests" "can execute") + parent files)) + (fn FindProjectRoot () (mut cur (->> (.GetCurrentDirectory Directory) #(new DirectoryInfo %1))) (mut isDone false) @@ -75,20 +158,75 @@ let ``can parse %s`` () = TestUtils.runTest "%s" cur) +(fn WriteParserTests (projectRoot vispRoot files) + (let parserTargetDir (.Combine Path projectRoot "tests" "Visp.Compiler.UnitTests")) + (let parserTargetFile (.Combine Path parserTargetDir "ParsingTests.generated.fs")) + + (let header (genTestHeader "ParsingTests")) + (let sep (+ (+NewLine System.Environment) (+NewLine System.Environment))) + + (let output (+ header + sep + (String.concat (+NewLine System.Environment) + (List.map #(GenerateTestModulePerFile vispRoot "can parse" %1) files) + ;(List.map #(GenerateTestGroup "can parse" %1) files) + ) + (+NewLine System.Environment))) + + (printfn "target %s" parserTargetDir) + ;; (let output (genParserTests vispRoot files)) + (.WriteAllText System.IO.File parserTargetFile output (+UTF8 System.Text.Encoding)) +) + +(fn WriteExecutionTests (projectRoot vispRoot files) + (let targetDir (.Combine Path projectRoot "tests" "Visp.ExecutionTests")) + (let targetfile (.Combine Path targetDir "ExecutionTests.generated.fs")) + + (let header (genTestHeader "ExecutionTests")) + (let sep (+ (+NewLine System.Environment) (+NewLine System.Environment))) + + (let output (+ header + sep + (String.concat (+NewLine System.Environment) + (List.map #(GenerateTestModulePerFile vispRoot "can execute" %1) files) + ;(List.map #(GenerateTestGroup "can parse" %1) files) + ) + ;; (String.concat (+NewLine System.Environment) (List.map #(GenerateTestGroup "can execute" %1) files)) + (+NewLine System.Environment))) + + (printfn "target %s" targetDir) + ;; (let output (genParserTests vispRoot files)) + (.WriteAllText System.IO.File targetfile output (+UTF8 System.Text.Encoding)) + ;; (printfn "target %s" targetDir) + ;; (let output (genExecutionTests vispRoot files)) + ;; (.WriteAllText System.IO.File targetfile output (+UTF8 System.Text.Encoding)) +) + (fn run () (let projectRoot (FindProjectRoot)) (let vispRoot (.Combine Path (+FullName projectRoot) "visp")) (let vispTests (.Combine Path vispRoot "tests")) - (let targetDir (.Combine Path (+FullName projectRoot) "tests" "Visp.Compiler.UnitTests")) - (let targetFile (.Combine Path targetDir "ParsingTests.generated.fs")) - - (printfn "visp %s" vispTests) - (printfn "target %s" targetDir) - - (let files (.GetFiles Directory vispTests "*.visp" (+AllDirectories SearchOption))) - (let output (genTests vispRoot files)) - - (.WriteAllText System.IO.File targetFile output (+UTF8 System.Text.Encoding)) + (let files (->> (.GetFiles Directory vispTests "*.visp" (+AllDirectories SearchOption)) (List.ofSeq))) + (let projectRoot (+FullName projectRoot)) + + (let groups + (->> files + (List.filter #(not (IsIgnoredFile %1))) + ;; (List.groupBy #(GetTestCategory vispRoot %1)) + ;; (List.map (fn [grp] + ;; (match grp + ;; [(cat, items) + ;; (cat, (List.map #(GetTestFilePath vispRoot %1) items)) + ;; ]))) + )) + + ;; (printfn "groups %A" groups) + + ;; (let result ) + (WriteParserTests projectRoot vispRoot groups) + (WriteExecutionTests projectRoot vispRoot groups) + + ;; (printfn "results %A" result) ()) From dd1311c887273e024414ce9eee15513f9a9fc8d3 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:15:54 +0200 Subject: [PATCH 4/9] Implement aoc2023 day4 --- aoc2023.ps1 | 4 + visp/examples/aoc2023/day4.visp | 198 +++++++++++++++++ visp/examples/aoc2023/inputs/day4.txt | 203 ++++++++++++++++++ visp/examples/aoc2023/inputs/day4_example.txt | 6 + visp/lib/core.visp | 9 + 5 files changed, 420 insertions(+) create mode 100644 visp/examples/aoc2023/day4.visp create mode 100644 visp/examples/aoc2023/inputs/day4.txt create mode 100644 visp/examples/aoc2023/inputs/day4_example.txt diff --git a/aoc2023.ps1 b/aoc2023.ps1 index 359d3b7..da8c549 100755 --- a/aoc2023.ps1 +++ b/aoc2023.ps1 @@ -1,6 +1,7 @@ [CmdletBinding()] param ( + [switch] $Release, [switch] $Full, [switch] $NoBuild, [ValidateSet("day1", "day2", "day3", "day4", "day5", "day6", "day7", "day8", "day9")] @@ -20,6 +21,9 @@ $cliArgs = @( if ($Full) { $cliArgs += "full" } +if ($Release) { + $cliArgs += "--release" +} ExecSafe { & $cliScript -NoBuild:$NoBuild @cliArgs diff --git a/visp/examples/aoc2023/day4.visp b/visp/examples/aoc2023/day4.visp new file mode 100644 index 0000000..9a0ed5b --- /dev/null +++ b/visp/examples/aoc2023/day4.visp @@ -0,0 +1,198 @@ +;; Copyright 2023 Ville Penttinen +;; Distributed under the MIT License. +;; https://github.com/vipentti/visp-fs/blob/main/LICENSE.md +;; +;; for basic syntax highlighting +;; vim: set syntax=clojure: +(require SpanUtils "0.4.0") + +;; opens here +(open System) +(open System.Collections.Generic) +(open System.Text.RegularExpressions) +(open SpanUtils.Extensions) + +;; + +(fn WriteResult (part value ex) + (printfn "%s: %A %A" part value (= value ex))) + +(fn ParseCard ([line: string]) + (let cardrx (new Regex "Card\s+(\d+):" (.+Compiled RegexOptions))) + + (let cardMatch (.Match cardrx line)) + + (let cardId (->> cardMatch +Groups .[1] +Value int)) + + (let lineSpan (.AsSpan line)) + (let colonIndex (.IndexOf line #\:)) + + (let gameContents (.Slice lineSpan (inc colonIndex))) + + (let splitOptions (bor (+TrimEntries System.StringSplitOptions) (+RemoveEmptyEntries System.StringSplitOptions))) + + (mut enu (.EnumerateSplitSubstrings gameContents #\| splitOptions)) + + (let sets (!vector)) + + (while (.MoveNext enu) + (let row (+Current enu)) + + (mut enu (.EnumerateSplitSubstrings row #\space splitOptions)) + + (let numbers (!vector)) + + (while (.MoveNext enu) + (let item (+Current enu)) + ;; (printfn "item is: %s" (.ToString item)) + (.Add numbers (span->int32 item))) + + (.Add sets (.ToArray numbers)) + ) + + ;; (printfn "result is %A" result) + + (cardId . (.[0] sets) . (.[1] sets)) +) + +(fn ScoreGame (game) + (match game + [(id . winning . ours) + (mut score 0) + + (for/in [num ours] + (if (Array.contains num winning) + (match score + [0 (set! score 1)] + [x (set! score (* x 2))]) + )) + score + ] + )) + +(fn CountMatches (game) + (match game + [(id . winning . ours) + (mut score 0) + + (for/in [num ours] + (if (Array.contains num winning) + (set! score (inc score)) + )) + score + ] + )) + +(fn GameId [game] + (match game + [(id . _ . _) + id + ])) + +(fn GameRest [game] + (match game + [(_ . a . b) + (a . b) + ])) + +(fn FindGame (id games) (Map.tryFind id games)) + +(fn GetSubGames (games game (cache: Dictionary<_, _>)) + (match game + [(id . winning . ours) + (match (.TryGetValue cache id) + [(true . subs) subs] + [(false . _) + (let score (CountMatches game)) + (mut enu (->> (seq ((inc id) .. (+ id score))) + .GetEnumerator)) + (mut done false) + (mut res (!list)) + (while (and (not done) (.MoveNext enu)) + (let next (+Current enu)) + (match (FindGame next games) + [(Some game) + (set! res (cons game res)) + () + ] + [None (set! done true)])) + + (set! (.[id] cache) res) + + res + ])])) + +(fn HandleScoreCardsOpt (game games cache) + (mut sub (GetSubGames games game cache)) + (mut done false) + (mut cardCount 1) + + (while (> (+Length sub) 0) + (set! cardCount (+ cardCount (+Length sub))) + (set! sub (->> sub (List.map #(GetSubGames games %1 cache)) (List.concat))) + ) + + cardCount) + +(fn rec HandleScoreCards (game games) + (match game + [(id . winning . ours) + (let score (CountMatches game)) + (mut cardCount 1) + + (mut enu (->> (seq ((inc id) .. (+ id score))) + .GetEnumerator)) + (mut done false) + + (while (and (not done) (.MoveNext enu)) + (let next (+Current enu)) + (match (FindGame next games) + [(Some game) + (let subCount (HandleScoreCards game games)) + (set! cardCount (+ cardCount subCount)) + () + ] + [None (set! done true)])) + cardCount + ])) + +(fn run () + (let example (not (Array.contains "full" ARGV))) + (let day "day4") + (let filepath (+ "./inputs/" day (if example "_example" "") ".txt")) + + (printfn "filepath: %s" filepath) + + (let contents (System.IO.File.ReadLines filepath)) + + (let games + (->> contents + (Seq.map ParseCard) + (List.ofSeq) + )) + + ;; (printfn "games %A" games) + + (let scores (List.map ScoreGame games)) + + ;; (printfn "scores %A" scores) + + (let part1 (List.reduce add scores)) + + (WriteResult "part1" part1 (if example 13 25174)) + + (let gameMap (->> games + (List.map #((GameId %1) . %1)) + (Map.ofList))) + + (let cache (new Dictionary<_, _>)) + (let sheets (List.map #(HandleScoreCardsOpt %1 gameMap cache) games)) + (let part2 (List.reduce add sheets)) + + ;; (printfn "part2: %A" part2) + (WriteResult "part2" part2 (if example 30 6420979)) + + ;; (WriteResult "part2" part1 (if example 13 25174)) + ()) + +(run) diff --git a/visp/examples/aoc2023/inputs/day4.txt b/visp/examples/aoc2023/inputs/day4.txt new file mode 100644 index 0000000..93f8c7b --- /dev/null +++ b/visp/examples/aoc2023/inputs/day4.txt @@ -0,0 +1,203 @@ +Card 1: 87 75 80 68 71 57 58 59 70 48 | 56 67 75 76 31 49 48 22 43 68 98 86 70 91 27 46 4 87 72 37 71 58 29 79 80 +Card 2: 95 97 90 91 79 71 60 87 46 80 | 28 90 55 87 82 34 44 96 77 15 22 63 31 33 5 99 36 91 17 10 64 59 68 37 13 +Card 3: 23 73 50 78 93 30 56 10 8 64 | 61 48 87 46 12 75 92 37 62 45 24 81 79 55 76 82 9 1 16 72 13 27 41 86 19 +Card 4: 16 50 13 24 94 27 74 58 15 53 | 58 53 20 57 69 28 47 2 41 4 66 61 15 44 24 68 50 74 86 45 36 73 43 27 91 +Card 5: 39 53 29 10 84 22 83 4 5 32 | 50 28 45 5 6 65 18 7 92 83 3 55 81 26 80 39 44 60 90 37 91 36 54 14 74 +Card 6: 84 12 96 93 72 97 91 76 7 82 | 85 15 29 33 37 60 14 30 63 73 38 62 77 44 86 39 51 2 99 75 70 36 32 98 78 +Card 7: 78 12 1 50 48 62 33 8 83 99 | 12 50 79 48 59 81 26 14 5 11 37 8 36 91 95 20 46 44 21 32 58 93 53 90 54 +Card 8: 55 58 8 36 16 23 88 73 45 65 | 19 10 34 64 52 27 75 22 33 58 74 45 16 11 63 56 12 14 8 25 59 4 95 47 78 +Card 9: 95 14 83 17 7 69 44 31 45 37 | 2 69 81 39 76 86 29 73 72 32 67 5 9 16 95 90 36 27 88 55 61 6 37 79 1 +Card 10: 24 83 98 76 87 6 32 59 4 96 | 54 5 68 85 76 50 60 33 58 32 88 61 27 55 90 65 93 13 53 29 44 15 6 45 24 +Card 11: 55 92 57 65 44 21 49 8 13 48 | 17 44 79 11 65 50 46 14 40 69 31 62 55 86 36 60 30 52 25 93 41 56 48 99 51 +Card 12: 14 93 52 89 35 42 13 22 76 26 | 14 5 46 80 22 39 1 67 43 31 78 87 68 95 90 83 96 71 74 29 15 88 36 11 76 +Card 13: 55 78 95 85 43 53 80 12 1 59 | 42 60 32 70 10 91 94 88 68 99 45 71 54 93 76 52 44 30 2 18 72 90 9 7 63 +Card 14: 6 44 46 59 91 60 47 26 12 17 | 35 52 36 5 18 30 63 79 75 55 45 99 84 81 71 34 48 24 14 70 11 69 1 4 77 +Card 15: 29 17 94 87 84 3 96 33 5 48 | 65 25 20 45 85 1 43 37 14 11 69 81 6 92 93 46 8 23 31 2 30 61 22 79 71 +Card 16: 73 81 13 23 61 35 49 48 99 5 | 10 69 22 40 73 29 61 23 13 99 26 7 39 70 5 56 88 46 49 81 68 25 35 48 14 +Card 17: 64 47 6 10 16 74 26 95 28 73 | 86 27 47 6 68 49 64 48 74 26 16 28 20 99 61 10 12 25 73 88 70 95 67 3 76 +Card 18: 1 29 86 72 65 52 67 64 68 79 | 5 88 77 52 18 31 67 41 37 55 68 65 39 22 72 97 23 64 34 29 48 1 79 49 86 +Card 19: 71 33 43 91 59 35 69 18 78 9 | 86 55 54 59 91 36 45 9 94 43 39 11 44 1 93 23 66 97 4 62 71 98 18 31 28 +Card 20: 72 86 59 6 85 1 74 25 87 20 | 21 14 6 39 4 54 37 2 61 83 82 59 10 67 19 50 12 16 51 55 1 5 45 98 73 +Card 21: 35 39 40 21 19 87 58 49 78 32 | 28 91 27 45 44 25 11 35 84 26 98 87 14 97 93 70 55 19 34 16 8 7 67 54 5 +Card 22: 87 30 6 9 73 47 29 7 33 63 | 87 80 21 3 63 38 14 7 20 9 73 31 33 29 11 30 22 68 57 54 43 42 47 34 6 +Card 23: 51 61 36 99 86 88 21 6 30 74 | 30 42 99 86 20 44 74 64 72 67 81 93 79 51 5 48 21 75 36 23 6 60 4 66 88 +Card 24: 96 21 44 42 57 34 59 45 58 2 | 6 81 92 13 66 98 47 73 26 10 84 62 93 49 57 35 90 27 75 19 52 1 37 32 85 +Card 25: 17 55 53 49 25 59 71 33 35 11 | 55 82 92 74 29 17 46 40 2 26 25 32 96 49 11 35 53 3 87 59 71 33 73 36 38 +Card 26: 33 85 26 21 13 51 73 76 20 7 | 85 53 42 21 31 76 33 97 71 73 20 90 13 52 95 98 93 99 11 32 26 51 24 37 7 +Card 27: 62 39 22 67 69 5 89 1 36 34 | 10 52 68 95 32 82 22 94 21 29 5 45 87 51 18 4 15 19 59 55 11 78 60 63 84 +Card 28: 65 31 58 70 2 49 46 14 72 11 | 24 95 11 14 27 22 38 65 15 35 36 18 59 49 6 70 69 62 46 58 60 34 92 72 2 +Card 29: 78 6 94 55 65 17 97 30 66 33 | 80 32 56 48 49 16 88 61 57 20 37 75 51 58 86 29 42 39 41 60 62 69 10 81 24 +Card 30: 72 33 93 5 58 92 10 90 29 20 | 77 73 41 42 67 17 24 28 23 69 27 43 80 49 75 74 2 3 21 26 76 32 48 30 4 +Card 31: 9 93 77 42 49 71 36 98 46 1 | 68 39 10 32 36 7 47 55 95 33 48 56 31 61 98 40 50 81 94 77 45 12 16 6 35 +Card 32: 35 54 65 19 62 37 63 68 17 47 | 14 20 65 27 84 48 85 56 64 37 51 81 11 52 63 40 93 15 92 90 19 35 43 68 7 +Card 33: 21 80 78 56 29 65 6 12 57 22 | 51 61 7 1 19 22 77 62 78 54 58 29 89 97 34 83 56 57 11 98 73 6 17 16 70 +Card 34: 57 83 56 87 58 68 46 86 78 77 | 98 58 46 51 14 1 17 60 11 13 5 49 56 96 19 15 99 28 62 38 9 40 57 92 22 +Card 35: 34 29 33 85 95 9 47 11 39 25 | 49 91 61 13 99 84 80 96 77 82 97 59 20 30 4 65 70 74 5 37 41 81 75 93 48 +Card 36: 42 30 69 88 84 90 58 26 2 47 | 98 14 3 30 56 20 49 83 29 48 46 34 99 51 12 61 92 1 55 60 70 53 75 52 27 +Card 37: 7 70 87 71 25 85 50 86 77 72 | 94 23 90 73 52 79 31 30 49 71 8 26 88 38 42 5 81 82 69 51 63 35 80 22 19 +Card 38: 37 4 98 58 7 95 19 22 17 86 | 60 38 13 79 62 49 85 77 8 52 63 20 16 81 21 59 43 36 80 70 87 35 51 10 12 +Card 39: 68 79 63 42 17 92 99 95 2 29 | 85 24 88 25 52 81 61 1 27 50 84 98 31 49 19 51 38 93 33 15 22 28 14 70 67 +Card 40: 7 15 73 55 87 18 52 17 34 12 | 87 73 42 77 21 33 44 69 24 52 94 17 7 16 78 12 34 97 67 41 15 47 55 91 18 +Card 41: 70 1 14 88 52 46 32 59 67 75 | 17 1 75 13 46 87 64 32 48 52 53 80 30 21 3 88 94 14 38 70 73 67 28 41 86 +Card 42: 65 18 51 72 76 7 93 64 21 92 | 51 64 94 77 45 98 28 67 11 42 41 72 93 22 21 56 65 76 54 7 26 92 74 18 55 +Card 43: 35 82 2 99 52 68 81 38 14 94 | 51 46 27 10 21 7 56 71 77 6 38 44 25 79 94 33 76 15 22 99 68 84 5 14 81 +Card 44: 7 47 1 61 51 46 36 87 43 34 | 14 43 91 86 47 51 29 95 76 61 39 85 84 7 87 69 46 56 88 36 27 1 10 67 34 +Card 45: 17 83 85 90 65 18 67 75 68 25 | 89 67 31 51 99 46 85 42 84 75 59 96 17 68 26 79 65 81 32 83 25 90 37 4 18 +Card 46: 2 56 38 47 9 11 61 68 51 49 | 53 56 60 47 49 61 82 5 38 2 97 9 51 80 86 22 68 31 11 59 24 4 35 13 8 +Card 47: 39 2 68 61 28 8 23 62 46 89 | 23 15 46 78 62 1 60 36 52 35 10 65 90 67 4 18 16 72 44 61 6 59 14 45 91 +Card 48: 60 49 62 14 88 84 80 18 7 20 | 88 91 77 10 2 59 94 25 67 9 16 72 80 20 32 78 14 69 56 70 73 96 15 6 92 +Card 49: 14 67 94 15 12 40 7 68 22 88 | 91 15 67 61 7 95 85 72 94 78 12 68 14 35 41 89 60 22 88 81 93 86 40 84 92 +Card 50: 65 75 63 30 38 28 27 51 58 54 | 30 99 21 28 2 81 77 85 25 38 27 63 70 62 87 58 16 9 75 54 65 69 51 78 8 +Card 51: 30 18 35 67 45 87 27 13 82 51 | 9 51 95 45 2 67 61 82 81 30 52 35 5 43 27 87 83 49 13 44 21 22 48 78 18 +Card 52: 23 21 13 53 5 78 43 94 98 59 | 72 57 18 34 11 39 95 26 56 68 22 10 21 98 96 87 4 43 74 7 46 40 88 97 58 +Card 53: 39 55 57 87 6 68 78 14 36 7 | 74 76 20 58 87 6 67 26 57 1 41 44 17 14 42 7 43 81 35 39 55 36 59 66 96 +Card 54: 26 62 39 28 76 32 98 19 2 61 | 9 62 61 75 28 42 40 39 64 32 98 37 58 16 15 19 35 2 80 76 10 26 70 18 47 +Card 55: 31 47 13 40 5 80 94 45 54 43 | 61 17 52 78 60 2 37 58 19 85 89 14 20 10 3 13 80 41 25 79 4 70 36 75 11 +Card 56: 59 68 42 47 97 53 32 46 17 76 | 64 94 32 46 68 5 49 14 91 19 59 53 26 80 33 39 6 99 18 73 45 87 69 54 66 +Card 57: 70 23 37 94 4 46 26 33 71 72 | 64 38 71 53 37 96 29 80 41 90 60 94 18 45 27 62 72 33 79 32 26 92 49 12 4 +Card 58: 47 44 65 83 91 78 17 60 7 35 | 95 65 26 52 68 9 69 61 19 87 93 27 90 57 49 23 24 17 86 16 28 62 11 63 85 +Card 59: 3 92 67 72 64 2 74 14 49 73 | 41 57 98 95 91 78 20 42 25 60 54 36 56 34 86 37 9 10 52 79 80 53 88 18 46 +Card 60: 38 5 63 77 69 9 79 50 58 51 | 20 72 80 52 68 64 33 61 47 84 65 90 29 48 16 82 4 98 83 89 17 94 81 41 85 +Card 61: 13 65 75 26 39 63 88 92 72 87 | 98 43 81 95 26 69 27 7 57 37 82 41 71 18 55 53 10 36 64 47 84 4 20 77 67 +Card 62: 19 70 5 25 23 76 90 29 61 97 | 17 20 38 58 1 29 74 13 94 47 86 56 60 14 82 83 87 91 52 39 33 37 77 62 45 +Card 63: 22 24 17 19 55 48 23 3 8 11 | 4 67 90 50 99 54 49 78 94 20 96 2 86 74 83 79 76 15 70 52 34 98 5 82 88 +Card 64: 15 92 72 63 95 34 58 85 18 57 | 64 40 67 81 89 27 84 54 75 43 70 77 13 52 19 35 46 30 12 61 78 10 82 55 45 +Card 65: 66 35 28 50 30 80 15 85 4 23 | 3 30 99 96 70 47 4 64 35 66 78 41 65 63 23 28 44 67 85 80 61 50 17 15 92 +Card 66: 71 67 68 20 93 6 76 30 15 89 | 12 69 80 11 91 34 2 65 95 8 37 86 38 10 79 3 43 90 87 45 92 50 88 39 56 +Card 67: 94 46 12 2 53 27 57 45 33 1 | 33 72 74 64 25 97 17 2 73 48 3 56 63 40 31 24 45 83 85 79 6 75 38 55 49 +Card 68: 82 68 40 3 73 81 61 1 60 50 | 15 29 82 51 73 28 43 94 85 50 96 11 98 9 86 20 6 14 5 95 10 23 61 12 62 +Card 69: 25 94 17 29 2 34 48 87 51 49 | 95 17 84 91 14 34 3 89 87 71 2 51 35 93 7 29 74 55 48 25 49 56 94 20 68 +Card 70: 37 51 36 79 15 29 88 69 6 97 | 27 66 88 90 41 29 25 36 82 56 69 37 18 40 33 97 42 91 62 6 65 79 15 28 51 +Card 71: 77 28 31 19 40 35 80 11 76 26 | 10 74 63 70 11 67 76 31 40 75 96 77 60 80 35 28 68 53 19 64 51 43 26 9 25 +Card 72: 18 96 9 79 87 37 94 69 8 74 | 69 18 9 41 21 80 72 96 71 20 15 12 36 87 99 37 44 79 46 54 94 19 8 74 39 +Card 73: 11 60 75 68 66 57 51 70 20 30 | 6 12 35 45 56 38 46 65 54 59 19 68 64 11 57 22 74 30 90 13 37 93 5 20 51 +Card 74: 6 20 99 75 87 1 70 52 4 61 | 97 98 99 34 75 11 8 92 49 81 19 12 87 20 70 6 27 4 44 61 52 67 82 1 55 +Card 75: 95 80 34 33 66 55 63 19 7 46 | 19 83 58 4 46 57 72 99 98 63 36 80 34 30 11 64 24 52 93 55 22 76 78 32 89 +Card 76: 55 56 58 16 50 24 27 75 35 44 | 75 42 35 87 7 13 55 44 8 27 56 14 24 78 61 4 19 38 18 58 50 1 16 51 22 +Card 77: 99 2 77 33 48 47 44 87 32 23 | 46 71 47 54 23 55 18 28 56 48 69 14 26 44 24 32 77 60 81 2 40 33 83 11 87 +Card 78: 67 46 27 29 44 1 22 4 13 52 | 80 98 63 29 97 67 58 86 25 52 95 23 92 76 27 74 13 93 78 22 81 96 1 46 64 +Card 79: 60 94 4 59 76 64 34 69 35 62 | 10 8 82 43 76 44 69 20 41 29 1 35 34 59 42 22 13 32 4 40 65 28 16 84 99 +Card 80: 88 60 47 76 82 5 14 63 58 16 | 83 62 57 21 89 79 53 60 87 22 76 20 78 96 63 68 56 91 5 7 47 16 94 98 45 +Card 81: 46 67 14 43 39 44 48 35 6 94 | 2 31 12 42 78 76 61 62 40 37 29 36 16 75 4 41 21 19 85 49 84 73 89 96 3 +Card 82: 61 73 72 47 71 96 4 2 41 20 | 76 78 94 65 51 85 92 60 31 80 81 34 46 69 90 70 17 74 89 40 27 35 14 15 10 +Card 83: 82 60 62 23 81 27 61 26 75 28 | 29 78 79 9 13 39 30 97 31 96 86 84 42 28 14 55 81 44 17 8 25 12 35 34 82 +Card 84: 91 61 73 55 98 28 11 40 33 50 | 21 55 27 2 54 44 94 59 58 67 79 66 82 87 92 25 9 7 65 80 38 30 10 97 16 +Card 85: 39 81 47 2 8 95 35 63 36 10 | 75 58 6 19 20 55 18 99 88 25 78 77 65 93 59 57 12 13 66 91 3 67 34 41 29 +Card 86: 15 33 8 84 57 35 50 76 43 17 | 34 20 55 59 97 51 44 46 53 5 10 79 58 89 39 82 16 42 71 81 22 40 85 63 56 +Card 87: 44 7 57 42 53 85 62 9 56 63 | 95 60 69 56 24 43 7 4 91 44 63 76 30 39 62 9 85 57 16 34 53 99 50 66 42 +Card 88: 47 85 12 1 98 86 94 84 33 51 | 27 54 45 55 38 12 96 51 1 83 36 65 13 85 32 94 29 52 47 59 33 48 86 82 98 +Card 89: 45 15 77 41 57 43 54 2 32 24 | 44 79 10 28 23 97 99 40 95 25 22 9 35 59 53 74 14 37 34 61 39 30 71 12 94 +Card 90: 76 75 36 82 28 2 87 81 31 14 | 38 67 87 90 6 9 19 2 13 37 24 15 65 84 32 85 44 18 98 79 23 35 80 60 47 +Card 91: 21 19 37 97 7 29 34 79 45 13 | 17 42 12 71 21 4 51 37 7 81 34 65 36 19 13 59 96 97 31 16 79 87 29 86 45 +Card 92: 16 14 67 60 39 25 26 34 12 96 | 79 66 11 93 38 29 37 12 50 32 7 82 39 59 84 54 42 83 43 92 19 1 34 26 77 +Card 93: 70 37 71 28 22 62 85 9 65 27 | 78 91 28 65 42 22 70 30 92 54 9 72 38 24 62 51 10 49 89 13 14 66 84 61 93 +Card 94: 80 48 40 83 87 19 53 66 69 33 | 80 79 66 76 58 94 60 70 20 42 72 87 19 30 75 40 67 12 36 96 11 29 59 63 33 +Card 95: 68 91 48 52 79 40 83 97 16 63 | 77 73 52 88 97 91 48 22 35 64 31 40 63 68 60 28 57 30 51 54 36 16 92 19 79 +Card 96: 78 81 13 87 20 8 80 63 2 3 | 20 29 62 72 44 90 54 22 3 35 55 16 96 80 37 93 73 23 50 33 6 63 78 8 13 +Card 97: 32 39 59 73 8 34 36 46 85 47 | 14 22 15 87 46 34 67 77 44 91 47 5 73 68 59 7 40 94 98 36 21 76 64 86 39 +Card 98: 19 75 37 82 94 6 57 15 78 58 | 9 79 6 71 91 39 38 61 59 89 90 1 80 17 86 35 98 63 27 74 5 49 25 70 73 +Card 99: 44 22 48 23 31 78 15 89 49 24 | 36 89 27 81 67 56 22 28 74 47 25 18 44 3 15 23 58 73 69 39 75 17 85 1 7 +Card 100: 56 15 30 64 37 89 51 96 63 90 | 56 23 24 57 44 9 41 65 6 26 69 36 21 66 94 67 7 10 34 59 14 40 99 93 98 +Card 101: 42 95 60 30 25 87 82 98 40 54 | 22 85 24 84 19 34 3 43 97 8 18 57 58 26 91 44 56 11 16 66 78 73 62 50 68 +Card 102: 14 64 72 79 55 78 44 12 76 36 | 69 74 13 78 59 82 15 46 49 11 81 83 97 9 58 4 98 60 43 34 30 67 2 47 37 +Card 103: 64 82 36 57 33 8 80 91 95 32 | 84 45 12 44 59 94 86 53 48 96 26 66 70 65 39 37 21 72 49 60 56 35 82 98 92 +Card 104: 76 18 88 52 69 44 57 99 20 12 | 60 74 21 35 77 39 40 29 46 37 95 65 93 36 43 86 48 59 6 11 16 72 28 55 97 +Card 105: 91 30 6 25 7 64 41 28 72 53 | 93 63 59 31 4 87 45 97 70 29 39 80 98 66 44 51 54 62 57 46 56 18 13 81 27 +Card 106: 15 59 45 36 74 86 35 62 87 14 | 29 35 81 53 60 69 47 25 61 43 13 62 84 96 79 75 68 23 32 18 37 72 63 4 36 +Card 107: 62 41 56 15 66 50 63 20 43 84 | 43 66 99 3 49 20 80 50 36 38 52 22 23 24 41 62 84 83 15 68 63 56 94 35 97 +Card 108: 67 51 97 26 11 61 91 55 7 23 | 47 96 26 78 22 87 33 51 34 59 53 3 97 91 86 11 21 89 13 61 23 67 55 7 24 +Card 109: 72 23 61 6 1 65 83 47 10 41 | 27 16 98 74 55 61 5 1 88 68 41 47 99 48 76 31 85 83 38 72 91 93 36 90 80 +Card 110: 34 22 81 62 40 25 43 60 12 69 | 69 81 71 66 54 15 17 79 25 93 34 51 43 62 40 12 30 56 27 47 60 33 22 94 65 +Card 111: 48 24 75 46 37 65 33 74 64 92 | 75 46 25 65 92 33 64 83 39 16 45 48 97 56 11 78 94 62 4 24 37 96 74 31 40 +Card 112: 94 92 39 58 34 78 61 7 50 88 | 83 6 52 39 92 17 40 63 54 34 7 85 89 64 25 50 99 77 33 13 11 81 35 78 41 +Card 113: 23 25 75 44 18 8 29 79 48 60 | 7 70 80 63 60 42 88 25 44 23 21 11 51 93 47 82 16 86 73 62 96 75 2 29 19 +Card 114: 52 42 66 15 57 29 21 47 89 22 | 77 81 52 8 66 21 98 61 71 2 85 34 42 95 93 25 67 60 82 47 78 56 63 87 84 +Card 115: 63 81 53 30 8 94 75 76 45 71 | 53 93 40 18 45 71 76 67 75 92 15 72 35 94 65 30 88 22 81 8 63 50 80 5 82 +Card 116: 8 33 23 82 63 25 65 4 97 28 | 79 75 71 46 41 74 6 86 64 33 24 70 82 87 9 76 36 3 5 97 92 4 1 12 62 +Card 117: 9 97 4 59 31 78 73 99 84 11 | 93 65 12 39 29 76 80 82 43 37 26 57 79 27 46 90 98 54 31 34 17 62 95 51 9 +Card 118: 11 42 73 23 28 62 68 15 31 48 | 17 81 29 15 10 86 25 68 28 80 33 78 89 11 82 96 12 34 19 99 67 13 64 59 91 +Card 119: 22 16 61 76 19 92 5 89 86 1 | 37 35 77 44 7 42 86 92 41 81 16 95 12 1 85 60 63 79 5 25 62 46 73 45 19 +Card 120: 97 11 71 31 44 24 12 49 15 17 | 97 44 78 49 64 61 42 55 31 38 12 87 53 32 41 6 68 62 19 94 13 79 29 56 71 +Card 121: 5 50 95 7 14 6 35 64 99 94 | 30 54 80 90 68 98 6 71 61 81 23 24 64 37 40 15 53 63 31 35 7 49 14 99 42 +Card 122: 5 72 29 22 71 35 41 82 15 56 | 3 45 61 68 70 41 56 26 82 62 29 36 84 80 95 81 96 83 20 35 28 54 21 76 47 +Card 123: 80 4 93 25 97 10 20 84 3 67 | 14 18 12 20 86 96 63 67 60 54 13 85 23 37 10 16 71 65 33 5 98 1 74 53 51 +Card 124: 43 64 62 31 86 1 30 23 15 28 | 77 1 99 27 48 35 2 40 57 61 23 9 37 74 91 46 92 83 24 90 96 32 80 45 31 +Card 125: 53 47 45 50 82 37 26 41 22 57 | 43 25 37 29 89 20 17 8 1 46 2 55 53 44 61 78 65 72 69 85 12 93 28 34 80 +Card 126: 36 27 94 41 56 21 18 13 59 96 | 73 91 2 14 29 98 79 8 11 3 38 16 69 71 77 92 66 60 18 9 1 57 12 22 43 +Card 127: 19 12 69 97 81 26 73 83 34 51 | 91 47 89 62 94 8 66 43 35 93 48 24 71 40 42 75 13 14 65 28 61 95 32 25 9 +Card 128: 99 78 81 4 44 58 10 83 67 5 | 5 83 95 17 34 68 91 10 4 88 56 38 49 44 66 11 78 7 50 67 45 21 98 99 58 +Card 129: 94 35 8 59 72 56 51 98 47 63 | 98 71 61 72 51 54 35 34 95 9 82 88 47 8 66 57 90 55 81 33 59 56 64 63 94 +Card 130: 81 25 85 84 88 26 87 14 40 77 | 25 74 20 13 30 11 72 77 88 40 70 67 47 14 80 86 81 26 45 87 79 33 85 84 39 +Card 131: 28 83 7 69 87 48 46 67 33 10 | 37 10 48 96 38 99 14 60 28 42 26 94 46 24 84 68 87 72 85 67 4 83 31 7 47 +Card 132: 33 65 47 66 48 9 69 68 76 73 | 21 18 70 64 55 19 31 81 20 77 12 94 59 15 98 44 57 52 92 54 93 40 89 16 78 +Card 133: 67 54 21 71 43 56 68 65 55 99 | 16 83 20 45 85 92 34 61 88 33 51 65 24 68 58 55 91 81 54 43 5 1 77 49 25 +Card 134: 73 82 41 78 91 72 13 7 46 88 | 78 88 32 57 12 56 44 73 41 79 27 99 49 13 82 91 87 97 62 46 83 7 23 60 71 +Card 135: 19 30 91 16 15 88 5 4 72 38 | 38 41 23 87 3 78 75 11 88 53 5 72 4 56 54 65 19 76 15 27 82 39 70 69 17 +Card 136: 39 66 64 79 90 51 69 6 44 23 | 51 1 21 44 23 78 27 66 69 42 6 50 74 48 39 79 57 29 53 3 10 13 30 90 64 +Card 137: 82 75 28 96 13 25 30 59 76 5 | 25 45 59 79 96 44 88 75 82 30 13 18 20 97 21 5 70 31 76 95 17 37 27 28 53 +Card 138: 23 21 53 59 82 11 99 30 68 1 | 51 11 21 53 8 43 24 71 33 63 75 66 23 82 1 20 92 50 86 59 99 45 84 30 68 +Card 139: 43 44 12 68 14 70 83 84 39 40 | 72 18 54 48 43 91 56 1 11 49 83 59 29 73 87 40 37 6 50 14 74 61 70 2 36 +Card 140: 64 4 86 61 11 72 66 73 83 14 | 74 86 84 8 36 5 76 73 83 88 10 28 38 64 4 12 72 23 53 42 33 91 61 45 55 +Card 141: 46 33 44 21 99 64 29 4 28 30 | 1 95 13 97 9 59 15 41 89 35 43 98 81 27 94 3 65 88 91 12 17 10 23 61 48 +Card 142: 2 85 8 98 74 62 76 7 79 60 | 59 42 2 49 24 34 25 76 8 71 98 86 6 7 16 33 74 62 89 13 39 31 85 79 87 +Card 143: 50 10 55 73 71 3 20 57 15 9 | 42 20 71 54 11 9 55 37 15 3 53 41 13 99 63 57 7 73 28 84 18 35 5 32 10 +Card 144: 26 38 75 71 89 40 96 81 83 48 | 42 77 11 76 78 15 19 86 10 34 61 58 29 14 64 94 63 33 70 13 88 82 59 28 93 +Card 145: 72 35 67 80 78 20 57 48 64 28 | 44 70 79 37 5 96 31 13 10 83 93 29 46 94 66 47 6 34 14 18 33 8 69 49 20 +Card 146: 42 10 61 56 2 22 38 15 67 6 | 72 83 53 80 52 31 74 73 20 12 87 71 78 95 25 45 75 43 32 85 82 7 13 90 19 +Card 147: 30 2 48 5 16 25 70 89 35 85 | 3 5 55 90 16 86 70 87 17 29 74 14 22 78 39 37 71 45 79 42 2 60 21 62 89 +Card 148: 61 50 41 22 75 80 46 93 55 6 | 62 68 95 45 74 21 13 52 66 2 17 53 97 83 90 40 44 28 25 86 14 82 15 30 84 +Card 149: 49 54 61 92 19 16 78 83 15 71 | 7 33 40 69 2 34 70 9 91 79 74 42 67 38 82 60 28 43 23 80 39 56 30 66 1 +Card 150: 47 85 71 36 9 98 45 28 7 58 | 94 88 20 62 13 77 85 27 43 92 18 41 31 3 2 45 74 99 30 40 26 93 19 23 65 +Card 151: 65 90 39 91 53 76 79 51 9 36 | 5 84 49 13 70 64 15 33 92 67 41 57 19 21 22 87 54 50 46 66 52 24 71 29 16 +Card 152: 61 62 51 11 14 44 10 29 31 35 | 95 47 96 16 5 32 88 90 52 65 70 94 9 80 81 56 50 43 15 34 45 68 67 42 18 +Card 153: 91 86 12 23 53 39 96 79 14 76 | 68 66 83 69 73 42 59 67 4 38 11 46 16 95 71 52 88 13 19 48 9 99 30 62 43 +Card 154: 47 44 72 6 95 7 21 64 59 29 | 72 7 12 33 21 14 91 3 99 71 64 44 70 63 6 22 88 16 43 57 73 59 76 60 47 +Card 155: 38 36 24 69 59 58 96 45 39 30 | 17 64 59 31 80 36 25 89 96 4 27 12 30 74 11 29 57 63 45 19 42 38 69 58 39 +Card 156: 60 93 14 54 53 40 34 26 1 28 | 46 62 40 69 48 39 35 68 86 22 19 10 42 25 88 67 58 96 54 44 56 85 31 90 99 +Card 157: 82 93 7 76 69 1 36 5 4 3 | 66 96 92 52 29 5 91 62 45 27 25 31 28 78 99 95 73 14 37 26 9 98 42 55 11 +Card 158: 34 52 78 67 96 62 54 85 86 31 | 21 42 63 51 12 70 15 83 34 35 62 69 52 54 36 85 31 86 67 41 53 7 1 96 82 +Card 159: 67 49 58 35 82 57 29 6 20 25 | 30 46 2 75 38 57 99 7 29 69 94 40 12 45 97 49 66 6 35 76 32 37 71 60 68 +Card 160: 17 49 10 5 34 2 23 91 3 19 | 29 39 67 53 14 61 41 85 18 65 56 77 54 55 13 27 28 45 60 7 62 6 96 38 35 +Card 161: 4 42 38 50 85 92 27 25 82 7 | 82 5 83 71 52 43 12 75 73 92 96 1 61 59 25 85 7 22 23 80 35 15 97 88 30 +Card 162: 42 69 75 64 40 12 29 56 33 62 | 57 5 83 79 26 55 84 60 70 16 47 2 19 30 7 62 89 76 20 90 66 78 21 9 87 +Card 163: 52 10 27 86 7 72 95 88 13 75 | 94 76 43 33 31 69 35 68 39 78 48 83 28 66 67 15 72 34 32 25 85 53 40 46 1 +Card 164: 14 95 31 43 91 56 22 68 17 33 | 74 98 24 59 4 93 67 23 64 35 51 42 92 88 63 20 29 70 16 82 89 45 39 27 12 +Card 165: 29 5 49 25 67 79 56 44 43 93 | 20 54 10 52 8 50 98 9 73 92 78 24 86 69 77 82 80 41 94 36 35 22 32 38 3 +Card 166: 63 92 68 93 58 16 90 6 13 46 | 31 45 39 8 65 49 23 81 62 72 7 15 82 35 53 4 80 83 48 13 10 11 71 40 61 +Card 167: 58 70 1 3 7 81 65 83 79 77 | 87 8 59 29 18 6 14 48 35 9 60 94 80 92 51 2 73 36 47 27 86 89 41 42 4 +Card 168: 69 93 96 77 76 90 17 88 11 26 | 31 13 77 9 86 82 51 67 53 99 76 35 81 6 28 92 24 14 87 59 41 37 88 18 96 +Card 169: 99 40 11 87 24 55 4 46 66 49 | 60 67 72 31 94 69 42 46 86 17 47 70 95 90 6 4 3 59 61 24 93 73 28 58 96 +Card 170: 29 84 4 80 72 94 9 7 55 68 | 24 62 7 35 21 55 85 94 29 4 84 38 42 33 2 77 58 9 11 80 41 72 76 13 68 +Card 171: 93 7 9 11 12 13 79 51 99 62 | 99 28 51 12 82 11 35 18 93 34 7 17 2 13 63 54 9 69 62 84 68 79 58 36 70 +Card 172: 16 79 33 10 58 22 67 98 46 43 | 75 24 96 64 4 50 38 10 5 31 45 21 98 7 17 34 60 72 97 92 6 3 99 86 9 +Card 173: 98 73 26 29 85 75 13 22 27 35 | 87 76 25 43 82 17 79 74 16 91 37 97 46 15 14 40 52 70 31 68 81 5 36 72 57 +Card 174: 4 29 72 26 46 89 61 15 16 11 | 4 68 89 24 58 94 46 26 55 15 67 61 72 98 75 84 29 11 47 2 54 13 9 28 16 +Card 175: 40 49 71 63 25 47 44 26 98 31 | 26 20 18 96 64 92 88 63 62 95 47 33 86 35 70 75 90 27 1 59 54 74 80 41 77 +Card 176: 92 17 34 39 64 49 70 69 44 91 | 49 24 4 81 74 31 28 36 69 39 68 16 98 2 3 26 96 76 57 19 44 95 93 29 34 +Card 177: 60 32 48 84 3 86 62 55 22 58 | 17 91 95 50 64 89 32 60 82 62 49 58 25 12 86 3 40 16 84 87 66 61 77 55 9 +Card 178: 92 4 66 65 13 87 57 16 78 3 | 92 16 81 7 78 42 25 44 43 24 66 29 50 40 19 71 89 53 59 77 67 76 39 84 1 +Card 179: 6 67 72 98 79 45 12 87 77 60 | 19 12 57 66 14 26 28 31 18 24 45 6 15 29 99 27 90 87 10 59 92 36 58 72 79 +Card 180: 6 9 43 74 48 87 52 56 76 30 | 97 8 88 19 2 54 9 29 3 39 23 71 93 41 95 87 98 68 36 42 94 40 45 84 85 +Card 181: 26 5 23 14 59 6 33 89 97 96 | 16 7 41 8 45 71 47 98 67 88 58 13 79 66 85 81 32 17 60 91 51 49 27 69 3 +Card 182: 53 5 83 87 3 44 25 98 48 24 | 14 77 95 98 40 81 97 85 80 15 33 38 75 17 5 56 71 43 65 28 87 10 66 22 70 +Card 183: 67 20 49 89 38 55 16 79 27 45 | 43 57 35 34 26 93 13 63 5 87 72 69 28 96 78 3 48 47 61 94 59 7 37 95 1 +Card 184: 1 73 35 99 24 74 64 21 14 81 | 48 81 57 15 28 49 31 82 91 8 62 79 54 20 95 13 21 97 98 19 51 6 83 70 61 +Card 185: 31 6 98 7 17 45 42 37 67 56 | 53 73 7 91 20 63 57 96 28 72 15 44 55 29 23 77 58 32 1 11 62 65 95 83 25 +Card 186: 93 81 16 50 3 40 87 46 90 58 | 89 70 62 28 4 19 2 63 21 53 14 9 55 25 54 38 94 82 47 86 36 96 49 8 80 +Card 187: 45 71 74 81 84 18 23 35 86 25 | 34 90 45 74 63 35 1 3 88 12 84 71 97 29 32 26 40 18 76 89 9 80 86 94 64 +Card 188: 3 21 56 32 1 26 54 60 13 28 | 40 24 26 28 78 12 11 92 17 98 30 27 1 87 25 97 57 49 52 38 51 32 42 47 7 +Card 189: 41 82 69 64 35 71 79 61 44 36 | 35 69 22 37 44 29 79 39 14 3 56 66 36 62 82 26 72 61 88 33 97 64 41 98 34 +Card 190: 96 84 47 27 31 17 59 40 64 67 | 16 32 82 27 21 75 93 74 60 80 29 48 23 31 54 98 79 58 17 67 18 43 12 25 96 +Card 191: 35 60 71 44 21 62 81 14 67 85 | 36 37 69 9 34 35 62 40 54 41 1 13 23 58 85 86 24 55 14 7 92 96 50 11 81 +Card 192: 82 95 6 69 48 56 42 96 94 93 | 98 92 96 63 42 76 16 50 95 48 28 8 39 6 94 47 69 97 56 82 44 93 21 26 7 +Card 193: 22 86 12 38 3 6 44 77 27 59 | 53 80 89 25 92 38 63 86 65 34 99 46 27 75 8 1 7 47 66 29 2 77 61 12 54 +Card 194: 15 20 33 91 80 61 37 99 58 92 | 10 76 99 58 97 91 71 64 33 36 29 30 42 37 87 66 90 6 49 22 68 40 92 2 73 +Card 195: 10 59 86 92 5 55 25 48 36 45 | 27 5 48 84 25 57 35 78 56 63 82 28 87 92 88 10 19 42 36 53 86 60 81 39 55 +Card 196: 69 95 34 9 80 55 11 30 49 88 | 15 89 44 26 48 49 74 54 35 77 47 11 9 21 25 95 31 88 53 56 42 69 18 10 60 +Card 197: 62 23 83 63 24 58 57 72 8 68 | 41 25 26 58 80 45 99 55 63 96 46 60 84 33 98 42 50 62 44 52 47 7 57 75 12 +Card 198: 86 22 73 29 41 40 11 76 69 83 | 78 20 14 67 51 93 8 47 43 44 82 16 2 55 96 98 61 48 31 49 91 24 3 27 87 +Card 199: 27 59 83 12 76 82 74 98 47 73 | 30 20 63 53 67 68 16 4 66 10 93 61 89 80 36 75 62 99 1 5 70 31 17 82 22 +Card 200: 49 66 64 92 36 61 44 96 68 67 | 57 55 19 18 78 64 90 85 72 84 5 10 38 71 74 34 68 30 46 83 86 25 89 50 49 +Card 201: 83 53 58 64 84 72 70 19 41 17 | 22 55 50 90 65 88 6 76 43 70 26 63 41 91 82 79 89 98 71 54 80 67 59 36 49 +Card 202: 70 55 83 56 42 25 11 1 41 49 | 32 54 80 59 53 23 75 8 68 6 94 45 86 3 61 98 36 14 44 18 89 39 81 51 88 +Card 203: 12 10 29 80 87 71 65 37 55 9 | 11 5 75 46 3 81 6 54 64 32 95 33 49 34 74 48 92 20 21 56 53 50 41 61 36 diff --git a/visp/examples/aoc2023/inputs/day4_example.txt b/visp/examples/aoc2023/inputs/day4_example.txt new file mode 100644 index 0000000..9bdb874 --- /dev/null +++ b/visp/examples/aoc2023/inputs/day4_example.txt @@ -0,0 +1,6 @@ +Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53 +Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19 +Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1 +Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83 +Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36 +Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11 diff --git a/visp/lib/core.visp b/visp/lib/core.visp index ab2fc73..41d193c 100644 --- a/visp/lib/core.visp +++ b/visp/lib/core.visp @@ -44,3 +44,12 @@ (fn inline dec [a] (- a 1)) (fn inline add1 [a] (+ a 1)) (fn inline inc [a] (+ a 1)) + +(fn inline span->int32 [(sp: System.ReadOnlySpan)] + (System.Int32.Parse sp)) + +(fn inline try-string->int32 [(s: string)] + (match (System.Int32.TryParse s) + [(false . _) None] + [(true . v ) (Some v)] + )) From 74c84bde9f07b1c14ae658d37db1a7643f960f50 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:39:10 +0200 Subject: [PATCH 5/9] Allow specifying F# compiler flags --- src/Visp.Cli/CliMain.fs | 2 +- src/Visp.Compiler/FsharpGenerator.fs | 6 ++++-- tests/Visp.ExecutionTests/TestUtils.fs | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Visp.Cli/CliMain.fs b/src/Visp.Cli/CliMain.fs index 0f40390..bf76c57 100644 --- a/src/Visp.Cli/CliMain.fs +++ b/src/Visp.Cli/CliMain.fs @@ -38,7 +38,7 @@ let main args = let generator = new FsharpGenerator(fs, projectPath) - generator.WriteVispFiles pkg files + generator.WriteVispFiles pkg files None let dotnet = Cli diff --git a/src/Visp.Compiler/FsharpGenerator.fs b/src/Visp.Compiler/FsharpGenerator.fs index 1954a15..fe03049 100644 --- a/src/Visp.Compiler/FsharpGenerator.fs +++ b/src/Visp.Compiler/FsharpGenerator.fs @@ -131,6 +131,7 @@ let private generateFsProjectFile (files: string seq) (deps: Set) (typ: RuntimeLibraryReference) + (flags: string) = let compileIncludes files = let compileInclude file = @@ -155,6 +156,7 @@ let private generateFsProjectFile net8.0 en true + $(OtherFlags) {flags} @@ -240,7 +242,7 @@ type FsharpGenerator(fs: IFileSystem, dir: string) = member this.NameOfWithoutExtension(name: string) = this.fs.Path.GetFileNameWithoutExtension name - member this.WriteVispFiles (typ: RuntimeLibraryReference) (files: VispFile list) = + member this.WriteVispFiles (typ: RuntimeLibraryReference) (files: VispFile list) (flags: string option) = let dir = this.fs.Directory.CreateDirectory this.dir let existingFiles = dir.GetFiles("*.fs", SearchOption.TopDirectoryOnly) @@ -265,7 +267,7 @@ type FsharpGenerator(fs: IFileSystem, dir: string) = let fileNames = results |> List.map fst let requires = results |> List.map snd |> Set.unionMany - let projTemplate = generateFsProjectFile fileNames requires typ + let projTemplate = generateFsProjectFile fileNames requires typ (Option.defaultValue "" flags) let projPath = this.PathOf "project.fsproj" diff --git a/tests/Visp.ExecutionTests/TestUtils.fs b/tests/Visp.ExecutionTests/TestUtils.fs index 8232c22..c17e9ec 100644 --- a/tests/Visp.ExecutionTests/TestUtils.fs +++ b/tests/Visp.ExecutionTests/TestUtils.fs @@ -41,7 +41,8 @@ let CreateAndRunProject filePath = let sb = new StringBuilder() - generator.WriteVispFiles RuntimeLibraryReference.Package files + // https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options#compiler-options-listed-alphabetically + generator.WriteVispFiles RuntimeLibraryReference.Package files (Some "--debug- --nooptimizationdata --optimize-") let dotnet = Cli From 8ceb9773a83b08d56c53d52895e50c4c5103edb2 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:44:53 +0200 Subject: [PATCH 6/9] Build improvements --- .github/workflows/pull-request.yml | 10 ++++------ Directory.Build.props | 2 +- build/Build.cs | 6 +++--- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index b9760f3..8fad4e5 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -17,6 +17,10 @@ name: pull-request on: + push: + branches: + - main + - develop pull_request: branches: - main @@ -28,8 +32,6 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v3 - with: - fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 with: @@ -49,8 +51,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - with: - fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 with: @@ -70,8 +70,6 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v3 - with: - fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 with: diff --git a/Directory.Build.props b/Directory.Build.props index 8a6a1d5..7456a96 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -37,7 +37,7 @@ false - Visp.Runtime.Library + Visp.Runtime.Library;Visp.Common diff --git a/build/Build.cs b/build/Build.cs index 3544981..9d582b9 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -14,7 +14,6 @@ using Nuke.Common.Utilities.Collections; using Nuke.Components; using Vipentti.Nuke.Components; -using static Nuke.Common.Tools.NuGet.NuGetTasks; using static Nuke.Common.Tools.DotNet.DotNetTasks; using static Vipentti.Nuke.Components.StandardNames; @@ -24,8 +23,9 @@ GitHubActionsImage.UbuntuLatest, GitHubActionsImage.MacOsLatest, OnPullRequestBranches = [ MainBranch, DevelopBranch ], - PublishArtifacts = false, - FetchDepth = 0 // fetch full history + OnPushBranches = [ MainBranch, DevelopBranch ], + PublishArtifacts = false + // FetchDepth = 0 // fetch full history , SetupDotnetVersions = [ "8.x", ] , InvokedTargets = [ nameof(ITest.Test), From 85deeed56c729044a59235ab072219565e785032 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 16:58:57 +0200 Subject: [PATCH 7/9] Add environment variable support for lib path --- build/Build.cs | 1 + src/Visp.Compiler/FsharpGenerator.fs | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index 9d582b9..7e2a885 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -97,6 +97,7 @@ from framework in TargetFrameworks .SetProcessEnvironmentVariable("VISP_FS_COMMON_PACKAGE_PATH", PackagePath) .SetProcessEnvironmentVariable("VISP_FS_PACKAGE_PATH", PackagePath) .SetProcessEnvironmentVariable("VISP_FS_PACKAGE_FEED_PATH", PackagePath / "feed") + .SetProcessEnvironmentVariable("VISP_FS_LIB_PATH", RootDirectory / "visp" / "lib") ; Target ITest.Test => _ => _ diff --git a/src/Visp.Compiler/FsharpGenerator.fs b/src/Visp.Compiler/FsharpGenerator.fs index fe03049..ec14652 100644 --- a/src/Visp.Compiler/FsharpGenerator.fs +++ b/src/Visp.Compiler/FsharpGenerator.fs @@ -21,9 +21,11 @@ let tempDirPath name = Path.Combine(src_dir, "..", "..", ".tmp", name) |> Path.GetFullPath let coreLibPath name = - let src_dir = __SOURCE_DIRECTORY__ - - Path.Combine(src_dir, "..", "..", "visp", "lib", name) |> Path.GetFullPath + match Environment.GetEnvironmentVariable("VISP_FS_LIB_PATH") with + | null -> + let src_dir = __SOURCE_DIRECTORY__ + Path.Combine(src_dir, "..", "..", "visp", "lib", name) |> Path.GetFullPath + | path -> Path.Combine(path, name) |> Path.GetFullPath let runtimeLibPath = let src_dir = __SOURCE_DIRECTORY__ From b186de29ad923f692758d73d72a09c446695ac87 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 17:17:12 +0200 Subject: [PATCH 8/9] Fix formatting --- src/Visp.Compiler/FsharpGenerator.fs | 11 +++++++++-- src/Visp.Compiler/Syntax/SynWriter.fs | 7 +++++-- src/Visp.Compiler/Syntax/Syntax.fs | 3 ++- tests/Visp.ExecutionTests/TestUtils.fs | 6 +++++- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/Visp.Compiler/FsharpGenerator.fs b/src/Visp.Compiler/FsharpGenerator.fs index ec14652..d504f8d 100644 --- a/src/Visp.Compiler/FsharpGenerator.fs +++ b/src/Visp.Compiler/FsharpGenerator.fs @@ -104,6 +104,7 @@ let private generateNuGetConfig () = """ + t.Trim() + Environment.NewLine | None -> @@ -117,6 +118,7 @@ let private generateNuGetConfig () = """ + t.Trim() + Environment.NewLine let private runtimeProjectOrPackageReference (typ: RuntimeLibraryReference) = @@ -244,7 +246,11 @@ type FsharpGenerator(fs: IFileSystem, dir: string) = member this.NameOfWithoutExtension(name: string) = this.fs.Path.GetFileNameWithoutExtension name - member this.WriteVispFiles (typ: RuntimeLibraryReference) (files: VispFile list) (flags: string option) = + member this.WriteVispFiles + (typ: RuntimeLibraryReference) + (files: VispFile list) + (flags: string option) + = let dir = this.fs.Directory.CreateDirectory this.dir let existingFiles = dir.GetFiles("*.fs", SearchOption.TopDirectoryOnly) @@ -269,7 +275,8 @@ type FsharpGenerator(fs: IFileSystem, dir: string) = let fileNames = results |> List.map fst let requires = results |> List.map snd |> Set.unionMany - let projTemplate = generateFsProjectFile fileNames requires typ (Option.defaultValue "" flags) + let projTemplate = + generateFsProjectFile fileNames requires typ (Option.defaultValue "" flags) let projPath = this.PathOf "project.fsproj" diff --git a/src/Visp.Compiler/Syntax/SynWriter.fs b/src/Visp.Compiler/Syntax/SynWriter.fs index d477342..d9e3d0a 100644 --- a/src/Visp.Compiler/Syntax/SynWriter.fs +++ b/src/Visp.Compiler/Syntax/SynWriter.fs @@ -1187,18 +1187,21 @@ module Write = match decls with | decl :: rest -> match decl with - | SynModuleDecl.HashDirective (ParsedHashDirective (ident, args, r), _) -> + | SynModuleDecl.HashDirective(ParsedHashDirective(ident, args, r), _) -> indent w lineof w r indent w fmtprintf w "#%s" ident + for arg in args do space w + match arg with - | ParsedHashDirectiveArgument.String (it, _, _) -> + | ParsedHashDirectiveArgument.String(it, _, _) -> char w '"' string w it char w '"' + () | SynModuleDecl.ModuleAbbrev _ -> () | SynModuleDecl.Require _ -> () diff --git a/src/Visp.Compiler/Syntax/Syntax.fs b/src/Visp.Compiler/Syntax/Syntax.fs index 46053f9..8c9a10e 100644 --- a/src/Visp.Compiler/Syntax/Syntax.fs +++ b/src/Visp.Compiler/Syntax/Syntax.fs @@ -431,7 +431,8 @@ type ParsedHashDirectiveArgument = | String(range = m) -> m [] -type ParsedHashDirective = ParsedHashDirective of ident: string * args: ParsedHashDirectiveArgument list * range: range +type ParsedHashDirective = + | ParsedHashDirective of ident: string * args: ParsedHashDirectiveArgument list * range: range [] type SynModuleDecl = diff --git a/tests/Visp.ExecutionTests/TestUtils.fs b/tests/Visp.ExecutionTests/TestUtils.fs index c17e9ec..d67171c 100644 --- a/tests/Visp.ExecutionTests/TestUtils.fs +++ b/tests/Visp.ExecutionTests/TestUtils.fs @@ -42,7 +42,10 @@ let CreateAndRunProject filePath = let sb = new StringBuilder() // https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options#compiler-options-listed-alphabetically - generator.WriteVispFiles RuntimeLibraryReference.Package files (Some "--debug- --nooptimizationdata --optimize-") + generator.WriteVispFiles + RuntimeLibraryReference.Package + files + (Some "--debug- --nooptimizationdata --optimize-") let dotnet = Cli @@ -55,6 +58,7 @@ let CreateAndRunProject filePath = async { let mutable succeed = false + try let! result = dotnet.ExecuteAsync().Task |> Async.AwaitTask From 0e2577ee1857abe0e20e6d83edd930338d298f24 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Mon, 4 Dec 2023 17:37:47 +0200 Subject: [PATCH 9/9] Do not use HashCode for comparison --- src/Visp.Runtime.Library/Value.fs | 28 +++++++++++++++---- ...hashmap_hashmap-0.can execute.verified.txt | 2 +- ...hashset_hashset-0.can execute.verified.txt | 2 +- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/Visp.Runtime.Library/Value.fs b/src/Visp.Runtime.Library/Value.fs index 085fb7d..1152e1e 100644 --- a/src/Visp.Runtime.Library/Value.fs +++ b/src/Visp.Runtime.Library/Value.fs @@ -32,15 +32,33 @@ type Value = | HashSet of HashSet | Pair of Pair + member this.TypeName = + match this with + | Nil -> "Value.Nil" + | Unit -> "Value.Unit" + | String _ -> "Value.String" + | Symbol _ -> "Value.Symbol" + | Keyword _ -> "Value.Keyword" + | Number _ -> "Value.Number" + | Char _ -> "Value.Char" + | Bool _ -> "Value.Bool" + | Any _ -> "Value.Any" + | Atom _ -> "Value.Atom" + | List _ -> "Value.List" + | Vector _ -> "Value.Vector" + | HashMap _ -> "Value.HashMap" + | HashSet _ -> "Value.HashSet" + | Pair _ -> "Value.Pair" + override this.GetHashCode() = System.HashCode.Combine( this.GetType(), match this with | Vector v -> v.GetHashCode() | List v -> v.GetHashCode() - | String v -> HashCode.Combine("string", v.GetHashCode()) - | Symbol v -> HashCode.Combine("symbol", v.GetHashCode()) - | Keyword v -> HashCode.Combine("keyword", v.GetHashCode()) + | String v -> HashCode.Combine("string", v) + | Symbol v -> HashCode.Combine("symbol", v) + | Keyword v -> HashCode.Combine("keyword", v) | Number v -> v.GetHashCode() | Char v -> v.GetHashCode() | Bool v -> v.GetHashCode() @@ -105,9 +123,7 @@ type Value = | (HashMap lhs, HashMap rhs) -> lhs.CompareTo(rhs) | (HashSet lhs, HashSet rhs) -> lhs.CompareTo(rhs) | (Pair lhs, Pair rhs) -> lhs.CompareTo(rhs) - | (lhs, rhs) -> - (lhs.GetType().GetHashCode() :> IComparable<_>) - .CompareTo(rhs.GetType().GetHashCode()) + | (lhs, rhs) -> lhs.TypeName.CompareTo(rhs.TypeName) static member list(it: Value seq) = List(ValueList(List.ofSeq it)) diff --git a/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt index d660846..350e0be 100644 --- a/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt +++ b/tests/Visp.ExecutionTests/snapshots/tests_hashmap_hashmap-0.can execute.verified.txt @@ -1,4 +1,4 @@ -{:this-is-a-key "value" "string as key" "string value" 0 "int as key"} +{:this-is-a-key "value" 0 "int as key" "string as key" "string value"} "string value" "value" () diff --git a/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt b/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt index 8b95b30..aad623c 100644 --- a/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt +++ b/tests/Visp.ExecutionTests/snapshots/tests_hashset_hashset-0.can execute.verified.txt @@ -1,4 +1,4 @@ -#{:this-is-a-key "int as key" "string as key" "string value" "value" 0} +#{:this-is-a-key 0 "int as key" "string as key" "string value" "value"} () ExitCode: 0