#include #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 14 #define STATE_COUNT 458 #define LARGE_STATE_COUNT 39 #define SYMBOL_COUNT 112 #define ALIAS_COUNT 0 #define TOKEN_COUNT 67 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 #define PRODUCTION_ID_COUNT 1 enum { sym_identifier = 1, sym__comment = 2, anon_sym_SEMI = 3, anon_sym_LPAREN = 4, anon_sym_RPAREN = 5, anon_sym_COMMA = 6, anon_sym_async = 7, anon_sym_LBRACE = 8, anon_sym_RBRACE = 9, sym_integer = 10, sym_float = 11, sym_string = 12, anon_sym_true = 13, anon_sym_false = 14, anon_sym_LBRACK = 15, anon_sym_RBRACK = 16, anon_sym_struct = 17, anon_sym_new = 18, anon_sym_EQ = 19, anon_sym_none = 20, anon_sym_some = 21, anon_sym_COLON = 22, anon_sym_DOT_DOT = 23, anon_sym_PLUS = 24, anon_sym_DASH = 25, anon_sym_STAR = 26, anon_sym_SLASH = 27, anon_sym_PERCENT = 28, anon_sym_EQ_EQ = 29, anon_sym_BANG_EQ = 30, anon_sym_AMP_AMP = 31, anon_sym_PIPE_PIPE = 32, anon_sym_GT = 33, anon_sym_LT = 34, anon_sym_GT_EQ = 35, anon_sym_LT_EQ = 36, anon_sym_PLUS_EQ = 37, anon_sym_DASH_EQ = 38, anon_sym_if = 39, anon_sym_elseif = 40, anon_sym_else = 41, anon_sym_match = 42, anon_sym_EQ_GT = 43, anon_sym_while = 44, anon_sym_for = 45, anon_sym_asyncfor = 46, anon_sym_in = 47, anon_sym_return = 48, anon_sym_any = 49, anon_sym_bool = 50, anon_sym_collection = 51, anon_sym_float = 52, anon_sym_int = 53, anon_sym_num = 54, anon_sym_str = 55, anon_sym_DASH_GT = 56, anon_sym_option = 57, anon_sym_args = 58, anon_sym_assert_equal = 59, anon_sym_env = 60, anon_sym_fs = 61, anon_sym_json = 62, anon_sym_length = 63, anon_sym_output = 64, anon_sym_random = 65, anon_sym_string = 66, sym_root = 67, sym_statement = 68, sym_expression = 69, sym__expression_kind = 70, aux_sym__expression_list = 71, sym_block = 72, sym_value = 73, sym_boolean = 74, sym_list = 75, sym_structure_definition = 76, sym_structure = 77, sym_structure_instantiator = 78, sym_option = 79, sym_index = 80, sym_index_expression = 81, sym_math = 82, sym_math_operator = 83, sym_logic = 84, sym_logic_operator = 85, sym_assignment = 86, sym_index_assignment = 87, sym_assignment_operator = 88, sym_if_else = 89, sym_if = 90, sym_else_if = 91, sym_else = 92, sym_match = 93, sym_while = 94, sym_for = 95, sym_return = 96, sym_type_definition = 97, sym_type = 98, sym_function = 99, sym_function_expression = 100, sym__function_expression_kind = 101, sym_function_call = 102, sym_yield = 103, sym_built_in_value = 104, aux_sym_root_repeat1 = 105, aux_sym_list_repeat1 = 106, aux_sym_structure_instantiator_repeat1 = 107, aux_sym_if_else_repeat1 = 108, aux_sym_match_repeat1 = 109, aux_sym_type_repeat1 = 110, aux_sym_function_repeat1 = 111, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", [sym__comment] = "_comment", [anon_sym_SEMI] = ";", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", [anon_sym_COMMA] = ",", [anon_sym_async] = "async", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [sym_integer] = "integer", [sym_float] = "float", [sym_string] = "string", [anon_sym_true] = "true", [anon_sym_false] = "false", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_struct] = "struct", [anon_sym_new] = "new", [anon_sym_EQ] = "=", [anon_sym_none] = "none", [anon_sym_some] = "some", [anon_sym_COLON] = ":", [anon_sym_DOT_DOT] = "..", [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_STAR] = "*", [anon_sym_SLASH] = "/", [anon_sym_PERCENT] = "%", [anon_sym_EQ_EQ] = "==", [anon_sym_BANG_EQ] = "!=", [anon_sym_AMP_AMP] = "&&", [anon_sym_PIPE_PIPE] = "||", [anon_sym_GT] = ">", [anon_sym_LT] = "<", [anon_sym_GT_EQ] = ">=", [anon_sym_LT_EQ] = "<=", [anon_sym_PLUS_EQ] = "+=", [anon_sym_DASH_EQ] = "-=", [anon_sym_if] = "if", [anon_sym_elseif] = "else if", [anon_sym_else] = "else", [anon_sym_match] = "match", [anon_sym_EQ_GT] = "=>", [anon_sym_while] = "while", [anon_sym_for] = "for", [anon_sym_asyncfor] = "async for", [anon_sym_in] = "in", [anon_sym_return] = "return", [anon_sym_any] = "any", [anon_sym_bool] = "bool", [anon_sym_collection] = "collection", [anon_sym_float] = "float", [anon_sym_int] = "int", [anon_sym_num] = "num", [anon_sym_str] = "str", [anon_sym_DASH_GT] = "->", [anon_sym_option] = "option", [anon_sym_args] = "args", [anon_sym_assert_equal] = "assert_equal", [anon_sym_env] = "env", [anon_sym_fs] = "fs", [anon_sym_json] = "json", [anon_sym_length] = "length", [anon_sym_output] = "output", [anon_sym_random] = "random", [anon_sym_string] = "string", [sym_root] = "root", [sym_statement] = "statement", [sym_expression] = "expression", [sym__expression_kind] = "_expression_kind", [aux_sym__expression_list] = "_expression_list", [sym_block] = "block", [sym_value] = "value", [sym_boolean] = "boolean", [sym_list] = "list", [sym_structure_definition] = "structure_definition", [sym_structure] = "structure", [sym_structure_instantiator] = "structure_instantiator", [sym_option] = "option", [sym_index] = "index", [sym_index_expression] = "index_expression", [sym_math] = "math", [sym_math_operator] = "math_operator", [sym_logic] = "logic", [sym_logic_operator] = "logic_operator", [sym_assignment] = "assignment", [sym_index_assignment] = "index_assignment", [sym_assignment_operator] = "assignment_operator", [sym_if_else] = "if_else", [sym_if] = "if", [sym_else_if] = "else_if", [sym_else] = "else", [sym_match] = "match", [sym_while] = "while", [sym_for] = "for", [sym_return] = "return", [sym_type_definition] = "type_definition", [sym_type] = "type", [sym_function] = "function", [sym_function_expression] = "function_expression", [sym__function_expression_kind] = "_function_expression_kind", [sym_function_call] = "function_call", [sym_yield] = "yield", [sym_built_in_value] = "built_in_value", [aux_sym_root_repeat1] = "root_repeat1", [aux_sym_list_repeat1] = "list_repeat1", [aux_sym_structure_instantiator_repeat1] = "structure_instantiator_repeat1", [aux_sym_if_else_repeat1] = "if_else_repeat1", [aux_sym_match_repeat1] = "match_repeat1", [aux_sym_type_repeat1] = "type_repeat1", [aux_sym_function_repeat1] = "function_repeat1", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, [sym__comment] = sym__comment, [anon_sym_SEMI] = anon_sym_SEMI, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_async] = anon_sym_async, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [sym_integer] = sym_integer, [sym_float] = sym_float, [sym_string] = sym_string, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_struct] = anon_sym_struct, [anon_sym_new] = anon_sym_new, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_none] = anon_sym_none, [anon_sym_some] = anon_sym_some, [anon_sym_COLON] = anon_sym_COLON, [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_STAR] = anon_sym_STAR, [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_PERCENT] = anon_sym_PERCENT, [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, [anon_sym_GT] = anon_sym_GT, [anon_sym_LT] = anon_sym_LT, [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_LT_EQ] = anon_sym_LT_EQ, [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, [anon_sym_if] = anon_sym_if, [anon_sym_elseif] = anon_sym_elseif, [anon_sym_else] = anon_sym_else, [anon_sym_match] = anon_sym_match, [anon_sym_EQ_GT] = anon_sym_EQ_GT, [anon_sym_while] = anon_sym_while, [anon_sym_for] = anon_sym_for, [anon_sym_asyncfor] = anon_sym_asyncfor, [anon_sym_in] = anon_sym_in, [anon_sym_return] = anon_sym_return, [anon_sym_any] = anon_sym_any, [anon_sym_bool] = anon_sym_bool, [anon_sym_collection] = anon_sym_collection, [anon_sym_float] = anon_sym_float, [anon_sym_int] = anon_sym_int, [anon_sym_num] = anon_sym_num, [anon_sym_str] = anon_sym_str, [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_option] = anon_sym_option, [anon_sym_args] = anon_sym_args, [anon_sym_assert_equal] = anon_sym_assert_equal, [anon_sym_env] = anon_sym_env, [anon_sym_fs] = anon_sym_fs, [anon_sym_json] = anon_sym_json, [anon_sym_length] = anon_sym_length, [anon_sym_output] = anon_sym_output, [anon_sym_random] = anon_sym_random, [anon_sym_string] = anon_sym_string, [sym_root] = sym_root, [sym_statement] = sym_statement, [sym_expression] = sym_expression, [sym__expression_kind] = sym__expression_kind, [aux_sym__expression_list] = aux_sym__expression_list, [sym_block] = sym_block, [sym_value] = sym_value, [sym_boolean] = sym_boolean, [sym_list] = sym_list, [sym_structure_definition] = sym_structure_definition, [sym_structure] = sym_structure, [sym_structure_instantiator] = sym_structure_instantiator, [sym_option] = sym_option, [sym_index] = sym_index, [sym_index_expression] = sym_index_expression, [sym_math] = sym_math, [sym_math_operator] = sym_math_operator, [sym_logic] = sym_logic, [sym_logic_operator] = sym_logic_operator, [sym_assignment] = sym_assignment, [sym_index_assignment] = sym_index_assignment, [sym_assignment_operator] = sym_assignment_operator, [sym_if_else] = sym_if_else, [sym_if] = sym_if, [sym_else_if] = sym_else_if, [sym_else] = sym_else, [sym_match] = sym_match, [sym_while] = sym_while, [sym_for] = sym_for, [sym_return] = sym_return, [sym_type_definition] = sym_type_definition, [sym_type] = sym_type, [sym_function] = sym_function, [sym_function_expression] = sym_function_expression, [sym__function_expression_kind] = sym__function_expression_kind, [sym_function_call] = sym_function_call, [sym_yield] = sym_yield, [sym_built_in_value] = sym_built_in_value, [aux_sym_root_repeat1] = aux_sym_root_repeat1, [aux_sym_list_repeat1] = aux_sym_list_repeat1, [aux_sym_structure_instantiator_repeat1] = aux_sym_structure_instantiator_repeat1, [aux_sym_if_else_repeat1] = aux_sym_if_else_repeat1, [aux_sym_match_repeat1] = aux_sym_match_repeat1, [aux_sym_type_repeat1] = aux_sym_type_repeat1, [aux_sym_function_repeat1] = aux_sym_function_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_identifier] = { .visible = true, .named = true, }, [sym__comment] = { .visible = false, .named = true, }, [anon_sym_SEMI] = { .visible = true, .named = false, }, [anon_sym_LPAREN] = { .visible = true, .named = false, }, [anon_sym_RPAREN] = { .visible = true, .named = false, }, [anon_sym_COMMA] = { .visible = true, .named = false, }, [anon_sym_async] = { .visible = true, .named = false, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [sym_integer] = { .visible = true, .named = true, }, [sym_float] = { .visible = true, .named = true, }, [sym_string] = { .visible = true, .named = true, }, [anon_sym_true] = { .visible = true, .named = false, }, [anon_sym_false] = { .visible = true, .named = false, }, [anon_sym_LBRACK] = { .visible = true, .named = false, }, [anon_sym_RBRACK] = { .visible = true, .named = false, }, [anon_sym_struct] = { .visible = true, .named = false, }, [anon_sym_new] = { .visible = true, .named = false, }, [anon_sym_EQ] = { .visible = true, .named = false, }, [anon_sym_none] = { .visible = true, .named = false, }, [anon_sym_some] = { .visible = true, .named = false, }, [anon_sym_COLON] = { .visible = true, .named = false, }, [anon_sym_DOT_DOT] = { .visible = true, .named = false, }, [anon_sym_PLUS] = { .visible = true, .named = false, }, [anon_sym_DASH] = { .visible = true, .named = false, }, [anon_sym_STAR] = { .visible = true, .named = false, }, [anon_sym_SLASH] = { .visible = true, .named = false, }, [anon_sym_PERCENT] = { .visible = true, .named = false, }, [anon_sym_EQ_EQ] = { .visible = true, .named = false, }, [anon_sym_BANG_EQ] = { .visible = true, .named = false, }, [anon_sym_AMP_AMP] = { .visible = true, .named = false, }, [anon_sym_PIPE_PIPE] = { .visible = true, .named = false, }, [anon_sym_GT] = { .visible = true, .named = false, }, [anon_sym_LT] = { .visible = true, .named = false, }, [anon_sym_GT_EQ] = { .visible = true, .named = false, }, [anon_sym_LT_EQ] = { .visible = true, .named = false, }, [anon_sym_PLUS_EQ] = { .visible = true, .named = false, }, [anon_sym_DASH_EQ] = { .visible = true, .named = false, }, [anon_sym_if] = { .visible = true, .named = false, }, [anon_sym_elseif] = { .visible = true, .named = false, }, [anon_sym_else] = { .visible = true, .named = false, }, [anon_sym_match] = { .visible = true, .named = false, }, [anon_sym_EQ_GT] = { .visible = true, .named = false, }, [anon_sym_while] = { .visible = true, .named = false, }, [anon_sym_for] = { .visible = true, .named = false, }, [anon_sym_asyncfor] = { .visible = true, .named = false, }, [anon_sym_in] = { .visible = true, .named = false, }, [anon_sym_return] = { .visible = true, .named = false, }, [anon_sym_any] = { .visible = true, .named = false, }, [anon_sym_bool] = { .visible = true, .named = false, }, [anon_sym_collection] = { .visible = true, .named = false, }, [anon_sym_float] = { .visible = true, .named = false, }, [anon_sym_int] = { .visible = true, .named = false, }, [anon_sym_num] = { .visible = true, .named = false, }, [anon_sym_str] = { .visible = true, .named = false, }, [anon_sym_DASH_GT] = { .visible = true, .named = false, }, [anon_sym_option] = { .visible = true, .named = false, }, [anon_sym_args] = { .visible = true, .named = false, }, [anon_sym_assert_equal] = { .visible = true, .named = false, }, [anon_sym_env] = { .visible = true, .named = false, }, [anon_sym_fs] = { .visible = true, .named = false, }, [anon_sym_json] = { .visible = true, .named = false, }, [anon_sym_length] = { .visible = true, .named = false, }, [anon_sym_output] = { .visible = true, .named = false, }, [anon_sym_random] = { .visible = true, .named = false, }, [anon_sym_string] = { .visible = true, .named = false, }, [sym_root] = { .visible = true, .named = true, }, [sym_statement] = { .visible = true, .named = true, }, [sym_expression] = { .visible = true, .named = true, }, [sym__expression_kind] = { .visible = false, .named = true, }, [aux_sym__expression_list] = { .visible = false, .named = false, }, [sym_block] = { .visible = true, .named = true, }, [sym_value] = { .visible = true, .named = true, }, [sym_boolean] = { .visible = true, .named = true, }, [sym_list] = { .visible = true, .named = true, }, [sym_structure_definition] = { .visible = true, .named = true, }, [sym_structure] = { .visible = true, .named = true, }, [sym_structure_instantiator] = { .visible = true, .named = true, }, [sym_option] = { .visible = true, .named = true, }, [sym_index] = { .visible = true, .named = true, }, [sym_index_expression] = { .visible = true, .named = true, }, [sym_math] = { .visible = true, .named = true, }, [sym_math_operator] = { .visible = true, .named = true, }, [sym_logic] = { .visible = true, .named = true, }, [sym_logic_operator] = { .visible = true, .named = true, }, [sym_assignment] = { .visible = true, .named = true, }, [sym_index_assignment] = { .visible = true, .named = true, }, [sym_assignment_operator] = { .visible = true, .named = true, }, [sym_if_else] = { .visible = true, .named = true, }, [sym_if] = { .visible = true, .named = true, }, [sym_else_if] = { .visible = true, .named = true, }, [sym_else] = { .visible = true, .named = true, }, [sym_match] = { .visible = true, .named = true, }, [sym_while] = { .visible = true, .named = true, }, [sym_for] = { .visible = true, .named = true, }, [sym_return] = { .visible = true, .named = true, }, [sym_type_definition] = { .visible = true, .named = true, }, [sym_type] = { .visible = true, .named = true, }, [sym_function] = { .visible = true, .named = true, }, [sym_function_expression] = { .visible = true, .named = true, }, [sym__function_expression_kind] = { .visible = false, .named = true, }, [sym_function_call] = { .visible = true, .named = true, }, [sym_yield] = { .visible = true, .named = true, }, [sym_built_in_value] = { .visible = true, .named = true, }, [aux_sym_root_repeat1] = { .visible = false, .named = false, }, [aux_sym_list_repeat1] = { .visible = false, .named = false, }, [aux_sym_structure_instantiator_repeat1] = { .visible = false, .named = false, }, [aux_sym_if_else_repeat1] = { .visible = false, .named = false, }, [aux_sym_match_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_repeat1] = { .visible = false, .named = false, }, [aux_sym_function_repeat1] = { .visible = false, .named = false, }, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 3, [5] = 3, [6] = 6, [7] = 7, [8] = 8, [9] = 8, [10] = 7, [11] = 6, [12] = 6, [13] = 8, [14] = 7, [15] = 6, [16] = 3, [17] = 7, [18] = 18, [19] = 8, [20] = 8, [21] = 3, [22] = 7, [23] = 6, [24] = 24, [25] = 25, [26] = 25, [27] = 24, [28] = 24, [29] = 29, [30] = 29, [31] = 25, [32] = 32, [33] = 32, [34] = 32, [35] = 35, [36] = 36, [37] = 29, [38] = 38, [39] = 39, [40] = 40, [41] = 41, [42] = 41, [43] = 40, [44] = 39, [45] = 45, [46] = 46, [47] = 47, [48] = 48, [49] = 49, [50] = 50, [51] = 51, [52] = 52, [53] = 53, [54] = 54, [55] = 55, [56] = 56, [57] = 57, [58] = 58, [59] = 59, [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, [65] = 65, [66] = 66, [67] = 67, [68] = 68, [69] = 53, [70] = 70, [71] = 71, [72] = 72, [73] = 73, [74] = 74, [75] = 75, [76] = 76, [77] = 77, [78] = 40, [79] = 41, [80] = 77, [81] = 41, [82] = 45, [83] = 40, [84] = 39, [85] = 70, [86] = 40, [87] = 41, [88] = 39, [89] = 61, [90] = 57, [91] = 53, [92] = 70, [93] = 76, [94] = 73, [95] = 63, [96] = 67, [97] = 62, [98] = 55, [99] = 58, [100] = 49, [101] = 66, [102] = 72, [103] = 74, [104] = 75, [105] = 59, [106] = 50, [107] = 51, [108] = 47, [109] = 56, [110] = 64, [111] = 71, [112] = 53, [113] = 65, [114] = 60, [115] = 68, [116] = 54, [117] = 52, [118] = 46, [119] = 48, [120] = 120, [121] = 40, [122] = 41, [123] = 123, [124] = 123, [125] = 125, [126] = 126, [127] = 127, [128] = 128, [129] = 129, [130] = 130, [131] = 131, [132] = 132, [133] = 131, [134] = 132, [135] = 128, [136] = 136, [137] = 126, [138] = 126, [139] = 139, [140] = 70, [141] = 130, [142] = 125, [143] = 127, [144] = 125, [145] = 130, [146] = 128, [147] = 126, [148] = 136, [149] = 131, [150] = 127, [151] = 126, [152] = 132, [153] = 126, [154] = 77, [155] = 77, [156] = 156, [157] = 157, [158] = 158, [159] = 159, [160] = 157, [161] = 158, [162] = 162, [163] = 162, [164] = 164, [165] = 162, [166] = 157, [167] = 158, [168] = 157, [169] = 158, [170] = 157, [171] = 158, [172] = 159, [173] = 173, [174] = 162, [175] = 175, [176] = 162, [177] = 177, [178] = 178, [179] = 157, [180] = 180, [181] = 162, [182] = 162, [183] = 158, [184] = 162, [185] = 185, [186] = 157, [187] = 158, [188] = 162, [189] = 158, [190] = 157, [191] = 159, [192] = 162, [193] = 156, [194] = 164, [195] = 178, [196] = 158, [197] = 157, [198] = 178, [199] = 157, [200] = 180, [201] = 177, [202] = 158, [203] = 177, [204] = 158, [205] = 157, [206] = 175, [207] = 156, [208] = 157, [209] = 158, [210] = 178, [211] = 162, [212] = 212, [213] = 213, [214] = 214, [215] = 56, [216] = 216, [217] = 217, [218] = 72, [219] = 58, [220] = 220, [221] = 221, [222] = 222, [223] = 223, [224] = 224, [225] = 225, [226] = 226, [227] = 227, [228] = 228, [229] = 229, [230] = 228, [231] = 231, [232] = 232, [233] = 233, [234] = 233, [235] = 233, [236] = 233, [237] = 233, [238] = 233, [239] = 233, [240] = 212, [241] = 213, [242] = 39, [243] = 214, [244] = 45, [245] = 40, [246] = 41, [247] = 247, [248] = 59, [249] = 56, [250] = 40, [251] = 61, [252] = 68, [253] = 71, [254] = 54, [255] = 51, [256] = 72, [257] = 65, [258] = 57, [259] = 52, [260] = 47, [261] = 58, [262] = 64, [263] = 75, [264] = 74, [265] = 73, [266] = 60, [267] = 41, [268] = 49, [269] = 50, [270] = 63, [271] = 66, [272] = 39, [273] = 55, [274] = 53, [275] = 62, [276] = 70, [277] = 76, [278] = 67, [279] = 58, [280] = 72, [281] = 53, [282] = 56, [283] = 216, [284] = 217, [285] = 220, [286] = 227, [287] = 232, [288] = 225, [289] = 231, [290] = 223, [291] = 228, [292] = 226, [293] = 224, [294] = 229, [295] = 228, [296] = 221, [297] = 46, [298] = 222, [299] = 70, [300] = 48, [301] = 301, [302] = 41, [303] = 40, [304] = 304, [305] = 305, [306] = 306, [307] = 307, [308] = 308, [309] = 41, [310] = 40, [311] = 39, [312] = 77, [313] = 77, [314] = 314, [315] = 41, [316] = 316, [317] = 316, [318] = 318, [319] = 319, [320] = 314, [321] = 39, [322] = 319, [323] = 318, [324] = 318, [325] = 314, [326] = 40, [327] = 53, [328] = 328, [329] = 329, [330] = 63, [331] = 331, [332] = 70, [333] = 40, [334] = 334, [335] = 335, [336] = 335, [337] = 337, [338] = 338, [339] = 41, [340] = 340, [341] = 341, [342] = 341, [343] = 343, [344] = 341, [345] = 345, [346] = 345, [347] = 347, [348] = 347, [349] = 347, [350] = 350, [351] = 345, [352] = 345, [353] = 345, [354] = 345, [355] = 347, [356] = 345, [357] = 357, [358] = 345, [359] = 345, [360] = 345, [361] = 361, [362] = 345, [363] = 345, [364] = 364, [365] = 365, [366] = 364, [367] = 364, [368] = 368, [369] = 369, [370] = 370, [371] = 371, [372] = 372, [373] = 373, [374] = 374, [375] = 212, [376] = 213, [377] = 377, [378] = 377, [379] = 377, [380] = 380, [381] = 381, [382] = 382, [383] = 383, [384] = 384, [385] = 385, [386] = 382, [387] = 387, [388] = 383, [389] = 389, [390] = 390, [391] = 383, [392] = 384, [393] = 384, [394] = 381, [395] = 395, [396] = 382, [397] = 397, [398] = 381, [399] = 389, [400] = 400, [401] = 389, [402] = 402, [403] = 403, [404] = 404, [405] = 405, [406] = 406, [407] = 407, [408] = 408, [409] = 409, [410] = 403, [411] = 411, [412] = 408, [413] = 413, [414] = 408, [415] = 403, [416] = 409, [417] = 411, [418] = 407, [419] = 409, [420] = 420, [421] = 407, [422] = 411, [423] = 423, [424] = 424, [425] = 425, [426] = 426, [427] = 427, [428] = 425, [429] = 429, [430] = 430, [431] = 431, [432] = 426, [433] = 426, [434] = 434, [435] = 426, [436] = 425, [437] = 437, [438] = 425, [439] = 439, [440] = 427, [441] = 426, [442] = 442, [443] = 437, [444] = 442, [445] = 427, [446] = 446, [447] = 424, [448] = 448, [449] = 425, [450] = 450, [451] = 426, [452] = 424, [453] = 442, [454] = 437, [455] = 426, [456] = 430, [457] = 430, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(26); if (lookahead == '!') ADVANCE(11); if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(51); if (lookahead == '>') ADVANCE(67); if (lookahead == '[') ADVANCE(48); if (lookahead == ']') ADVANCE(49); if (lookahead == '`') ADVANCE(15); if (lookahead == 'a') ADVANCE(41); if (lookahead == 'e') ADVANCE(39); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 1: if (lookahead == '!') ADVANCE(11); if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(50); if (lookahead == '>') ADVANCE(67); if (lookahead == '[') ADVANCE(48); if (lookahead == ']') ADVANCE(49); if (lookahead == '`') ADVANCE(15); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(1) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 2: if (lookahead == '!') ADVANCE(11); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(56); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(51); if (lookahead == '>') ADVANCE(67); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(2) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 3: if (lookahead == '!') ADVANCE(11); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(54); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(57); if (lookahead == '/') ADVANCE(60); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(12); if (lookahead == '>') ADVANCE(67); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 4: if (lookahead == '!') ADVANCE(11); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '(') ADVANCE(30); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(56); if (lookahead == '/') ADVANCE(60); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(50); if (lookahead == '>') ADVANCE(67); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(4) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 5: if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == '*') ADVANCE(59); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (lookahead == ';') ADVANCE(29); if (lookahead == '=') ADVANCE(14); if (lookahead == '>') ADVANCE(66); if (lookahead == '[') ADVANCE(48); if (lookahead == '`') ADVANCE(15); if (lookahead == 'e') ADVANCE(39); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(5) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 6: if (lookahead == '"') ADVANCE(47); if (lookahead != 0) ADVANCE(6); END_STATE(); case 7: if (lookahead == '#') ADVANCE(21); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(13); if (lookahead == '>') ADVANCE(66); if (lookahead == '[') ADVANCE(48); if (lookahead == ']') ADVANCE(49); if (lookahead == '{') ADVANCE(33); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(7) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 8: if (lookahead == '&') ADVANCE(64); END_STATE(); case 9: if (lookahead == '\'') ADVANCE(47); if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: if (lookahead == '.') ADVANCE(53); END_STATE(); case 11: if (lookahead == '=') ADVANCE(63); END_STATE(); case 12: if (lookahead == '=') ADVANCE(62); if (lookahead == '>') ADVANCE(74); END_STATE(); case 13: if (lookahead == '>') ADVANCE(76); END_STATE(); case 14: if (lookahead == '>') ADVANCE(74); END_STATE(); case 15: if (lookahead == '`') ADVANCE(47); if (lookahead != 0) ADVANCE(15); END_STATE(); case 16: if (lookahead == 'f') ADVANCE(19); END_STATE(); case 17: if (lookahead == 'f') ADVANCE(73); END_STATE(); case 18: if (lookahead == 'i') ADVANCE(17); END_STATE(); case 19: if (lookahead == 'o') ADVANCE(20); END_STATE(); case 20: if (lookahead == 'r') ADVANCE(75); END_STATE(); case 21: if (lookahead == '|') ADVANCE(28); if (lookahead == '\n' || lookahead == '#') ADVANCE(27); if (lookahead != 0) ADVANCE(21); END_STATE(); case 22: if (lookahead == '|') ADVANCE(65); END_STATE(); case 23: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(46); END_STATE(); case 25: if (eof) ADVANCE(26); if (lookahead == '!') ADVANCE(11); if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(50); if (lookahead == '>') ADVANCE(67); if (lookahead == '[') ADVANCE(48); if (lookahead == '`') ADVANCE(15); if (lookahead == 'a') ADVANCE(41); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(25) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 26: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 27: ACCEPT_TOKEN(sym__comment); END_STATE(); case 28: ACCEPT_TOKEN(sym__comment); if (lookahead == '|') ADVANCE(28); if (lookahead == '\n' || lookahead == '#') ADVANCE(27); if (lookahead != 0) ADVANCE(21); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 31: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 32: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 33: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 34: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 35: ACCEPT_TOKEN(sym_identifier); if (lookahead == ' ') ADVANCE(18); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 36: ACCEPT_TOKEN(sym_identifier); if (lookahead == ' ') ADVANCE(16); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 37: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'c') ADVANCE(36); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 38: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'e') ADVANCE(35); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 39: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'l') ADVANCE(42); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 40: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'n') ADVANCE(37); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 41: ACCEPT_TOKEN(sym_identifier); if (lookahead == 's') ADVANCE(43); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 42: ACCEPT_TOKEN(sym_identifier); if (lookahead == 's') ADVANCE(38); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 43: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'y') ADVANCE(40); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 44: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 45: ACCEPT_TOKEN(sym_integer); if (lookahead == '.') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); END_STATE(); case 46: ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(46); END_STATE(); case 47: ACCEPT_TOKEN(sym_string); END_STATE(); case 48: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 49: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(62); END_STATE(); case 51: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(62); if (lookahead == '>') ADVANCE(74); END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 55: ACCEPT_TOKEN(anon_sym_PLUS); if (lookahead == '=') ADVANCE(71); END_STATE(); case 56: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '=') ADVANCE(72); if (lookahead == '>') ADVANCE(76); END_STATE(); case 57: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '>') ADVANCE(76); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_DASH); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (lookahead == '=') ADVANCE(72); if (lookahead == '>') ADVANCE(76); END_STATE(); case 59: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); case 61: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 62: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 63: ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 64: ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 65: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 67: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '=') ADVANCE(69); END_STATE(); case 68: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '=') ADVANCE(70); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 71: ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); case 72: ACCEPT_TOKEN(anon_sym_DASH_EQ); END_STATE(); case 73: ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 75: ACCEPT_TOKEN(anon_sym_asyncfor); END_STATE(); case 76: ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); default: return false; } } static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (lookahead == 'a') ADVANCE(1); if (lookahead == 'b') ADVANCE(2); if (lookahead == 'c') ADVANCE(3); if (lookahead == 'e') ADVANCE(4); if (lookahead == 'f') ADVANCE(5); if (lookahead == 'i') ADVANCE(6); if (lookahead == 'j') ADVANCE(7); if (lookahead == 'l') ADVANCE(8); if (lookahead == 'm') ADVANCE(9); if (lookahead == 'n') ADVANCE(10); if (lookahead == 'o') ADVANCE(11); if (lookahead == 'r') ADVANCE(12); if (lookahead == 's') ADVANCE(13); if (lookahead == 't') ADVANCE(14); if (lookahead == 'w') ADVANCE(15); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: if (lookahead == 'n') ADVANCE(16); if (lookahead == 'r') ADVANCE(17); if (lookahead == 's') ADVANCE(18); END_STATE(); case 2: if (lookahead == 'o') ADVANCE(19); END_STATE(); case 3: if (lookahead == 'o') ADVANCE(20); END_STATE(); case 4: if (lookahead == 'l') ADVANCE(21); if (lookahead == 'n') ADVANCE(22); END_STATE(); case 5: if (lookahead == 'a') ADVANCE(23); if (lookahead == 'l') ADVANCE(24); if (lookahead == 'o') ADVANCE(25); if (lookahead == 's') ADVANCE(26); END_STATE(); case 6: if (lookahead == 'f') ADVANCE(27); if (lookahead == 'n') ADVANCE(28); END_STATE(); case 7: if (lookahead == 's') ADVANCE(29); END_STATE(); case 8: if (lookahead == 'e') ADVANCE(30); END_STATE(); case 9: if (lookahead == 'a') ADVANCE(31); END_STATE(); case 10: if (lookahead == 'e') ADVANCE(32); if (lookahead == 'o') ADVANCE(33); if (lookahead == 'u') ADVANCE(34); END_STATE(); case 11: if (lookahead == 'p') ADVANCE(35); if (lookahead == 'u') ADVANCE(36); END_STATE(); case 12: if (lookahead == 'a') ADVANCE(37); if (lookahead == 'e') ADVANCE(38); END_STATE(); case 13: if (lookahead == 'o') ADVANCE(39); if (lookahead == 't') ADVANCE(40); END_STATE(); case 14: if (lookahead == 'r') ADVANCE(41); END_STATE(); case 15: if (lookahead == 'h') ADVANCE(42); END_STATE(); case 16: if (lookahead == 'y') ADVANCE(43); END_STATE(); case 17: if (lookahead == 'g') ADVANCE(44); END_STATE(); case 18: if (lookahead == 's') ADVANCE(45); if (lookahead == 'y') ADVANCE(46); END_STATE(); case 19: if (lookahead == 'o') ADVANCE(47); END_STATE(); case 20: if (lookahead == 'l') ADVANCE(48); END_STATE(); case 21: if (lookahead == 's') ADVANCE(49); END_STATE(); case 22: if (lookahead == 'v') ADVANCE(50); END_STATE(); case 23: if (lookahead == 'l') ADVANCE(51); END_STATE(); case 24: if (lookahead == 'o') ADVANCE(52); END_STATE(); case 25: if (lookahead == 'r') ADVANCE(53); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_fs); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_in); if (lookahead == 't') ADVANCE(54); END_STATE(); case 29: if (lookahead == 'o') ADVANCE(55); END_STATE(); case 30: if (lookahead == 'n') ADVANCE(56); END_STATE(); case 31: if (lookahead == 't') ADVANCE(57); END_STATE(); case 32: if (lookahead == 'w') ADVANCE(58); END_STATE(); case 33: if (lookahead == 'n') ADVANCE(59); END_STATE(); case 34: if (lookahead == 'm') ADVANCE(60); END_STATE(); case 35: if (lookahead == 't') ADVANCE(61); END_STATE(); case 36: if (lookahead == 't') ADVANCE(62); END_STATE(); case 37: if (lookahead == 'n') ADVANCE(63); END_STATE(); case 38: if (lookahead == 't') ADVANCE(64); END_STATE(); case 39: if (lookahead == 'm') ADVANCE(65); END_STATE(); case 40: if (lookahead == 'r') ADVANCE(66); END_STATE(); case 41: if (lookahead == 'u') ADVANCE(67); END_STATE(); case 42: if (lookahead == 'i') ADVANCE(68); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_any); END_STATE(); case 44: if (lookahead == 's') ADVANCE(69); END_STATE(); case 45: if (lookahead == 'e') ADVANCE(70); END_STATE(); case 46: if (lookahead == 'n') ADVANCE(71); END_STATE(); case 47: if (lookahead == 'l') ADVANCE(72); END_STATE(); case 48: if (lookahead == 'l') ADVANCE(73); END_STATE(); case 49: if (lookahead == 'e') ADVANCE(74); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_env); END_STATE(); case 51: if (lookahead == 's') ADVANCE(75); END_STATE(); case 52: if (lookahead == 'a') ADVANCE(76); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_int); END_STATE(); case 55: if (lookahead == 'n') ADVANCE(77); END_STATE(); case 56: if (lookahead == 'g') ADVANCE(78); END_STATE(); case 57: if (lookahead == 'c') ADVANCE(79); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_new); END_STATE(); case 59: if (lookahead == 'e') ADVANCE(80); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_num); END_STATE(); case 61: if (lookahead == 'i') ADVANCE(81); END_STATE(); case 62: if (lookahead == 'p') ADVANCE(82); END_STATE(); case 63: if (lookahead == 'd') ADVANCE(83); END_STATE(); case 64: if (lookahead == 'u') ADVANCE(84); END_STATE(); case 65: if (lookahead == 'e') ADVANCE(85); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_str); if (lookahead == 'i') ADVANCE(86); if (lookahead == 'u') ADVANCE(87); END_STATE(); case 67: if (lookahead == 'e') ADVANCE(88); END_STATE(); case 68: if (lookahead == 'l') ADVANCE(89); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_args); END_STATE(); case 70: if (lookahead == 'r') ADVANCE(90); END_STATE(); case 71: if (lookahead == 'c') ADVANCE(91); END_STATE(); case 72: ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 73: if (lookahead == 'e') ADVANCE(92); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 75: if (lookahead == 'e') ADVANCE(93); END_STATE(); case 76: if (lookahead == 't') ADVANCE(94); END_STATE(); case 77: ACCEPT_TOKEN(anon_sym_json); END_STATE(); case 78: if (lookahead == 't') ADVANCE(95); END_STATE(); case 79: if (lookahead == 'h') ADVANCE(96); END_STATE(); case 80: ACCEPT_TOKEN(anon_sym_none); END_STATE(); case 81: if (lookahead == 'o') ADVANCE(97); END_STATE(); case 82: if (lookahead == 'u') ADVANCE(98); END_STATE(); case 83: if (lookahead == 'o') ADVANCE(99); END_STATE(); case 84: if (lookahead == 'r') ADVANCE(100); END_STATE(); case 85: ACCEPT_TOKEN(anon_sym_some); END_STATE(); case 86: if (lookahead == 'n') ADVANCE(101); END_STATE(); case 87: if (lookahead == 'c') ADVANCE(102); END_STATE(); case 88: ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 89: if (lookahead == 'e') ADVANCE(103); END_STATE(); case 90: if (lookahead == 't') ADVANCE(104); END_STATE(); case 91: ACCEPT_TOKEN(anon_sym_async); END_STATE(); case 92: if (lookahead == 'c') ADVANCE(105); END_STATE(); case 93: ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 94: ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 95: if (lookahead == 'h') ADVANCE(106); END_STATE(); case 96: ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 97: if (lookahead == 'n') ADVANCE(107); END_STATE(); case 98: if (lookahead == 't') ADVANCE(108); END_STATE(); case 99: if (lookahead == 'm') ADVANCE(109); END_STATE(); case 100: if (lookahead == 'n') ADVANCE(110); END_STATE(); case 101: if (lookahead == 'g') ADVANCE(111); END_STATE(); case 102: if (lookahead == 't') ADVANCE(112); END_STATE(); case 103: ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 104: if (lookahead == '_') ADVANCE(113); END_STATE(); case 105: if (lookahead == 't') ADVANCE(114); END_STATE(); case 106: ACCEPT_TOKEN(anon_sym_length); END_STATE(); case 107: ACCEPT_TOKEN(anon_sym_option); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 109: ACCEPT_TOKEN(anon_sym_random); END_STATE(); case 110: ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 111: ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 112: ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 113: if (lookahead == 'e') ADVANCE(115); END_STATE(); case 114: if (lookahead == 'i') ADVANCE(116); END_STATE(); case 115: if (lookahead == 'q') ADVANCE(117); END_STATE(); case 116: if (lookahead == 'o') ADVANCE(118); END_STATE(); case 117: if (lookahead == 'u') ADVANCE(119); END_STATE(); case 118: if (lookahead == 'n') ADVANCE(120); END_STATE(); case 119: if (lookahead == 'a') ADVANCE(121); END_STATE(); case 120: ACCEPT_TOKEN(anon_sym_collection); END_STATE(); case 121: if (lookahead == 'l') ADVANCE(122); END_STATE(); case 122: ACCEPT_TOKEN(anon_sym_assert_equal); END_STATE(); default: return false; } } static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 25}, [2] = {.lex_state = 25}, [3] = {.lex_state = 25}, [4] = {.lex_state = 25}, [5] = {.lex_state = 25}, [6] = {.lex_state = 25}, [7] = {.lex_state = 25}, [8] = {.lex_state = 25}, [9] = {.lex_state = 25}, [10] = {.lex_state = 25}, [11] = {.lex_state = 25}, [12] = {.lex_state = 25}, [13] = {.lex_state = 25}, [14] = {.lex_state = 25}, [15] = {.lex_state = 25}, [16] = {.lex_state = 25}, [17] = {.lex_state = 25}, [18] = {.lex_state = 25}, [19] = {.lex_state = 25}, [20] = {.lex_state = 25}, [21] = {.lex_state = 25}, [22] = {.lex_state = 25}, [23] = {.lex_state = 25}, [24] = {.lex_state = 25}, [25] = {.lex_state = 25}, [26] = {.lex_state = 25}, [27] = {.lex_state = 25}, [28] = {.lex_state = 25}, [29] = {.lex_state = 25}, [30] = {.lex_state = 25}, [31] = {.lex_state = 25}, [32] = {.lex_state = 25}, [33] = {.lex_state = 25}, [34] = {.lex_state = 25}, [35] = {.lex_state = 25}, [36] = {.lex_state = 25}, [37] = {.lex_state = 25}, [38] = {.lex_state = 25}, [39] = {.lex_state = 25}, [40] = {.lex_state = 25}, [41] = {.lex_state = 25}, [42] = {.lex_state = 25}, [43] = {.lex_state = 25}, [44] = {.lex_state = 25}, [45] = {.lex_state = 25}, [46] = {.lex_state = 25}, [47] = {.lex_state = 25}, [48] = {.lex_state = 25}, [49] = {.lex_state = 25}, [50] = {.lex_state = 25}, [51] = {.lex_state = 25}, [52] = {.lex_state = 25}, [53] = {.lex_state = 25}, [54] = {.lex_state = 25}, [55] = {.lex_state = 25}, [56] = {.lex_state = 25}, [57] = {.lex_state = 25}, [58] = {.lex_state = 25}, [59] = {.lex_state = 25}, [60] = {.lex_state = 25}, [61] = {.lex_state = 25}, [62] = {.lex_state = 25}, [63] = {.lex_state = 25}, [64] = {.lex_state = 25}, [65] = {.lex_state = 25}, [66] = {.lex_state = 25}, [67] = {.lex_state = 25}, [68] = {.lex_state = 25}, [69] = {.lex_state = 25}, [70] = {.lex_state = 25}, [71] = {.lex_state = 25}, [72] = {.lex_state = 25}, [73] = {.lex_state = 25}, [74] = {.lex_state = 25}, [75] = {.lex_state = 25}, [76] = {.lex_state = 25}, [77] = {.lex_state = 25}, [78] = {.lex_state = 25}, [79] = {.lex_state = 25}, [80] = {.lex_state = 25}, [81] = {.lex_state = 1}, [82] = {.lex_state = 1}, [83] = {.lex_state = 1}, [84] = {.lex_state = 1}, [85] = {.lex_state = 25}, [86] = {.lex_state = 1}, [87] = {.lex_state = 1}, [88] = {.lex_state = 1}, [89] = {.lex_state = 1}, [90] = {.lex_state = 1}, [91] = {.lex_state = 1}, [92] = {.lex_state = 1}, [93] = {.lex_state = 1}, [94] = {.lex_state = 1}, [95] = {.lex_state = 1}, [96] = {.lex_state = 1}, [97] = {.lex_state = 1}, [98] = {.lex_state = 1}, [99] = {.lex_state = 1}, [100] = {.lex_state = 1}, [101] = {.lex_state = 1}, [102] = {.lex_state = 1}, [103] = {.lex_state = 1}, [104] = {.lex_state = 1}, [105] = {.lex_state = 1}, [106] = {.lex_state = 1}, [107] = {.lex_state = 1}, [108] = {.lex_state = 1}, [109] = {.lex_state = 1}, [110] = {.lex_state = 1}, [111] = {.lex_state = 1}, [112] = {.lex_state = 1}, [113] = {.lex_state = 1}, [114] = {.lex_state = 1}, [115] = {.lex_state = 1}, [116] = {.lex_state = 1}, [117] = {.lex_state = 1}, [118] = {.lex_state = 1}, [119] = {.lex_state = 1}, [120] = {.lex_state = 1}, [121] = {.lex_state = 1}, [122] = {.lex_state = 1}, [123] = {.lex_state = 1}, [124] = {.lex_state = 1}, [125] = {.lex_state = 1}, [126] = {.lex_state = 1}, [127] = {.lex_state = 1}, [128] = {.lex_state = 1}, [129] = {.lex_state = 1}, [130] = {.lex_state = 1}, [131] = {.lex_state = 1}, [132] = {.lex_state = 1}, [133] = {.lex_state = 1}, [134] = {.lex_state = 1}, [135] = {.lex_state = 1}, [136] = {.lex_state = 1}, [137] = {.lex_state = 1}, [138] = {.lex_state = 1}, [139] = {.lex_state = 1}, [140] = {.lex_state = 1}, [141] = {.lex_state = 1}, [142] = {.lex_state = 1}, [143] = {.lex_state = 1}, [144] = {.lex_state = 1}, [145] = {.lex_state = 1}, [146] = {.lex_state = 1}, [147] = {.lex_state = 1}, [148] = {.lex_state = 1}, [149] = {.lex_state = 1}, [150] = {.lex_state = 1}, [151] = {.lex_state = 1}, [152] = {.lex_state = 1}, [153] = {.lex_state = 1}, [154] = {.lex_state = 1}, [155] = {.lex_state = 1}, [156] = {.lex_state = 1}, [157] = {.lex_state = 1}, [158] = {.lex_state = 1}, [159] = {.lex_state = 1}, [160] = {.lex_state = 1}, [161] = {.lex_state = 1}, [162] = {.lex_state = 1}, [163] = {.lex_state = 1}, [164] = {.lex_state = 1}, [165] = {.lex_state = 1}, [166] = {.lex_state = 1}, [167] = {.lex_state = 1}, [168] = {.lex_state = 1}, [169] = {.lex_state = 1}, [170] = {.lex_state = 1}, [171] = {.lex_state = 1}, [172] = {.lex_state = 1}, [173] = {.lex_state = 1}, [174] = {.lex_state = 1}, [175] = {.lex_state = 1}, [176] = {.lex_state = 1}, [177] = {.lex_state = 1}, [178] = {.lex_state = 1}, [179] = {.lex_state = 1}, [180] = {.lex_state = 1}, [181] = {.lex_state = 1}, [182] = {.lex_state = 1}, [183] = {.lex_state = 1}, [184] = {.lex_state = 1}, [185] = {.lex_state = 1}, [186] = {.lex_state = 1}, [187] = {.lex_state = 1}, [188] = {.lex_state = 1}, [189] = {.lex_state = 1}, [190] = {.lex_state = 1}, [191] = {.lex_state = 1}, [192] = {.lex_state = 1}, [193] = {.lex_state = 1}, [194] = {.lex_state = 1}, [195] = {.lex_state = 1}, [196] = {.lex_state = 1}, [197] = {.lex_state = 1}, [198] = {.lex_state = 1}, [199] = {.lex_state = 1}, [200] = {.lex_state = 1}, [201] = {.lex_state = 1}, [202] = {.lex_state = 1}, [203] = {.lex_state = 1}, [204] = {.lex_state = 1}, [205] = {.lex_state = 1}, [206] = {.lex_state = 1}, [207] = {.lex_state = 1}, [208] = {.lex_state = 1}, [209] = {.lex_state = 1}, [210] = {.lex_state = 1}, [211] = {.lex_state = 1}, [212] = {.lex_state = 0}, [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, [215] = {.lex_state = 0}, [216] = {.lex_state = 0}, [217] = {.lex_state = 0}, [218] = {.lex_state = 0}, [219] = {.lex_state = 0}, [220] = {.lex_state = 25}, [221] = {.lex_state = 25}, [222] = {.lex_state = 25}, [223] = {.lex_state = 25}, [224] = {.lex_state = 25}, [225] = {.lex_state = 25}, [226] = {.lex_state = 25}, [227] = {.lex_state = 25}, [228] = {.lex_state = 25}, [229] = {.lex_state = 25}, [230] = {.lex_state = 25}, [231] = {.lex_state = 25}, [232] = {.lex_state = 25}, [233] = {.lex_state = 1}, [234] = {.lex_state = 1}, [235] = {.lex_state = 1}, [236] = {.lex_state = 1}, [237] = {.lex_state = 1}, [238] = {.lex_state = 1}, [239] = {.lex_state = 1}, [240] = {.lex_state = 5}, [241] = {.lex_state = 5}, [242] = {.lex_state = 2}, [243] = {.lex_state = 5}, [244] = {.lex_state = 2}, [245] = {.lex_state = 2}, [246] = {.lex_state = 2}, [247] = {.lex_state = 25}, [248] = {.lex_state = 2}, [249] = {.lex_state = 2}, [250] = {.lex_state = 2}, [251] = {.lex_state = 2}, [252] = {.lex_state = 2}, [253] = {.lex_state = 2}, [254] = {.lex_state = 2}, [255] = {.lex_state = 2}, [256] = {.lex_state = 2}, [257] = {.lex_state = 2}, [258] = {.lex_state = 2}, [259] = {.lex_state = 2}, [260] = {.lex_state = 2}, [261] = {.lex_state = 2}, [262] = {.lex_state = 2}, [263] = {.lex_state = 2}, [264] = {.lex_state = 2}, [265] = {.lex_state = 2}, [266] = {.lex_state = 2}, [267] = {.lex_state = 2}, [268] = {.lex_state = 2}, [269] = {.lex_state = 2}, [270] = {.lex_state = 2}, [271] = {.lex_state = 2}, [272] = {.lex_state = 2}, [273] = {.lex_state = 2}, [274] = {.lex_state = 2}, [275] = {.lex_state = 2}, [276] = {.lex_state = 2}, [277] = {.lex_state = 2}, [278] = {.lex_state = 2}, [279] = {.lex_state = 5}, [280] = {.lex_state = 5}, [281] = {.lex_state = 2}, [282] = {.lex_state = 5}, [283] = {.lex_state = 5}, [284] = {.lex_state = 5}, [285] = {.lex_state = 1}, [286] = {.lex_state = 1}, [287] = {.lex_state = 1}, [288] = {.lex_state = 1}, [289] = {.lex_state = 1}, [290] = {.lex_state = 1}, [291] = {.lex_state = 1}, [292] = {.lex_state = 1}, [293] = {.lex_state = 1}, [294] = {.lex_state = 1}, [295] = {.lex_state = 1}, [296] = {.lex_state = 1}, [297] = {.lex_state = 4}, [298] = {.lex_state = 1}, [299] = {.lex_state = 3}, [300] = {.lex_state = 4}, [301] = {.lex_state = 1}, [302] = {.lex_state = 3}, [303] = {.lex_state = 3}, [304] = {.lex_state = 1}, [305] = {.lex_state = 1}, [306] = {.lex_state = 1}, [307] = {.lex_state = 1}, [308] = {.lex_state = 1}, [309] = {.lex_state = 2}, [310] = {.lex_state = 2}, [311] = {.lex_state = 2}, [312] = {.lex_state = 2}, [313] = {.lex_state = 2}, [314] = {.lex_state = 2}, [315] = {.lex_state = 2}, [316] = {.lex_state = 2}, [317] = {.lex_state = 2}, [318] = {.lex_state = 2}, [319] = {.lex_state = 2}, [320] = {.lex_state = 2}, [321] = {.lex_state = 2}, [322] = {.lex_state = 2}, [323] = {.lex_state = 2}, [324] = {.lex_state = 2}, [325] = {.lex_state = 2}, [326] = {.lex_state = 2}, [327] = {.lex_state = 2}, [328] = {.lex_state = 7}, [329] = {.lex_state = 2}, [330] = {.lex_state = 2}, [331] = {.lex_state = 7}, [332] = {.lex_state = 2}, [333] = {.lex_state = 2}, [334] = {.lex_state = 7}, [335] = {.lex_state = 2}, [336] = {.lex_state = 2}, [337] = {.lex_state = 7}, [338] = {.lex_state = 7}, [339] = {.lex_state = 2}, [340] = {.lex_state = 3}, [341] = {.lex_state = 2}, [342] = {.lex_state = 2}, [343] = {.lex_state = 7}, [344] = {.lex_state = 2}, [345] = {.lex_state = 2}, [346] = {.lex_state = 2}, [347] = {.lex_state = 2}, [348] = {.lex_state = 2}, [349] = {.lex_state = 2}, [350] = {.lex_state = 1}, [351] = {.lex_state = 2}, [352] = {.lex_state = 2}, [353] = {.lex_state = 2}, [354] = {.lex_state = 2}, [355] = {.lex_state = 2}, [356] = {.lex_state = 2}, [357] = {.lex_state = 1}, [358] = {.lex_state = 2}, [359] = {.lex_state = 2}, [360] = {.lex_state = 2}, [361] = {.lex_state = 1}, [362] = {.lex_state = 2}, [363] = {.lex_state = 2}, [364] = {.lex_state = 2}, [365] = {.lex_state = 1}, [366] = {.lex_state = 2}, [367] = {.lex_state = 2}, [368] = {.lex_state = 1}, [369] = {.lex_state = 1}, [370] = {.lex_state = 1}, [371] = {.lex_state = 1}, [372] = {.lex_state = 1}, [373] = {.lex_state = 1}, [374] = {.lex_state = 1}, [375] = {.lex_state = 5}, [376] = {.lex_state = 5}, [377] = {.lex_state = 25}, [378] = {.lex_state = 25}, [379] = {.lex_state = 25}, [380] = {.lex_state = 1}, [381] = {.lex_state = 1}, [382] = {.lex_state = 1}, [383] = {.lex_state = 1}, [384] = {.lex_state = 1}, [385] = {.lex_state = 1}, [386] = {.lex_state = 1}, [387] = {.lex_state = 1}, [388] = {.lex_state = 1}, [389] = {.lex_state = 1}, [390] = {.lex_state = 1}, [391] = {.lex_state = 1}, [392] = {.lex_state = 1}, [393] = {.lex_state = 1}, [394] = {.lex_state = 1}, [395] = {.lex_state = 1}, [396] = {.lex_state = 1}, [397] = {.lex_state = 25}, [398] = {.lex_state = 1}, [399] = {.lex_state = 1}, [400] = {.lex_state = 1}, [401] = {.lex_state = 1}, [402] = {.lex_state = 1}, [403] = {.lex_state = 1}, [404] = {.lex_state = 1}, [405] = {.lex_state = 1}, [406] = {.lex_state = 0}, [407] = {.lex_state = 0}, [408] = {.lex_state = 0}, [409] = {.lex_state = 0}, [410] = {.lex_state = 1}, [411] = {.lex_state = 0}, [412] = {.lex_state = 0}, [413] = {.lex_state = 0}, [414] = {.lex_state = 0}, [415] = {.lex_state = 1}, [416] = {.lex_state = 0}, [417] = {.lex_state = 0}, [418] = {.lex_state = 0}, [419] = {.lex_state = 0}, [420] = {.lex_state = 1}, [421] = {.lex_state = 0}, [422] = {.lex_state = 0}, [423] = {.lex_state = 0}, [424] = {.lex_state = 0}, [425] = {.lex_state = 0}, [426] = {.lex_state = 0}, [427] = {.lex_state = 0}, [428] = {.lex_state = 0}, [429] = {.lex_state = 1}, [430] = {.lex_state = 1}, [431] = {.lex_state = 0}, [432] = {.lex_state = 0}, [433] = {.lex_state = 0}, [434] = {.lex_state = 0}, [435] = {.lex_state = 0}, [436] = {.lex_state = 0}, [437] = {.lex_state = 1}, [438] = {.lex_state = 0}, [439] = {.lex_state = 0}, [440] = {.lex_state = 0}, [441] = {.lex_state = 0}, [442] = {.lex_state = 1}, [443] = {.lex_state = 1}, [444] = {.lex_state = 1}, [445] = {.lex_state = 0}, [446] = {.lex_state = 0}, [447] = {.lex_state = 0}, [448] = {.lex_state = 5}, [449] = {.lex_state = 0}, [450] = {.lex_state = 5}, [451] = {.lex_state = 0}, [452] = {.lex_state = 0}, [453] = {.lex_state = 1}, [454] = {.lex_state = 1}, [455] = {.lex_state = 0}, [456] = {.lex_state = 1}, [457] = {.lex_state = 1}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [sym__comment] = ACTIONS(3), [anon_sym_SEMI] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_async] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [sym_integer] = ACTIONS(1), [sym_float] = ACTIONS(1), [sym_string] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_struct] = ACTIONS(1), [anon_sym_new] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_none] = ACTIONS(1), [anon_sym_some] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_EQ_EQ] = ACTIONS(1), [anon_sym_BANG_EQ] = ACTIONS(1), [anon_sym_AMP_AMP] = ACTIONS(1), [anon_sym_PIPE_PIPE] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_PLUS_EQ] = ACTIONS(1), [anon_sym_DASH_EQ] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_elseif] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_match] = ACTIONS(1), [anon_sym_EQ_GT] = ACTIONS(1), [anon_sym_while] = ACTIONS(1), [anon_sym_for] = ACTIONS(1), [anon_sym_asyncfor] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_return] = ACTIONS(1), [anon_sym_any] = ACTIONS(1), [anon_sym_bool] = ACTIONS(1), [anon_sym_collection] = ACTIONS(1), [anon_sym_float] = ACTIONS(1), [anon_sym_int] = ACTIONS(1), [anon_sym_num] = ACTIONS(1), [anon_sym_str] = ACTIONS(1), [anon_sym_DASH_GT] = ACTIONS(1), [anon_sym_option] = ACTIONS(1), [anon_sym_args] = ACTIONS(1), [anon_sym_assert_equal] = ACTIONS(1), [anon_sym_env] = ACTIONS(1), [anon_sym_fs] = ACTIONS(1), [anon_sym_json] = ACTIONS(1), [anon_sym_length] = ACTIONS(1), [anon_sym_output] = ACTIONS(1), [anon_sym_random] = ACTIONS(1), [anon_sym_string] = ACTIONS(1), }, [1] = { [sym_root] = STATE(434), [sym_statement] = STATE(18), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(18), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [2] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(43), [sym_identifier] = ACTIONS(45), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(48), [anon_sym_async] = ACTIONS(51), [anon_sym_LBRACE] = ACTIONS(54), [anon_sym_RBRACE] = ACTIONS(43), [sym_integer] = ACTIONS(57), [sym_float] = ACTIONS(60), [sym_string] = ACTIONS(60), [anon_sym_true] = ACTIONS(63), [anon_sym_false] = ACTIONS(63), [anon_sym_LBRACK] = ACTIONS(66), [anon_sym_struct] = ACTIONS(69), [anon_sym_new] = ACTIONS(72), [anon_sym_none] = ACTIONS(75), [anon_sym_some] = ACTIONS(78), [anon_sym_if] = ACTIONS(81), [anon_sym_match] = ACTIONS(84), [anon_sym_while] = ACTIONS(87), [anon_sym_for] = ACTIONS(90), [anon_sym_asyncfor] = ACTIONS(93), [anon_sym_return] = ACTIONS(96), [anon_sym_args] = ACTIONS(99), [anon_sym_assert_equal] = ACTIONS(99), [anon_sym_env] = ACTIONS(99), [anon_sym_fs] = ACTIONS(99), [anon_sym_json] = ACTIONS(99), [anon_sym_length] = ACTIONS(99), [anon_sym_output] = ACTIONS(99), [anon_sym_random] = ACTIONS(99), [anon_sym_string] = ACTIONS(99), }, [3] = { [sym_statement] = STATE(17), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(17), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(102), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [4] = { [sym_statement] = STATE(10), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(10), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(104), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [5] = { [sym_statement] = STATE(7), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(7), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(106), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [6] = { [sym_statement] = STATE(8), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(8), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(108), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [7] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(108), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [8] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(110), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [9] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(112), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [10] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(114), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [11] = { [sym_statement] = STATE(9), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(9), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(114), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [12] = { [sym_statement] = STATE(20), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(20), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(116), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [13] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(118), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [14] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(120), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [15] = { [sym_statement] = STATE(13), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(13), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(120), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [16] = { [sym_statement] = STATE(14), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(14), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(122), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [17] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(116), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [18] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(124), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [19] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(126), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [20] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(128), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [21] = { [sym_statement] = STATE(22), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(22), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(130), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [22] = { [sym_statement] = STATE(2), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(132), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [23] = { [sym_statement] = STATE(19), [sym_expression] = STATE(77), [sym__expression_kind] = STATE(47), [sym_block] = STATE(230), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), [sym_if] = STATE(213), [sym_match] = STATE(230), [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [aux_sym_root_repeat1] = STATE(19), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(132), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [24] = { [sym_statement] = STATE(285), [sym_expression] = STATE(154), [sym__expression_kind] = STATE(108), [sym_block] = STATE(291), [sym_value] = STATE(92), [sym_boolean] = STATE(98), [sym_list] = STATE(98), [sym_structure_definition] = STATE(98), [sym_structure] = STATE(98), [sym_option] = STATE(98), [sym_index] = STATE(119), [sym_index_expression] = STATE(451), [sym_math] = STATE(108), [sym_logic] = STATE(108), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(241), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(98), [sym_function_expression] = STATE(427), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(95), [sym_yield] = STATE(95), [sym_built_in_value] = STATE(98), [sym_identifier] = ACTIONS(134), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(136), [anon_sym_async] = ACTIONS(138), [anon_sym_LBRACE] = ACTIONS(140), [sym_integer] = ACTIONS(142), [sym_float] = ACTIONS(144), [sym_string] = ACTIONS(144), [anon_sym_true] = ACTIONS(146), [anon_sym_false] = ACTIONS(146), [anon_sym_LBRACK] = ACTIONS(148), [anon_sym_struct] = ACTIONS(150), [anon_sym_new] = ACTIONS(152), [anon_sym_none] = ACTIONS(154), [anon_sym_some] = ACTIONS(156), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(162), [anon_sym_for] = ACTIONS(164), [anon_sym_asyncfor] = ACTIONS(166), [anon_sym_return] = ACTIONS(168), [anon_sym_args] = ACTIONS(170), [anon_sym_assert_equal] = ACTIONS(170), [anon_sym_env] = ACTIONS(170), [anon_sym_fs] = ACTIONS(170), [anon_sym_json] = ACTIONS(170), [anon_sym_length] = ACTIONS(170), [anon_sym_output] = ACTIONS(170), [anon_sym_random] = ACTIONS(170), [anon_sym_string] = ACTIONS(170), }, [25] = { [sym_statement] = STATE(288), [sym_expression] = STATE(312), [sym__expression_kind] = STATE(260), [sym_block] = STATE(291), [sym_value] = STATE(276), [sym_boolean] = STATE(273), [sym_list] = STATE(273), [sym_structure_definition] = STATE(273), [sym_structure] = STATE(273), [sym_option] = STATE(273), [sym_index] = STATE(300), [sym_index_expression] = STATE(455), [sym_math] = STATE(260), [sym_logic] = STATE(260), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(376), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(273), [sym_function_expression] = STATE(440), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(270), [sym_yield] = STATE(270), [sym_built_in_value] = STATE(273), [sym_identifier] = ACTIONS(172), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(174), [anon_sym_async] = ACTIONS(176), [anon_sym_LBRACE] = ACTIONS(178), [sym_integer] = ACTIONS(180), [sym_float] = ACTIONS(182), [sym_string] = ACTIONS(182), [anon_sym_true] = ACTIONS(184), [anon_sym_false] = ACTIONS(184), [anon_sym_LBRACK] = ACTIONS(186), [anon_sym_struct] = ACTIONS(188), [anon_sym_new] = ACTIONS(190), [anon_sym_none] = ACTIONS(192), [anon_sym_some] = ACTIONS(194), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(196), [anon_sym_for] = ACTIONS(198), [anon_sym_asyncfor] = ACTIONS(200), [anon_sym_return] = ACTIONS(202), [anon_sym_args] = ACTIONS(204), [anon_sym_assert_equal] = ACTIONS(204), [anon_sym_env] = ACTIONS(204), [anon_sym_fs] = ACTIONS(204), [anon_sym_json] = ACTIONS(204), [anon_sym_length] = ACTIONS(204), [anon_sym_output] = ACTIONS(204), [anon_sym_random] = ACTIONS(204), [anon_sym_string] = ACTIONS(204), }, [26] = { [sym_statement] = STATE(288), [sym_expression] = STATE(154), [sym__expression_kind] = STATE(108), [sym_block] = STATE(291), [sym_value] = STATE(92), [sym_boolean] = STATE(98), [sym_list] = STATE(98), [sym_structure_definition] = STATE(98), [sym_structure] = STATE(98), [sym_option] = STATE(98), [sym_index] = STATE(119), [sym_index_expression] = STATE(451), [sym_math] = STATE(108), [sym_logic] = STATE(108), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(241), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(98), [sym_function_expression] = STATE(427), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(95), [sym_yield] = STATE(95), [sym_built_in_value] = STATE(98), [sym_identifier] = ACTIONS(134), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(136), [anon_sym_async] = ACTIONS(138), [anon_sym_LBRACE] = ACTIONS(140), [sym_integer] = ACTIONS(142), [sym_float] = ACTIONS(144), [sym_string] = ACTIONS(144), [anon_sym_true] = ACTIONS(146), [anon_sym_false] = ACTIONS(146), [anon_sym_LBRACK] = ACTIONS(148), [anon_sym_struct] = ACTIONS(150), [anon_sym_new] = ACTIONS(152), [anon_sym_none] = ACTIONS(154), [anon_sym_some] = ACTIONS(156), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(162), [anon_sym_for] = ACTIONS(164), [anon_sym_asyncfor] = ACTIONS(166), [anon_sym_return] = ACTIONS(168), [anon_sym_args] = ACTIONS(170), [anon_sym_assert_equal] = ACTIONS(170), [anon_sym_env] = ACTIONS(170), [anon_sym_fs] = ACTIONS(170), [anon_sym_json] = ACTIONS(170), [anon_sym_length] = ACTIONS(170), [anon_sym_output] = ACTIONS(170), [anon_sym_random] = ACTIONS(170), [anon_sym_string] = ACTIONS(170), }, [27] = { [sym_statement] = STATE(285), [sym_expression] = STATE(312), [sym__expression_kind] = STATE(260), [sym_block] = STATE(291), [sym_value] = STATE(276), [sym_boolean] = STATE(273), [sym_list] = STATE(273), [sym_structure_definition] = STATE(273), [sym_structure] = STATE(273), [sym_option] = STATE(273), [sym_index] = STATE(300), [sym_index_expression] = STATE(455), [sym_math] = STATE(260), [sym_logic] = STATE(260), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(376), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(273), [sym_function_expression] = STATE(440), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(270), [sym_yield] = STATE(270), [sym_built_in_value] = STATE(273), [sym_identifier] = ACTIONS(172), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(174), [anon_sym_async] = ACTIONS(176), [anon_sym_LBRACE] = ACTIONS(178), [sym_integer] = ACTIONS(180), [sym_float] = ACTIONS(182), [sym_string] = ACTIONS(182), [anon_sym_true] = ACTIONS(184), [anon_sym_false] = ACTIONS(184), [anon_sym_LBRACK] = ACTIONS(186), [anon_sym_struct] = ACTIONS(188), [anon_sym_new] = ACTIONS(190), [anon_sym_none] = ACTIONS(192), [anon_sym_some] = ACTIONS(194), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(196), [anon_sym_for] = ACTIONS(198), [anon_sym_asyncfor] = ACTIONS(200), [anon_sym_return] = ACTIONS(202), [anon_sym_args] = ACTIONS(204), [anon_sym_assert_equal] = ACTIONS(204), [anon_sym_env] = ACTIONS(204), [anon_sym_fs] = ACTIONS(204), [anon_sym_json] = ACTIONS(204), [anon_sym_length] = ACTIONS(204), [anon_sym_output] = ACTIONS(204), [anon_sym_random] = ACTIONS(204), [anon_sym_string] = ACTIONS(204), }, [28] = { [sym_statement] = STATE(220), [sym_expression] = STATE(80), [sym__expression_kind] = STATE(47), [sym_block] = STATE(228), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(228), [sym_index_assignment] = STATE(228), [sym_if_else] = STATE(228), [sym_if] = STATE(213), [sym_match] = STATE(228), [sym_while] = STATE(228), [sym_for] = STATE(228), [sym_return] = STATE(228), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [29] = { [sym_statement] = STATE(223), [sym_expression] = STATE(80), [sym__expression_kind] = STATE(47), [sym_block] = STATE(228), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(228), [sym_index_assignment] = STATE(228), [sym_if_else] = STATE(228), [sym_if] = STATE(213), [sym_match] = STATE(228), [sym_while] = STATE(228), [sym_for] = STATE(228), [sym_return] = STATE(228), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [30] = { [sym_statement] = STATE(290), [sym_expression] = STATE(154), [sym__expression_kind] = STATE(108), [sym_block] = STATE(291), [sym_value] = STATE(92), [sym_boolean] = STATE(98), [sym_list] = STATE(98), [sym_structure_definition] = STATE(98), [sym_structure] = STATE(98), [sym_option] = STATE(98), [sym_index] = STATE(119), [sym_index_expression] = STATE(451), [sym_math] = STATE(108), [sym_logic] = STATE(108), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(241), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(98), [sym_function_expression] = STATE(427), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(95), [sym_yield] = STATE(95), [sym_built_in_value] = STATE(98), [sym_identifier] = ACTIONS(134), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(136), [anon_sym_async] = ACTIONS(138), [anon_sym_LBRACE] = ACTIONS(140), [sym_integer] = ACTIONS(142), [sym_float] = ACTIONS(144), [sym_string] = ACTIONS(144), [anon_sym_true] = ACTIONS(146), [anon_sym_false] = ACTIONS(146), [anon_sym_LBRACK] = ACTIONS(148), [anon_sym_struct] = ACTIONS(150), [anon_sym_new] = ACTIONS(152), [anon_sym_none] = ACTIONS(154), [anon_sym_some] = ACTIONS(156), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(162), [anon_sym_for] = ACTIONS(164), [anon_sym_asyncfor] = ACTIONS(166), [anon_sym_return] = ACTIONS(168), [anon_sym_args] = ACTIONS(170), [anon_sym_assert_equal] = ACTIONS(170), [anon_sym_env] = ACTIONS(170), [anon_sym_fs] = ACTIONS(170), [anon_sym_json] = ACTIONS(170), [anon_sym_length] = ACTIONS(170), [anon_sym_output] = ACTIONS(170), [anon_sym_random] = ACTIONS(170), [anon_sym_string] = ACTIONS(170), }, [31] = { [sym_statement] = STATE(225), [sym_expression] = STATE(80), [sym__expression_kind] = STATE(47), [sym_block] = STATE(228), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(228), [sym_index_assignment] = STATE(228), [sym_if_else] = STATE(228), [sym_if] = STATE(213), [sym_match] = STATE(228), [sym_while] = STATE(228), [sym_for] = STATE(228), [sym_return] = STATE(228), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [32] = { [sym_statement] = STATE(286), [sym_expression] = STATE(154), [sym__expression_kind] = STATE(108), [sym_block] = STATE(291), [sym_value] = STATE(92), [sym_boolean] = STATE(98), [sym_list] = STATE(98), [sym_structure_definition] = STATE(98), [sym_structure] = STATE(98), [sym_option] = STATE(98), [sym_index] = STATE(119), [sym_index_expression] = STATE(451), [sym_math] = STATE(108), [sym_logic] = STATE(108), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(241), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(98), [sym_function_expression] = STATE(427), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(95), [sym_yield] = STATE(95), [sym_built_in_value] = STATE(98), [sym_identifier] = ACTIONS(134), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(136), [anon_sym_async] = ACTIONS(138), [anon_sym_LBRACE] = ACTIONS(140), [sym_integer] = ACTIONS(142), [sym_float] = ACTIONS(144), [sym_string] = ACTIONS(144), [anon_sym_true] = ACTIONS(146), [anon_sym_false] = ACTIONS(146), [anon_sym_LBRACK] = ACTIONS(148), [anon_sym_struct] = ACTIONS(150), [anon_sym_new] = ACTIONS(152), [anon_sym_none] = ACTIONS(154), [anon_sym_some] = ACTIONS(156), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(162), [anon_sym_for] = ACTIONS(164), [anon_sym_asyncfor] = ACTIONS(166), [anon_sym_return] = ACTIONS(168), [anon_sym_args] = ACTIONS(170), [anon_sym_assert_equal] = ACTIONS(170), [anon_sym_env] = ACTIONS(170), [anon_sym_fs] = ACTIONS(170), [anon_sym_json] = ACTIONS(170), [anon_sym_length] = ACTIONS(170), [anon_sym_output] = ACTIONS(170), [anon_sym_random] = ACTIONS(170), [anon_sym_string] = ACTIONS(170), }, [33] = { [sym_statement] = STATE(286), [sym_expression] = STATE(312), [sym__expression_kind] = STATE(260), [sym_block] = STATE(291), [sym_value] = STATE(276), [sym_boolean] = STATE(273), [sym_list] = STATE(273), [sym_structure_definition] = STATE(273), [sym_structure] = STATE(273), [sym_option] = STATE(273), [sym_index] = STATE(300), [sym_index_expression] = STATE(455), [sym_math] = STATE(260), [sym_logic] = STATE(260), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(376), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(273), [sym_function_expression] = STATE(440), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(270), [sym_yield] = STATE(270), [sym_built_in_value] = STATE(273), [sym_identifier] = ACTIONS(172), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(174), [anon_sym_async] = ACTIONS(176), [anon_sym_LBRACE] = ACTIONS(178), [sym_integer] = ACTIONS(180), [sym_float] = ACTIONS(182), [sym_string] = ACTIONS(182), [anon_sym_true] = ACTIONS(184), [anon_sym_false] = ACTIONS(184), [anon_sym_LBRACK] = ACTIONS(186), [anon_sym_struct] = ACTIONS(188), [anon_sym_new] = ACTIONS(190), [anon_sym_none] = ACTIONS(192), [anon_sym_some] = ACTIONS(194), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(196), [anon_sym_for] = ACTIONS(198), [anon_sym_asyncfor] = ACTIONS(200), [anon_sym_return] = ACTIONS(202), [anon_sym_args] = ACTIONS(204), [anon_sym_assert_equal] = ACTIONS(204), [anon_sym_env] = ACTIONS(204), [anon_sym_fs] = ACTIONS(204), [anon_sym_json] = ACTIONS(204), [anon_sym_length] = ACTIONS(204), [anon_sym_output] = ACTIONS(204), [anon_sym_random] = ACTIONS(204), [anon_sym_string] = ACTIONS(204), }, [34] = { [sym_statement] = STATE(227), [sym_expression] = STATE(80), [sym__expression_kind] = STATE(47), [sym_block] = STATE(228), [sym_value] = STATE(70), [sym_boolean] = STATE(55), [sym_list] = STATE(55), [sym_structure_definition] = STATE(55), [sym_structure] = STATE(55), [sym_option] = STATE(55), [sym_index] = STATE(48), [sym_index_expression] = STATE(435), [sym_math] = STATE(47), [sym_logic] = STATE(47), [sym_assignment] = STATE(228), [sym_index_assignment] = STATE(228), [sym_if_else] = STATE(228), [sym_if] = STATE(213), [sym_match] = STATE(228), [sym_while] = STATE(228), [sym_for] = STATE(228), [sym_return] = STATE(228), [sym_function] = STATE(55), [sym_function_expression] = STATE(445), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(63), [sym_yield] = STATE(63), [sym_built_in_value] = STATE(55), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), [anon_sym_true] = ACTIONS(17), [anon_sym_false] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_struct] = ACTIONS(21), [anon_sym_new] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [35] = { [sym_statement] = STATE(400), [sym_expression] = STATE(313), [sym__expression_kind] = STATE(260), [sym_block] = STATE(295), [sym_value] = STATE(276), [sym_boolean] = STATE(273), [sym_list] = STATE(273), [sym_structure_definition] = STATE(273), [sym_structure] = STATE(273), [sym_option] = STATE(273), [sym_index] = STATE(300), [sym_index_expression] = STATE(455), [sym_math] = STATE(260), [sym_logic] = STATE(260), [sym_assignment] = STATE(295), [sym_index_assignment] = STATE(295), [sym_if_else] = STATE(295), [sym_if] = STATE(376), [sym_match] = STATE(295), [sym_while] = STATE(295), [sym_for] = STATE(295), [sym_return] = STATE(295), [sym_function] = STATE(273), [sym_function_expression] = STATE(440), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(270), [sym_yield] = STATE(270), [sym_built_in_value] = STATE(273), [sym_identifier] = ACTIONS(172), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(174), [anon_sym_async] = ACTIONS(176), [anon_sym_LBRACE] = ACTIONS(178), [sym_integer] = ACTIONS(180), [sym_float] = ACTIONS(182), [sym_string] = ACTIONS(182), [anon_sym_true] = ACTIONS(184), [anon_sym_false] = ACTIONS(184), [anon_sym_LBRACK] = ACTIONS(186), [anon_sym_struct] = ACTIONS(188), [anon_sym_new] = ACTIONS(190), [anon_sym_none] = ACTIONS(192), [anon_sym_some] = ACTIONS(194), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(196), [anon_sym_for] = ACTIONS(198), [anon_sym_asyncfor] = ACTIONS(200), [anon_sym_return] = ACTIONS(202), [anon_sym_args] = ACTIONS(204), [anon_sym_assert_equal] = ACTIONS(204), [anon_sym_env] = ACTIONS(204), [anon_sym_fs] = ACTIONS(204), [anon_sym_json] = ACTIONS(204), [anon_sym_length] = ACTIONS(204), [anon_sym_output] = ACTIONS(204), [anon_sym_random] = ACTIONS(204), [anon_sym_string] = ACTIONS(204), }, [36] = { [sym_statement] = STATE(387), [sym_expression] = STATE(313), [sym__expression_kind] = STATE(260), [sym_block] = STATE(295), [sym_value] = STATE(276), [sym_boolean] = STATE(273), [sym_list] = STATE(273), [sym_structure_definition] = STATE(273), [sym_structure] = STATE(273), [sym_option] = STATE(273), [sym_index] = STATE(300), [sym_index_expression] = STATE(455), [sym_math] = STATE(260), [sym_logic] = STATE(260), [sym_assignment] = STATE(295), [sym_index_assignment] = STATE(295), [sym_if_else] = STATE(295), [sym_if] = STATE(376), [sym_match] = STATE(295), [sym_while] = STATE(295), [sym_for] = STATE(295), [sym_return] = STATE(295), [sym_function] = STATE(273), [sym_function_expression] = STATE(440), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(270), [sym_yield] = STATE(270), [sym_built_in_value] = STATE(273), [sym_identifier] = ACTIONS(172), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(174), [anon_sym_async] = ACTIONS(176), [anon_sym_LBRACE] = ACTIONS(178), [sym_integer] = ACTIONS(180), [sym_float] = ACTIONS(182), [sym_string] = ACTIONS(182), [anon_sym_true] = ACTIONS(184), [anon_sym_false] = ACTIONS(184), [anon_sym_LBRACK] = ACTIONS(186), [anon_sym_struct] = ACTIONS(188), [anon_sym_new] = ACTIONS(190), [anon_sym_none] = ACTIONS(192), [anon_sym_some] = ACTIONS(194), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(196), [anon_sym_for] = ACTIONS(198), [anon_sym_asyncfor] = ACTIONS(200), [anon_sym_return] = ACTIONS(202), [anon_sym_args] = ACTIONS(204), [anon_sym_assert_equal] = ACTIONS(204), [anon_sym_env] = ACTIONS(204), [anon_sym_fs] = ACTIONS(204), [anon_sym_json] = ACTIONS(204), [anon_sym_length] = ACTIONS(204), [anon_sym_output] = ACTIONS(204), [anon_sym_random] = ACTIONS(204), [anon_sym_string] = ACTIONS(204), }, [37] = { [sym_statement] = STATE(290), [sym_expression] = STATE(312), [sym__expression_kind] = STATE(260), [sym_block] = STATE(291), [sym_value] = STATE(276), [sym_boolean] = STATE(273), [sym_list] = STATE(273), [sym_structure_definition] = STATE(273), [sym_structure] = STATE(273), [sym_option] = STATE(273), [sym_index] = STATE(300), [sym_index_expression] = STATE(455), [sym_math] = STATE(260), [sym_logic] = STATE(260), [sym_assignment] = STATE(291), [sym_index_assignment] = STATE(291), [sym_if_else] = STATE(291), [sym_if] = STATE(376), [sym_match] = STATE(291), [sym_while] = STATE(291), [sym_for] = STATE(291), [sym_return] = STATE(291), [sym_function] = STATE(273), [sym_function_expression] = STATE(440), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(270), [sym_yield] = STATE(270), [sym_built_in_value] = STATE(273), [sym_identifier] = ACTIONS(172), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(174), [anon_sym_async] = ACTIONS(176), [anon_sym_LBRACE] = ACTIONS(178), [sym_integer] = ACTIONS(180), [sym_float] = ACTIONS(182), [sym_string] = ACTIONS(182), [anon_sym_true] = ACTIONS(184), [anon_sym_false] = ACTIONS(184), [anon_sym_LBRACK] = ACTIONS(186), [anon_sym_struct] = ACTIONS(188), [anon_sym_new] = ACTIONS(190), [anon_sym_none] = ACTIONS(192), [anon_sym_some] = ACTIONS(194), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(196), [anon_sym_for] = ACTIONS(198), [anon_sym_asyncfor] = ACTIONS(200), [anon_sym_return] = ACTIONS(202), [anon_sym_args] = ACTIONS(204), [anon_sym_assert_equal] = ACTIONS(204), [anon_sym_env] = ACTIONS(204), [anon_sym_fs] = ACTIONS(204), [anon_sym_json] = ACTIONS(204), [anon_sym_length] = ACTIONS(204), [anon_sym_output] = ACTIONS(204), [anon_sym_random] = ACTIONS(204), [anon_sym_string] = ACTIONS(204), }, [38] = { [sym_statement] = STATE(301), [sym_expression] = STATE(155), [sym__expression_kind] = STATE(108), [sym_block] = STATE(295), [sym_value] = STATE(92), [sym_boolean] = STATE(98), [sym_list] = STATE(98), [sym_structure_definition] = STATE(98), [sym_structure] = STATE(98), [sym_option] = STATE(98), [sym_index] = STATE(119), [sym_index_expression] = STATE(451), [sym_math] = STATE(108), [sym_logic] = STATE(108), [sym_assignment] = STATE(295), [sym_index_assignment] = STATE(295), [sym_if_else] = STATE(295), [sym_if] = STATE(241), [sym_match] = STATE(295), [sym_while] = STATE(295), [sym_for] = STATE(295), [sym_return] = STATE(295), [sym_function] = STATE(98), [sym_function_expression] = STATE(427), [sym__function_expression_kind] = STATE(66), [sym_function_call] = STATE(95), [sym_yield] = STATE(95), [sym_built_in_value] = STATE(98), [sym_identifier] = ACTIONS(134), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(136), [anon_sym_async] = ACTIONS(138), [anon_sym_LBRACE] = ACTIONS(140), [sym_integer] = ACTIONS(142), [sym_float] = ACTIONS(144), [sym_string] = ACTIONS(144), [anon_sym_true] = ACTIONS(146), [anon_sym_false] = ACTIONS(146), [anon_sym_LBRACK] = ACTIONS(148), [anon_sym_struct] = ACTIONS(150), [anon_sym_new] = ACTIONS(152), [anon_sym_none] = ACTIONS(154), [anon_sym_some] = ACTIONS(156), [anon_sym_if] = ACTIONS(158), [anon_sym_match] = ACTIONS(160), [anon_sym_while] = ACTIONS(162), [anon_sym_for] = ACTIONS(164), [anon_sym_asyncfor] = ACTIONS(166), [anon_sym_return] = ACTIONS(168), [anon_sym_args] = ACTIONS(170), [anon_sym_assert_equal] = ACTIONS(170), [anon_sym_env] = ACTIONS(170), [anon_sym_fs] = ACTIONS(170), [anon_sym_json] = ACTIONS(170), [anon_sym_length] = ACTIONS(170), [anon_sym_output] = ACTIONS(170), [anon_sym_random] = ACTIONS(170), [anon_sym_string] = ACTIONS(170), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 5, ACTIONS(3), 1, sym__comment, STATE(158), 1, sym_math_operator, STATE(208), 1, sym_logic_operator, ACTIONS(206), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(208), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [65] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, anon_sym_DASH_GT, STATE(158), 1, sym_math_operator, STATE(208), 1, sym_logic_operator, ACTIONS(210), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(212), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [132] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, anon_sym_DASH_GT, STATE(158), 1, sym_math_operator, STATE(208), 1, sym_logic_operator, ACTIONS(216), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(218), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [199] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(220), 1, anon_sym_DASH_GT, STATE(186), 1, sym_logic_operator, STATE(187), 1, sym_math_operator, ACTIONS(216), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(218), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [265] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(220), 1, anon_sym_DASH_GT, STATE(186), 1, sym_logic_operator, STATE(187), 1, sym_math_operator, ACTIONS(210), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(212), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [331] = 5, ACTIONS(3), 1, sym__comment, STATE(186), 1, sym_logic_operator, STATE(187), 1, sym_math_operator, ACTIONS(206), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(208), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [395] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LBRACE, STATE(57), 1, sym_structure_instantiator, ACTIONS(222), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(224), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [459] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(234), 1, anon_sym_EQ, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(238), 1, anon_sym_LT, STATE(34), 1, sym_assignment_operator, STATE(378), 1, sym_type_definition, ACTIONS(240), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(228), 18, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(230), 26, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [533] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(242), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(244), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [592] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(234), 1, anon_sym_EQ, ACTIONS(236), 1, anon_sym_COLON, STATE(28), 1, sym_assignment_operator, ACTIONS(240), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(228), 18, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(230), 27, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [661] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(246), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(248), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [720] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(250), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(252), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [779] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(254), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(256), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [838] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(258), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(260), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [897] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(262), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(264), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [956] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(266), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(268), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1015] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(270), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(272), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1074] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(274), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(276), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1133] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(278), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(280), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1192] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(282), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(284), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1251] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(286), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(288), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1310] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(290), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(292), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1369] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(294), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(296), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1428] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(298), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(300), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1487] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(228), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(230), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1548] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(302), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(304), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1607] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(306), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(308), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1666] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(310), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(312), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1725] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(314), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(316), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1784] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(318), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(320), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1843] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(322), 1, anon_sym_DOT_DOT, ACTIONS(262), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(264), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1904] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(228), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(230), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1967] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(236), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(324), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2026] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(326), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(328), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2085] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(330), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(332), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2144] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(334), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(336), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2203] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(338), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(340), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2262] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(342), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(344), 28, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2321] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(350), 1, anon_sym_SEMI, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(360), 1, anon_sym_DASH_GT, STATE(196), 1, sym_math_operator, STATE(197), 1, sym_logic_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(346), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(348), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2393] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(360), 1, anon_sym_DASH_GT, STATE(196), 1, sym_math_operator, STATE(197), 1, sym_logic_operator, ACTIONS(210), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, ACTIONS(212), 26, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2455] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(360), 1, anon_sym_DASH_GT, STATE(196), 1, sym_math_operator, STATE(197), 1, sym_logic_operator, ACTIONS(216), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, ACTIONS(218), 26, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2517] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(360), 1, anon_sym_DASH_GT, STATE(196), 1, sym_math_operator, STATE(197), 1, sym_logic_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(346), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(348), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2587] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(362), 1, anon_sym_DASH_GT, STATE(157), 1, sym_logic_operator, STATE(209), 1, sym_math_operator, ACTIONS(216), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(218), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2648] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(364), 1, anon_sym_LBRACE, STATE(90), 1, sym_structure_instantiator, ACTIONS(224), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(222), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [2707] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(362), 1, anon_sym_DASH_GT, STATE(157), 1, sym_logic_operator, STATE(209), 1, sym_math_operator, ACTIONS(210), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(212), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2768] = 5, ACTIONS(3), 1, sym__comment, STATE(157), 1, sym_logic_operator, STATE(209), 1, sym_math_operator, ACTIONS(208), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(206), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [2827] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(232), 20, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(366), 26, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2884] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(368), 1, anon_sym_DASH_GT, STATE(168), 1, sym_logic_operator, STATE(169), 1, sym_math_operator, ACTIONS(210), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(212), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2944] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(368), 1, anon_sym_DASH_GT, STATE(168), 1, sym_logic_operator, STATE(169), 1, sym_math_operator, ACTIONS(216), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(218), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [3004] = 5, ACTIONS(3), 1, sym__comment, STATE(168), 1, sym_logic_operator, STATE(169), 1, sym_math_operator, ACTIONS(206), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, ACTIONS(208), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [3062] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(296), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(294), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3115] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(280), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(278), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3168] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(264), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(262), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3221] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(228), 21, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, ACTIONS(230), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [3278] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(344), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(342), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3331] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(332), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(330), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3384] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(228), 22, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, ACTIONS(230), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [3439] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(316), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(314), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3492] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(300), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(298), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3545] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(272), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(270), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3598] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(282), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3651] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(248), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(246), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3704] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(312), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(310), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3757] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(328), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(326), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3810] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(334), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3863] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(340), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(338), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3916] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(288), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(286), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3969] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(252), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(250), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4022] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(256), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(254), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4075] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(244), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(242), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4128] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(276), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(274), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4181] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(304), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(302), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4234] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(324), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(236), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4287] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(370), 1, anon_sym_DOT_DOT, ACTIONS(262), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, ACTIONS(264), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4342] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(308), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(306), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4395] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(292), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(290), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4448] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(320), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(318), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4501] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(268), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(266), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4554] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(260), 22, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_EQ, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(258), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4607] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(234), 1, anon_sym_EQ, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(238), 1, anon_sym_LT, STATE(32), 1, sym_assignment_operator, STATE(379), 1, sym_type_definition, ACTIONS(240), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(228), 16, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, ACTIONS(230), 20, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4673] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(234), 1, anon_sym_EQ, ACTIONS(236), 1, anon_sym_COLON, STATE(24), 1, sym_assignment_operator, ACTIONS(240), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(228), 16, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, ACTIONS(230), 21, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4734] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(372), 1, sym_identifier, ACTIONS(375), 1, anon_sym_LPAREN, ACTIONS(378), 1, anon_sym_RBRACE, ACTIONS(380), 1, sym_integer, ACTIONS(389), 1, anon_sym_LBRACK, ACTIONS(392), 1, anon_sym_struct, ACTIONS(395), 1, anon_sym_new, ACTIONS(398), 1, anon_sym_none, ACTIONS(401), 1, anon_sym_some, ACTIONS(404), 1, anon_sym_STAR, STATE(66), 1, sym__function_expression_kind, STATE(120), 1, aux_sym_match_repeat1, STATE(340), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(383), 2, sym_float, sym_string, ACTIONS(386), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(407), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4824] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(410), 1, anon_sym_DASH_GT, STATE(160), 1, sym_logic_operator, STATE(161), 1, sym_math_operator, ACTIONS(210), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(212), 20, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4880] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(410), 1, anon_sym_DASH_GT, STATE(160), 1, sym_logic_operator, STATE(161), 1, sym_math_operator, ACTIONS(216), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(218), 20, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4936] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, ACTIONS(414), 1, anon_sym_RBRACE, ACTIONS(416), 1, anon_sym_STAR, STATE(66), 1, sym__function_expression_kind, STATE(120), 1, aux_sym_match_repeat1, STATE(340), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5026] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, ACTIONS(416), 1, anon_sym_STAR, ACTIONS(418), 1, anon_sym_RBRACE, STATE(66), 1, sym__function_expression_kind, STATE(120), 1, aux_sym_match_repeat1, STATE(340), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5116] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(422), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5203] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(426), 1, anon_sym_RPAREN, STATE(270), 1, sym_yield, STATE(349), 1, sym_function_call, STATE(359), 1, sym_expression, STATE(383), 1, aux_sym_function_repeat1, STATE(419), 1, sym__function_expression_kind, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(364), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5292] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(428), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5379] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(430), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(144), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5466] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(432), 1, sym_identifier, ACTIONS(435), 1, anon_sym_LPAREN, ACTIONS(438), 1, sym_integer, ACTIONS(447), 1, anon_sym_LBRACK, ACTIONS(450), 1, anon_sym_RBRACK, ACTIONS(452), 1, anon_sym_struct, ACTIONS(455), 1, anon_sym_new, ACTIONS(458), 1, anon_sym_none, ACTIONS(461), 1, anon_sym_some, STATE(66), 1, sym__function_expression_kind, STATE(129), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(441), 2, sym_float, sym_string, ACTIONS(444), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(464), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5553] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(426), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(270), 1, sym_yield, STATE(348), 1, sym_function_call, STATE(354), 1, sym_expression, STATE(383), 1, aux_sym_function_repeat1, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5642] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(467), 1, anon_sym_RBRACK, STATE(66), 1, sym__function_expression_kind, STATE(129), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5729] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(469), 1, anon_sym_RBRACK, STATE(66), 1, sym__function_expression_kind, STATE(133), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5816] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(471), 1, anon_sym_RBRACK, STATE(66), 1, sym__function_expression_kind, STATE(129), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5903] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(473), 1, anon_sym_RBRACK, STATE(66), 1, sym__function_expression_kind, STATE(149), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5990] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(475), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(142), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6077] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, ACTIONS(416), 1, anon_sym_STAR, STATE(66), 1, sym__function_expression_kind, STATE(124), 1, aux_sym_match_repeat1, STATE(340), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6164] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(477), 1, anon_sym_RPAREN, STATE(270), 1, sym_yield, STATE(349), 1, sym_function_call, STATE(359), 1, sym_expression, STATE(391), 1, aux_sym_function_repeat1, STATE(409), 1, sym__function_expression_kind, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(364), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6253] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(479), 1, anon_sym_RPAREN, STATE(270), 1, sym_yield, STATE(349), 1, sym_function_call, STATE(359), 1, sym_expression, STATE(388), 1, aux_sym_function_repeat1, STATE(416), 1, sym__function_expression_kind, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(364), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6342] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(481), 1, sym_identifier, ACTIONS(484), 1, anon_sym_LPAREN, ACTIONS(487), 1, anon_sym_RPAREN, ACTIONS(489), 1, sym_integer, ACTIONS(498), 1, anon_sym_LBRACK, ACTIONS(501), 1, anon_sym_struct, ACTIONS(504), 1, anon_sym_new, ACTIONS(507), 1, anon_sym_none, ACTIONS(510), 1, anon_sym_some, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(492), 2, sym_float, sym_string, ACTIONS(495), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(513), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6429] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(232), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, ACTIONS(366), 20, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6480] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(477), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(270), 1, sym_yield, STATE(354), 1, sym_expression, STATE(355), 1, sym_function_call, STATE(391), 1, aux_sym_function_repeat1, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6569] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(516), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6656] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(518), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6743] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(520), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6830] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(479), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(270), 1, sym_yield, STATE(347), 1, sym_function_call, STATE(354), 1, sym_expression, STATE(388), 1, aux_sym_function_repeat1, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6919] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(522), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(125), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7006] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(479), 1, anon_sym_RPAREN, STATE(270), 1, sym_yield, STATE(349), 1, sym_function_call, STATE(359), 1, sym_expression, STATE(388), 1, aux_sym_function_repeat1, STATE(419), 1, sym__function_expression_kind, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(364), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7095] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, ACTIONS(416), 1, anon_sym_STAR, STATE(66), 1, sym__function_expression_kind, STATE(123), 1, aux_sym_match_repeat1, STATE(340), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7182] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(524), 1, anon_sym_RBRACK, STATE(66), 1, sym__function_expression_kind, STATE(129), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7269] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(526), 1, anon_sym_RPAREN, STATE(66), 1, sym__function_expression_kind, STATE(139), 1, aux_sym__expression_list, STATE(173), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7356] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(426), 1, anon_sym_RPAREN, STATE(270), 1, sym_yield, STATE(349), 1, sym_function_call, STATE(359), 1, sym_expression, STATE(383), 1, aux_sym_function_repeat1, STATE(419), 1, sym__function_expression_kind, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(367), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7445] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, ACTIONS(528), 1, anon_sym_RBRACK, STATE(66), 1, sym__function_expression_kind, STATE(131), 1, aux_sym_list_repeat1, STATE(185), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7532] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(424), 1, sym_identifier, ACTIONS(477), 1, anon_sym_RPAREN, STATE(270), 1, sym_yield, STATE(349), 1, sym_function_call, STATE(359), 1, sym_expression, STATE(391), 1, aux_sym_function_repeat1, STATE(419), 1, sym__function_expression_kind, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(276), 2, sym_value, sym_index, STATE(366), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7621] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(410), 1, anon_sym_DASH_GT, STATE(160), 1, sym_logic_operator, STATE(161), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(346), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(348), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7683] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(410), 1, anon_sym_DASH_GT, ACTIONS(530), 1, anon_sym_SEMI, STATE(160), 1, sym_logic_operator, STATE(161), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(346), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(348), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7747] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(324), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7828] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(83), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(432), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7909] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(41), 1, sym_expression, STATE(66), 1, sym__function_expression_kind, STATE(426), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7990] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(341), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8071] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(121), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8152] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(122), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8233] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(536), 1, sym_identifier, ACTIONS(538), 1, anon_sym_LPAREN, STATE(107), 1, sym_function_expression, STATE(346), 1, sym_expression, STATE(432), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(101), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8310] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(540), 1, sym_identifier, ACTIONS(542), 1, anon_sym_LPAREN, STATE(255), 1, sym_function_expression, STATE(345), 1, sym_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(271), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8387] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(317), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8468] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(544), 1, sym_identifier, ACTIONS(546), 1, anon_sym_LPAREN, STATE(51), 1, sym_function_expression, STATE(353), 1, sym_expression, STATE(426), 1, sym_index_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(66), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8545] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(250), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8626] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(267), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8707] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(86), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8788] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(87), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8869] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(326), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8950] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(315), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9031] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(342), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9112] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(410), 1, anon_sym_DASH_GT, ACTIONS(552), 1, anon_sym_COMMA, STATE(160), 1, sym_logic_operator, STATE(161), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(550), 5, anon_sym_LPAREN, anon_sym_RPAREN, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(548), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9175] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(538), 1, anon_sym_LPAREN, ACTIONS(554), 1, sym_identifier, STATE(107), 1, sym_function_expression, STATE(358), 1, sym_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(140), 2, sym_value, sym_index, STATE(101), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9254] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(336), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9335] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(540), 1, sym_identifier, ACTIONS(542), 1, anon_sym_LPAREN, STATE(255), 1, sym_function_expression, STATE(360), 1, sym_expression, STATE(433), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(271), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9412] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(325), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9493] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(272), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9574] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(303), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9655] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(322), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9736] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(544), 1, sym_identifier, ACTIONS(546), 1, anon_sym_LPAREN, STATE(51), 1, sym_function_expression, STATE(351), 1, sym_expression, STATE(435), 1, sym_index_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(66), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9813] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(542), 1, anon_sym_LPAREN, ACTIONS(556), 1, sym_identifier, STATE(255), 1, sym_function_expression, STATE(354), 1, sym_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(299), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(271), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9892] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(302), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9973] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(536), 1, sym_identifier, ACTIONS(538), 1, anon_sym_LPAREN, STATE(107), 1, sym_function_expression, STATE(362), 1, sym_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(101), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10050] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(410), 1, anon_sym_DASH_GT, ACTIONS(562), 1, anon_sym_COMMA, STATE(160), 1, sym_logic_operator, STATE(161), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(560), 5, anon_sym_LPAREN, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(558), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10113] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(43), 1, sym_expression, STATE(66), 1, sym__function_expression_kind, STATE(435), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10194] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(42), 1, sym_expression, STATE(66), 1, sym__function_expression_kind, STATE(435), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10275] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(542), 1, anon_sym_LPAREN, ACTIONS(556), 1, sym_identifier, STATE(255), 1, sym_function_expression, STATE(356), 1, sym_expression, STATE(433), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(299), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(271), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10354] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(339), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10435] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(333), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10516] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(344), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10597] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(546), 1, anon_sym_LPAREN, ACTIONS(564), 1, sym_identifier, STATE(51), 1, sym_function_expression, STATE(352), 1, sym_expression, STATE(435), 1, sym_index_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(85), 2, sym_value, sym_index, STATE(66), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10676] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(318), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10757] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(316), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10838] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(88), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(451), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10919] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(79), 1, sym_expression, STATE(435), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11000] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(78), 1, sym_expression, STATE(435), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11081] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(44), 1, sym_expression, STATE(66), 1, sym__function_expression_kind, STATE(435), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11162] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(245), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(441), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11243] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(319), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11324] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(314), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11405] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(246), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(441), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11486] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(320), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11567] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(309), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(441), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11648] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(310), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(441), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11729] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(335), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11810] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(412), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(323), 1, sym_expression, STATE(440), 1, sym_function_expression, STATE(455), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(270), 2, sym_function_call, sym_yield, STATE(276), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11891] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(532), 1, sym_identifier, STATE(40), 1, sym_expression, STATE(66), 1, sym__function_expression_kind, STATE(426), 1, sym_index_expression, STATE(445), 1, sym_function_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(63), 2, sym_function_call, sym_yield, STATE(70), 2, sym_value, sym_index, STATE(47), 3, sym__expression_kind, sym_math, sym_logic, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11972] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(136), 1, anon_sym_LPAREN, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(420), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(81), 1, sym_expression, STATE(427), 1, sym_function_expression, STATE(432), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(92), 2, sym_value, sym_index, STATE(95), 2, sym_function_call, sym_yield, STATE(108), 3, sym__expression_kind, sym_math, sym_logic, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12053] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(174), 1, anon_sym_LPAREN, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(534), 1, sym_identifier, STATE(66), 1, sym__function_expression_kind, STATE(321), 1, sym_expression, STATE(433), 1, sym_index_expression, STATE(440), 1, sym_function_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(330), 2, sym_function_call, sym_yield, STATE(332), 2, sym_value, sym_index, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12134] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(540), 1, sym_identifier, ACTIONS(542), 1, anon_sym_LPAREN, STATE(255), 1, sym_function_expression, STATE(363), 1, sym_expression, STATE(441), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(260), 3, sym__expression_kind, sym_math, sym_logic, STATE(271), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12211] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(570), 1, anon_sym_elseif, ACTIONS(572), 1, anon_sym_else, STATE(229), 1, sym_else, STATE(214), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(566), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(568), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12264] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(570), 1, anon_sym_elseif, ACTIONS(572), 1, anon_sym_else, STATE(221), 1, sym_else, STATE(212), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(574), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(576), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12317] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(582), 1, anon_sym_elseif, STATE(214), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(578), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(580), 24, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12365] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(274), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(276), 24, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12407] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(585), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(587), 24, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12449] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(589), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(591), 24, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12491] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(326), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(328), 24, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12533] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(282), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(284), 24, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12575] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(593), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(595), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12615] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(566), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(568), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12655] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(597), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(599), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12695] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(601), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(603), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12735] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(605), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(607), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12775] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(609), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(611), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12815] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(613), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(615), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12855] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(617), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(619), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12895] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(346), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(348), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12935] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(621), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(623), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12975] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(350), 1, anon_sym_SEMI, ACTIONS(346), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(348), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13017] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(625), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(627), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13057] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(629), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(631), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13097] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(633), 1, sym_identifier, ACTIONS(635), 1, anon_sym_LPAREN, STATE(274), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(253), 2, sym_value, sym_index, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13160] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(637), 1, sym_identifier, ACTIONS(639), 1, anon_sym_LPAREN, STATE(53), 1, sym_index_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(71), 2, sym_value, sym_index, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13223] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(641), 1, sym_identifier, ACTIONS(643), 1, anon_sym_LPAREN, STATE(91), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(111), 2, sym_value, sym_index, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13286] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(633), 1, sym_identifier, ACTIONS(635), 1, anon_sym_LPAREN, STATE(281), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(253), 2, sym_value, sym_index, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13349] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(180), 1, sym_integer, ACTIONS(186), 1, anon_sym_LBRACK, ACTIONS(188), 1, anon_sym_struct, ACTIONS(190), 1, anon_sym_new, ACTIONS(192), 1, anon_sym_none, ACTIONS(194), 1, anon_sym_some, ACTIONS(633), 1, sym_identifier, ACTIONS(635), 1, anon_sym_LPAREN, STATE(327), 1, sym_index_expression, ACTIONS(182), 2, sym_float, sym_string, ACTIONS(184), 2, anon_sym_true, anon_sym_false, STATE(253), 2, sym_value, sym_index, STATE(273), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(204), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13412] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, sym_integer, ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_struct, ACTIONS(23), 1, anon_sym_new, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(637), 1, sym_identifier, ACTIONS(639), 1, anon_sym_LPAREN, STATE(69), 1, sym_index_expression, ACTIONS(15), 2, sym_float, sym_string, ACTIONS(17), 2, anon_sym_true, anon_sym_false, STATE(71), 2, sym_value, sym_index, STATE(55), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13475] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(142), 1, sym_integer, ACTIONS(148), 1, anon_sym_LBRACK, ACTIONS(150), 1, anon_sym_struct, ACTIONS(152), 1, anon_sym_new, ACTIONS(154), 1, anon_sym_none, ACTIONS(156), 1, anon_sym_some, ACTIONS(641), 1, sym_identifier, ACTIONS(643), 1, anon_sym_LPAREN, STATE(112), 1, sym_index_expression, ACTIONS(144), 2, sym_float, sym_string, ACTIONS(146), 2, anon_sym_true, anon_sym_false, STATE(111), 2, sym_value, sym_index, STATE(98), 7, sym_boolean, sym_list, sym_structure_definition, sym_structure, sym_option, sym_function, sym_built_in_value, ACTIONS(170), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13538] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(645), 1, anon_sym_elseif, ACTIONS(647), 1, anon_sym_else, STATE(294), 1, sym_else, STATE(243), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(566), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(568), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13584] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(645), 1, anon_sym_elseif, ACTIONS(647), 1, anon_sym_else, STATE(296), 1, sym_else, STATE(240), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(574), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(576), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13630] = 5, ACTIONS(3), 1, sym__comment, STATE(199), 1, sym_logic_operator, STATE(202), 1, sym_math_operator, ACTIONS(208), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(206), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [13671] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(649), 1, anon_sym_elseif, STATE(243), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(578), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(580), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13712] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(652), 1, anon_sym_LBRACE, STATE(258), 1, sym_structure_instantiator, ACTIONS(224), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [13753] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(654), 1, anon_sym_DASH_GT, STATE(199), 1, sym_logic_operator, STATE(202), 1, sym_math_operator, ACTIONS(212), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(210), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [13796] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(654), 1, anon_sym_DASH_GT, STATE(199), 1, sym_logic_operator, STATE(202), 1, sym_math_operator, ACTIONS(218), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(216), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [13839] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(658), 6, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(656), 23, anon_sym_async, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13876] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(288), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(286), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [13912] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(276), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(274), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [13948] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(660), 1, anon_sym_DASH_GT, STATE(166), 1, sym_logic_operator, STATE(167), 1, sym_math_operator, ACTIONS(212), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(210), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [13990] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(296), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(294), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14026] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(320), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(318), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14062] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(324), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(236), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14098] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(268), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(266), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14134] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(256), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(254), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14170] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(328), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(326), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14206] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(308), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(306), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14242] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(280), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(278), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14278] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(260), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(258), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14314] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(244), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(242), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14350] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(282), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14386] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(304), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(302), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14422] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(340), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(338), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14458] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(334), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14494] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(332), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(330), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14530] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(292), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(290), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14566] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(660), 1, anon_sym_DASH_GT, STATE(166), 1, sym_logic_operator, STATE(167), 1, sym_math_operator, ACTIONS(218), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(216), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [14608] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(248), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(246), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14644] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(252), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(250), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14680] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(232), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(230), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 19, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14718] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(312), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(310), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14754] = 5, ACTIONS(3), 1, sym__comment, STATE(166), 1, sym_logic_operator, STATE(167), 1, sym_math_operator, ACTIONS(208), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(206), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14794] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(272), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(270), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14830] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(264), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(262), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14866] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(300), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(298), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14902] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(232), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(230), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 18, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14942] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(344), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(342), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14978] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(316), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(314), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15014] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(282), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(284), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15049] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(326), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(328), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15084] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(662), 1, anon_sym_DOT_DOT, ACTIONS(264), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(262), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15121] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(274), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(276), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15156] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(585), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(587), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15191] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(589), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(591), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15226] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(593), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(595), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15259] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(617), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(619), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15292] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(629), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(631), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15325] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(609), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(611), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15358] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(625), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(627), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15391] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(601), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(603), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15424] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(346), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(348), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15457] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(613), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(615), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15490] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(605), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(607), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15523] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(621), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(623), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15556] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(530), 1, anon_sym_SEMI, ACTIONS(346), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(348), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15591] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(566), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(568), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15624] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(234), 1, anon_sym_EQ, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(238), 1, anon_sym_LT, STATE(33), 1, sym_assignment_operator, STATE(377), 1, sym_type_definition, ACTIONS(240), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(230), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, ACTIONS(228), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [15671] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(597), 8, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(599), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15704] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(366), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(232), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15738] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(234), 1, anon_sym_EQ, ACTIONS(236), 1, anon_sym_COLON, STATE(27), 1, sym_assignment_operator, ACTIONS(240), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(230), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [15780] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(668), 1, anon_sym_COMMA, ACTIONS(666), 6, anon_sym_LPAREN, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(664), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15814] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(670), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(218), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(216), 15, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, [15851] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(670), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(212), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(210), 15, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, [15888] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(674), 6, anon_sym_LPAREN, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(672), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15919] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(487), 5, anon_sym_LPAREN, anon_sym_RPAREN, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(676), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15949] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(450), 5, anon_sym_LPAREN, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, ACTIONS(678), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15979] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(682), 4, anon_sym_LPAREN, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(680), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16008] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(686), 4, anon_sym_LPAREN, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(684), 17, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_struct, anon_sym_new, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16037] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(654), 1, anon_sym_DASH_GT, STATE(204), 1, sym_math_operator, STATE(205), 1, sym_logic_operator, ACTIONS(218), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(216), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16071] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(654), 1, anon_sym_DASH_GT, STATE(204), 1, sym_math_operator, STATE(205), 1, sym_logic_operator, ACTIONS(212), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(210), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16105] = 5, ACTIONS(3), 1, sym__comment, STATE(204), 1, sym_math_operator, STATE(205), 1, sym_logic_operator, ACTIONS(208), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(206), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16137] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(346), 4, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16177] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(530), 1, anon_sym_SEMI, ACTIONS(670), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(346), 3, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16219] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(688), 1, anon_sym_async, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(231), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16262] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(690), 1, anon_sym_DASH_GT, STATE(170), 1, sym_logic_operator, STATE(171), 1, sym_math_operator, ACTIONS(218), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(216), 13, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16295] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(692), 1, anon_sym_async, ACTIONS(694), 1, anon_sym_LBRACE, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(283), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16338] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(696), 1, anon_sym_async, ACTIONS(698), 1, anon_sym_LBRACE, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(216), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16381] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(178), 1, anon_sym_LBRACE, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(700), 1, anon_sym_async, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(298), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16424] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(696), 1, anon_sym_async, ACTIONS(698), 1, anon_sym_LBRACE, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(217), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16467] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(140), 1, anon_sym_LBRACE, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(702), 1, anon_sym_async, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(289), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16510] = 5, ACTIONS(3), 1, sym__comment, STATE(170), 1, sym_logic_operator, STATE(171), 1, sym_math_operator, ACTIONS(208), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(206), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16541] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(692), 1, anon_sym_async, ACTIONS(694), 1, anon_sym_LBRACE, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(284), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16584] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(688), 1, anon_sym_async, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(222), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16627] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(140), 1, anon_sym_LBRACE, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(702), 1, anon_sym_async, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(298), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16670] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(178), 1, anon_sym_LBRACE, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(700), 1, anon_sym_async, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, STATE(289), 1, sym_block, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16713] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(690), 1, anon_sym_DASH_GT, STATE(170), 1, sym_logic_operator, STATE(171), 1, sym_math_operator, ACTIONS(212), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(210), 13, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16746] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(704), 1, anon_sym_DOT_DOT, ACTIONS(264), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(262), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16774] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(710), 1, anon_sym_DASH_GT, ACTIONS(708), 7, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(706), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [16802] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(238), 1, anon_sym_LT, STATE(385), 1, sym_type_definition, ACTIONS(230), 2, anon_sym_DASH, anon_sym_GT, ACTIONS(232), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(228), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16836] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(230), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 14, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16864] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(716), 1, anon_sym_DASH_GT, ACTIONS(714), 7, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(712), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [16892] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(236), 1, anon_sym_COLON, ACTIONS(230), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 13, anon_sym_RPAREN, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16922] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(718), 1, anon_sym_DASH_GT, STATE(189), 1, sym_math_operator, STATE(190), 1, sym_logic_operator, ACTIONS(212), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(210), 11, anon_sym_RPAREN, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16953] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(708), 7, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(706), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [16978] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(720), 1, anon_sym_LBRACE, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17015] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(722), 1, anon_sym_LBRACE, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17052] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(726), 7, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(724), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [17077] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(730), 7, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(728), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [17102] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(718), 1, anon_sym_DASH_GT, STATE(189), 1, sym_math_operator, STATE(190), 1, sym_logic_operator, ACTIONS(218), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(216), 11, anon_sym_RPAREN, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17133] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, ACTIONS(732), 1, anon_sym_EQ_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17170] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(718), 1, anon_sym_DASH_GT, ACTIONS(734), 1, anon_sym_RPAREN, STATE(189), 1, sym_math_operator, STATE(190), 1, sym_logic_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17207] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(718), 1, anon_sym_DASH_GT, ACTIONS(736), 1, anon_sym_RPAREN, STATE(189), 1, sym_math_operator, STATE(190), 1, sym_logic_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17244] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(740), 7, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(738), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [17269] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(718), 1, anon_sym_DASH_GT, ACTIONS(742), 1, anon_sym_RPAREN, STATE(189), 1, sym_math_operator, STATE(190), 1, sym_logic_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17306] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(660), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17340] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(362), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17374] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(744), 1, anon_sym_RPAREN, ACTIONS(230), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17402] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(746), 1, anon_sym_RPAREN, ACTIONS(230), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17430] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(232), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(230), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17456] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(752), 1, anon_sym_RPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, STATE(357), 1, aux_sym_type_repeat1, STATE(365), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [17492] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(220), 1, anon_sym_DASH_GT, ACTIONS(354), 1, anon_sym_DASH, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17526] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(360), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17560] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(214), 1, anon_sym_DASH_GT, ACTIONS(354), 1, anon_sym_DASH, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17594] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(670), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17628] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(232), 1, anon_sym_LPAREN, ACTIONS(760), 1, anon_sym_RPAREN, ACTIONS(230), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(228), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17656] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(718), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17690] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(765), 1, anon_sym_LPAREN, ACTIONS(768), 1, anon_sym_RPAREN, ACTIONS(770), 1, anon_sym_LBRACE, ACTIONS(773), 1, anon_sym_LBRACK, ACTIONS(776), 1, anon_sym_option, STATE(357), 1, aux_sym_type_repeat1, STATE(365), 1, sym_type, ACTIONS(762), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [17726] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(410), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17760] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(718), 1, anon_sym_DASH_GT, STATE(189), 1, sym_math_operator, STATE(190), 1, sym_logic_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17794] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(690), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17828] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, ACTIONS(779), 1, anon_sym_RPAREN, STATE(350), 1, aux_sym_type_repeat1, STATE(365), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [17864] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(368), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17898] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(354), 1, anon_sym_DASH, ACTIONS(654), 1, anon_sym_DASH_GT, STATE(179), 1, sym_logic_operator, STATE(183), 1, sym_math_operator, ACTIONS(358), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(356), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17932] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(781), 1, anon_sym_RPAREN, ACTIONS(244), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(242), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17957] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(787), 1, anon_sym_COMMA, ACTIONS(785), 4, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_LBRACK, ACTIONS(783), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [17982] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(789), 1, anon_sym_RPAREN, ACTIONS(244), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(242), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18007] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(791), 1, anon_sym_RPAREN, ACTIONS(244), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(242), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18032] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, STATE(343), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [18062] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, STATE(423), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [18092] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(768), 4, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_LBRACK, ACTIONS(793), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, anon_sym_option, [18114] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, STATE(338), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [18144] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, STATE(448), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [18174] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(750), 1, anon_sym_LPAREN, ACTIONS(754), 1, anon_sym_LBRACE, ACTIONS(756), 1, anon_sym_LBRACK, ACTIONS(758), 1, anon_sym_option, STATE(439), 1, sym_type, ACTIONS(748), 9, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_num, anon_sym_str, [18204] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(795), 2, anon_sym_async, sym_identifier, ACTIONS(797), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18221] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(568), 1, sym_identifier, ACTIONS(645), 1, anon_sym_elseif, ACTIONS(799), 1, anon_sym_else, STATE(294), 1, sym_else, STATE(243), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(566), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, [18246] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(576), 1, sym_identifier, ACTIONS(645), 1, anon_sym_elseif, ACTIONS(799), 1, anon_sym_else, STATE(296), 1, sym_else, STATE(375), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(574), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, [18271] = 3, ACTIONS(3), 1, sym__comment, STATE(37), 1, sym_assignment_operator, ACTIONS(240), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18283] = 3, ACTIONS(3), 1, sym__comment, STATE(29), 1, sym_assignment_operator, ACTIONS(240), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18295] = 3, ACTIONS(3), 1, sym__comment, STATE(30), 1, sym_assignment_operator, ACTIONS(240), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18307] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(803), 1, anon_sym_COMMA, ACTIONS(805), 1, anon_sym_EQ, ACTIONS(801), 2, anon_sym_RBRACE, sym_identifier, [18321] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(140), 1, anon_sym_LBRACE, ACTIONS(702), 1, anon_sym_async, STATE(114), 1, sym_block, [18334] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(140), 1, anon_sym_LBRACE, ACTIONS(702), 1, anon_sym_async, STATE(116), 1, sym_block, [18347] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(807), 1, sym_identifier, ACTIONS(809), 1, anon_sym_RPAREN, STATE(390), 1, aux_sym_function_repeat1, [18360] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, sym_identifier, ACTIONS(813), 1, anon_sym_RBRACE, STATE(395), 1, aux_sym_structure_instantiator_repeat1, [18373] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(817), 1, anon_sym_COMMA, ACTIONS(815), 2, anon_sym_RPAREN, sym_identifier, [18384] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(688), 1, anon_sym_async, STATE(54), 1, sym_block, [18397] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, anon_sym_COMMA, ACTIONS(819), 2, anon_sym_RBRACE, sym_identifier, [18408] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(807), 1, sym_identifier, ACTIONS(823), 1, anon_sym_RPAREN, STATE(390), 1, aux_sym_function_repeat1, [18421] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(688), 1, anon_sym_async, STATE(226), 1, sym_block, [18434] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(815), 1, anon_sym_RPAREN, ACTIONS(825), 1, sym_identifier, STATE(390), 1, aux_sym_function_repeat1, [18447] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(807), 1, sym_identifier, ACTIONS(828), 1, anon_sym_RPAREN, STATE(390), 1, aux_sym_function_repeat1, [18460] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, sym_identifier, ACTIONS(830), 1, anon_sym_RBRACE, STATE(395), 1, aux_sym_structure_instantiator_repeat1, [18473] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, sym_identifier, ACTIONS(832), 1, anon_sym_RBRACE, STATE(395), 1, aux_sym_structure_instantiator_repeat1, [18486] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(688), 1, anon_sym_async, STATE(60), 1, sym_block, [18499] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(801), 1, anon_sym_RBRACE, ACTIONS(834), 1, sym_identifier, STATE(395), 1, aux_sym_structure_instantiator_repeat1, [18512] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(178), 1, anon_sym_LBRACE, ACTIONS(700), 1, anon_sym_async, STATE(254), 1, sym_block, [18525] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(837), 1, anon_sym_EQ, ACTIONS(839), 1, anon_sym_LT, STATE(380), 1, sym_type_definition, [18538] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(178), 1, anon_sym_LBRACE, ACTIONS(700), 1, anon_sym_async, STATE(266), 1, sym_block, [18551] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(140), 1, anon_sym_LBRACE, ACTIONS(702), 1, anon_sym_async, STATE(292), 1, sym_block, [18564] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(843), 1, anon_sym_COMMA, ACTIONS(841), 2, anon_sym_RBRACE, sym_identifier, [18575] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(178), 1, anon_sym_LBRACE, ACTIONS(700), 1, anon_sym_async, STATE(292), 1, sym_block, [18588] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(845), 2, anon_sym_RPAREN, sym_identifier, [18596] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, sym_identifier, STATE(384), 1, aux_sym_structure_instantiator_repeat1, [18606] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(847), 2, anon_sym_RBRACE, sym_identifier, [18614] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(841), 2, anon_sym_RBRACE, sym_identifier, [18622] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(385), 1, sym_type_definition, [18632] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(396), 1, sym_type_definition, [18642] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(364), 1, anon_sym_LBRACE, STATE(100), 1, sym_structure_instantiator, [18652] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(310), 1, anon_sym_LPAREN, ACTIONS(849), 1, anon_sym_RPAREN, [18662] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, sym_identifier, STATE(392), 1, aux_sym_structure_instantiator_repeat1, [18672] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(394), 1, sym_type_definition, [18682] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(652), 1, anon_sym_LBRACE, STATE(268), 1, sym_structure_instantiator, [18692] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(431), 1, sym_type_definition, [18702] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LBRACE, STATE(49), 1, sym_structure_instantiator, [18712] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(811), 1, sym_identifier, STATE(393), 1, aux_sym_structure_instantiator_repeat1, [18722] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(310), 1, anon_sym_LPAREN, ACTIONS(851), 1, anon_sym_RPAREN, [18732] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(398), 1, sym_type_definition, [18742] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(386), 1, sym_type_definition, [18752] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(310), 1, anon_sym_LPAREN, ACTIONS(853), 1, anon_sym_RPAREN, [18762] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(819), 2, anon_sym_RBRACE, sym_identifier, [18770] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(382), 1, sym_type_definition, [18780] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(839), 1, anon_sym_LT, STATE(381), 1, sym_type_definition, [18790] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(855), 1, anon_sym_RPAREN, [18797] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(857), 1, anon_sym_LPAREN, [18804] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(859), 1, anon_sym_LBRACE, [18811] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(861), 1, anon_sym_COLON, [18818] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(863), 1, anon_sym_LPAREN, [18825] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(865), 1, anon_sym_LBRACE, [18832] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(867), 1, sym_identifier, [18839] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(869), 1, sym_identifier, [18846] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(855), 1, anon_sym_RBRACE, [18853] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(871), 1, anon_sym_COLON, [18860] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(873), 1, anon_sym_COLON, [18867] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(875), 1, ts_builtin_sym_end, [18874] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(877), 1, anon_sym_COLON, [18881] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(879), 1, anon_sym_LBRACE, [18888] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(881), 1, anon_sym_in, [18895] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(883), 1, anon_sym_LBRACE, [18902] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(885), 1, anon_sym_RBRACK, [18909] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(887), 1, anon_sym_LPAREN, [18916] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(889), 1, anon_sym_COLON, [18923] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(891), 1, sym_identifier, [18930] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(893), 1, anon_sym_in, [18937] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(895), 1, sym_identifier, [18944] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(897), 1, anon_sym_LPAREN, [18951] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(899), 1, anon_sym_LPAREN, [18958] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(901), 1, anon_sym_LPAREN, [18965] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(903), 1, anon_sym_GT, [18972] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(905), 1, anon_sym_LBRACE, [18979] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(732), 1, anon_sym_EQ_GT, [18986] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(907), 1, anon_sym_COLON, [18993] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(909), 1, anon_sym_LPAREN, [19000] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(911), 1, sym_identifier, [19007] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(913), 1, anon_sym_in, [19014] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(915), 1, anon_sym_COLON, [19021] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(917), 1, sym_identifier, [19028] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(919), 1, sym_identifier, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(39)] = 0, [SMALL_STATE(40)] = 65, [SMALL_STATE(41)] = 132, [SMALL_STATE(42)] = 199, [SMALL_STATE(43)] = 265, [SMALL_STATE(44)] = 331, [SMALL_STATE(45)] = 395, [SMALL_STATE(46)] = 459, [SMALL_STATE(47)] = 533, [SMALL_STATE(48)] = 592, [SMALL_STATE(49)] = 661, [SMALL_STATE(50)] = 720, [SMALL_STATE(51)] = 779, [SMALL_STATE(52)] = 838, [SMALL_STATE(53)] = 897, [SMALL_STATE(54)] = 956, [SMALL_STATE(55)] = 1015, [SMALL_STATE(56)] = 1074, [SMALL_STATE(57)] = 1133, [SMALL_STATE(58)] = 1192, [SMALL_STATE(59)] = 1251, [SMALL_STATE(60)] = 1310, [SMALL_STATE(61)] = 1369, [SMALL_STATE(62)] = 1428, [SMALL_STATE(63)] = 1487, [SMALL_STATE(64)] = 1548, [SMALL_STATE(65)] = 1607, [SMALL_STATE(66)] = 1666, [SMALL_STATE(67)] = 1725, [SMALL_STATE(68)] = 1784, [SMALL_STATE(69)] = 1843, [SMALL_STATE(70)] = 1904, [SMALL_STATE(71)] = 1967, [SMALL_STATE(72)] = 2026, [SMALL_STATE(73)] = 2085, [SMALL_STATE(74)] = 2144, [SMALL_STATE(75)] = 2203, [SMALL_STATE(76)] = 2262, [SMALL_STATE(77)] = 2321, [SMALL_STATE(78)] = 2393, [SMALL_STATE(79)] = 2455, [SMALL_STATE(80)] = 2517, [SMALL_STATE(81)] = 2587, [SMALL_STATE(82)] = 2648, [SMALL_STATE(83)] = 2707, [SMALL_STATE(84)] = 2768, [SMALL_STATE(85)] = 2827, [SMALL_STATE(86)] = 2884, [SMALL_STATE(87)] = 2944, [SMALL_STATE(88)] = 3004, [SMALL_STATE(89)] = 3062, [SMALL_STATE(90)] = 3115, [SMALL_STATE(91)] = 3168, [SMALL_STATE(92)] = 3221, [SMALL_STATE(93)] = 3278, [SMALL_STATE(94)] = 3331, [SMALL_STATE(95)] = 3384, [SMALL_STATE(96)] = 3439, [SMALL_STATE(97)] = 3492, [SMALL_STATE(98)] = 3545, [SMALL_STATE(99)] = 3598, [SMALL_STATE(100)] = 3651, [SMALL_STATE(101)] = 3704, [SMALL_STATE(102)] = 3757, [SMALL_STATE(103)] = 3810, [SMALL_STATE(104)] = 3863, [SMALL_STATE(105)] = 3916, [SMALL_STATE(106)] = 3969, [SMALL_STATE(107)] = 4022, [SMALL_STATE(108)] = 4075, [SMALL_STATE(109)] = 4128, [SMALL_STATE(110)] = 4181, [SMALL_STATE(111)] = 4234, [SMALL_STATE(112)] = 4287, [SMALL_STATE(113)] = 4342, [SMALL_STATE(114)] = 4395, [SMALL_STATE(115)] = 4448, [SMALL_STATE(116)] = 4501, [SMALL_STATE(117)] = 4554, [SMALL_STATE(118)] = 4607, [SMALL_STATE(119)] = 4673, [SMALL_STATE(120)] = 4734, [SMALL_STATE(121)] = 4824, [SMALL_STATE(122)] = 4880, [SMALL_STATE(123)] = 4936, [SMALL_STATE(124)] = 5026, [SMALL_STATE(125)] = 5116, [SMALL_STATE(126)] = 5203, [SMALL_STATE(127)] = 5292, [SMALL_STATE(128)] = 5379, [SMALL_STATE(129)] = 5466, [SMALL_STATE(130)] = 5553, [SMALL_STATE(131)] = 5642, [SMALL_STATE(132)] = 5729, [SMALL_STATE(133)] = 5816, [SMALL_STATE(134)] = 5903, [SMALL_STATE(135)] = 5990, [SMALL_STATE(136)] = 6077, [SMALL_STATE(137)] = 6164, [SMALL_STATE(138)] = 6253, [SMALL_STATE(139)] = 6342, [SMALL_STATE(140)] = 6429, [SMALL_STATE(141)] = 6480, [SMALL_STATE(142)] = 6569, [SMALL_STATE(143)] = 6656, [SMALL_STATE(144)] = 6743, [SMALL_STATE(145)] = 6830, [SMALL_STATE(146)] = 6919, [SMALL_STATE(147)] = 7006, [SMALL_STATE(148)] = 7095, [SMALL_STATE(149)] = 7182, [SMALL_STATE(150)] = 7269, [SMALL_STATE(151)] = 7356, [SMALL_STATE(152)] = 7445, [SMALL_STATE(153)] = 7532, [SMALL_STATE(154)] = 7621, [SMALL_STATE(155)] = 7683, [SMALL_STATE(156)] = 7747, [SMALL_STATE(157)] = 7828, [SMALL_STATE(158)] = 7909, [SMALL_STATE(159)] = 7990, [SMALL_STATE(160)] = 8071, [SMALL_STATE(161)] = 8152, [SMALL_STATE(162)] = 8233, [SMALL_STATE(163)] = 8310, [SMALL_STATE(164)] = 8387, [SMALL_STATE(165)] = 8468, [SMALL_STATE(166)] = 8545, [SMALL_STATE(167)] = 8626, [SMALL_STATE(168)] = 8707, [SMALL_STATE(169)] = 8788, [SMALL_STATE(170)] = 8869, [SMALL_STATE(171)] = 8950, [SMALL_STATE(172)] = 9031, [SMALL_STATE(173)] = 9112, [SMALL_STATE(174)] = 9175, [SMALL_STATE(175)] = 9254, [SMALL_STATE(176)] = 9335, [SMALL_STATE(177)] = 9412, [SMALL_STATE(178)] = 9493, [SMALL_STATE(179)] = 9574, [SMALL_STATE(180)] = 9655, [SMALL_STATE(181)] = 9736, [SMALL_STATE(182)] = 9813, [SMALL_STATE(183)] = 9892, [SMALL_STATE(184)] = 9973, [SMALL_STATE(185)] = 10050, [SMALL_STATE(186)] = 10113, [SMALL_STATE(187)] = 10194, [SMALL_STATE(188)] = 10275, [SMALL_STATE(189)] = 10354, [SMALL_STATE(190)] = 10435, [SMALL_STATE(191)] = 10516, [SMALL_STATE(192)] = 10597, [SMALL_STATE(193)] = 10676, [SMALL_STATE(194)] = 10757, [SMALL_STATE(195)] = 10838, [SMALL_STATE(196)] = 10919, [SMALL_STATE(197)] = 11000, [SMALL_STATE(198)] = 11081, [SMALL_STATE(199)] = 11162, [SMALL_STATE(200)] = 11243, [SMALL_STATE(201)] = 11324, [SMALL_STATE(202)] = 11405, [SMALL_STATE(203)] = 11486, [SMALL_STATE(204)] = 11567, [SMALL_STATE(205)] = 11648, [SMALL_STATE(206)] = 11729, [SMALL_STATE(207)] = 11810, [SMALL_STATE(208)] = 11891, [SMALL_STATE(209)] = 11972, [SMALL_STATE(210)] = 12053, [SMALL_STATE(211)] = 12134, [SMALL_STATE(212)] = 12211, [SMALL_STATE(213)] = 12264, [SMALL_STATE(214)] = 12317, [SMALL_STATE(215)] = 12365, [SMALL_STATE(216)] = 12407, [SMALL_STATE(217)] = 12449, [SMALL_STATE(218)] = 12491, [SMALL_STATE(219)] = 12533, [SMALL_STATE(220)] = 12575, [SMALL_STATE(221)] = 12615, [SMALL_STATE(222)] = 12655, [SMALL_STATE(223)] = 12695, [SMALL_STATE(224)] = 12735, [SMALL_STATE(225)] = 12775, [SMALL_STATE(226)] = 12815, [SMALL_STATE(227)] = 12855, [SMALL_STATE(228)] = 12895, [SMALL_STATE(229)] = 12935, [SMALL_STATE(230)] = 12975, [SMALL_STATE(231)] = 13017, [SMALL_STATE(232)] = 13057, [SMALL_STATE(233)] = 13097, [SMALL_STATE(234)] = 13160, [SMALL_STATE(235)] = 13223, [SMALL_STATE(236)] = 13286, [SMALL_STATE(237)] = 13349, [SMALL_STATE(238)] = 13412, [SMALL_STATE(239)] = 13475, [SMALL_STATE(240)] = 13538, [SMALL_STATE(241)] = 13584, [SMALL_STATE(242)] = 13630, [SMALL_STATE(243)] = 13671, [SMALL_STATE(244)] = 13712, [SMALL_STATE(245)] = 13753, [SMALL_STATE(246)] = 13796, [SMALL_STATE(247)] = 13839, [SMALL_STATE(248)] = 13876, [SMALL_STATE(249)] = 13912, [SMALL_STATE(250)] = 13948, [SMALL_STATE(251)] = 13990, [SMALL_STATE(252)] = 14026, [SMALL_STATE(253)] = 14062, [SMALL_STATE(254)] = 14098, [SMALL_STATE(255)] = 14134, [SMALL_STATE(256)] = 14170, [SMALL_STATE(257)] = 14206, [SMALL_STATE(258)] = 14242, [SMALL_STATE(259)] = 14278, [SMALL_STATE(260)] = 14314, [SMALL_STATE(261)] = 14350, [SMALL_STATE(262)] = 14386, [SMALL_STATE(263)] = 14422, [SMALL_STATE(264)] = 14458, [SMALL_STATE(265)] = 14494, [SMALL_STATE(266)] = 14530, [SMALL_STATE(267)] = 14566, [SMALL_STATE(268)] = 14608, [SMALL_STATE(269)] = 14644, [SMALL_STATE(270)] = 14680, [SMALL_STATE(271)] = 14718, [SMALL_STATE(272)] = 14754, [SMALL_STATE(273)] = 14794, [SMALL_STATE(274)] = 14830, [SMALL_STATE(275)] = 14866, [SMALL_STATE(276)] = 14902, [SMALL_STATE(277)] = 14942, [SMALL_STATE(278)] = 14978, [SMALL_STATE(279)] = 15014, [SMALL_STATE(280)] = 15049, [SMALL_STATE(281)] = 15084, [SMALL_STATE(282)] = 15121, [SMALL_STATE(283)] = 15156, [SMALL_STATE(284)] = 15191, [SMALL_STATE(285)] = 15226, [SMALL_STATE(286)] = 15259, [SMALL_STATE(287)] = 15292, [SMALL_STATE(288)] = 15325, [SMALL_STATE(289)] = 15358, [SMALL_STATE(290)] = 15391, [SMALL_STATE(291)] = 15424, [SMALL_STATE(292)] = 15457, [SMALL_STATE(293)] = 15490, [SMALL_STATE(294)] = 15523, [SMALL_STATE(295)] = 15556, [SMALL_STATE(296)] = 15591, [SMALL_STATE(297)] = 15624, [SMALL_STATE(298)] = 15671, [SMALL_STATE(299)] = 15704, [SMALL_STATE(300)] = 15738, [SMALL_STATE(301)] = 15780, [SMALL_STATE(302)] = 15814, [SMALL_STATE(303)] = 15851, [SMALL_STATE(304)] = 15888, [SMALL_STATE(305)] = 15919, [SMALL_STATE(306)] = 15949, [SMALL_STATE(307)] = 15979, [SMALL_STATE(308)] = 16008, [SMALL_STATE(309)] = 16037, [SMALL_STATE(310)] = 16071, [SMALL_STATE(311)] = 16105, [SMALL_STATE(312)] = 16137, [SMALL_STATE(313)] = 16177, [SMALL_STATE(314)] = 16219, [SMALL_STATE(315)] = 16262, [SMALL_STATE(316)] = 16295, [SMALL_STATE(317)] = 16338, [SMALL_STATE(318)] = 16381, [SMALL_STATE(319)] = 16424, [SMALL_STATE(320)] = 16467, [SMALL_STATE(321)] = 16510, [SMALL_STATE(322)] = 16541, [SMALL_STATE(323)] = 16584, [SMALL_STATE(324)] = 16627, [SMALL_STATE(325)] = 16670, [SMALL_STATE(326)] = 16713, [SMALL_STATE(327)] = 16746, [SMALL_STATE(328)] = 16774, [SMALL_STATE(329)] = 16802, [SMALL_STATE(330)] = 16836, [SMALL_STATE(331)] = 16864, [SMALL_STATE(332)] = 16892, [SMALL_STATE(333)] = 16922, [SMALL_STATE(334)] = 16953, [SMALL_STATE(335)] = 16978, [SMALL_STATE(336)] = 17015, [SMALL_STATE(337)] = 17052, [SMALL_STATE(338)] = 17077, [SMALL_STATE(339)] = 17102, [SMALL_STATE(340)] = 17133, [SMALL_STATE(341)] = 17170, [SMALL_STATE(342)] = 17207, [SMALL_STATE(343)] = 17244, [SMALL_STATE(344)] = 17269, [SMALL_STATE(345)] = 17306, [SMALL_STATE(346)] = 17340, [SMALL_STATE(347)] = 17374, [SMALL_STATE(348)] = 17402, [SMALL_STATE(349)] = 17430, [SMALL_STATE(350)] = 17456, [SMALL_STATE(351)] = 17492, [SMALL_STATE(352)] = 17526, [SMALL_STATE(353)] = 17560, [SMALL_STATE(354)] = 17594, [SMALL_STATE(355)] = 17628, [SMALL_STATE(356)] = 17656, [SMALL_STATE(357)] = 17690, [SMALL_STATE(358)] = 17726, [SMALL_STATE(359)] = 17760, [SMALL_STATE(360)] = 17794, [SMALL_STATE(361)] = 17828, [SMALL_STATE(362)] = 17864, [SMALL_STATE(363)] = 17898, [SMALL_STATE(364)] = 17932, [SMALL_STATE(365)] = 17957, [SMALL_STATE(366)] = 17982, [SMALL_STATE(367)] = 18007, [SMALL_STATE(368)] = 18032, [SMALL_STATE(369)] = 18062, [SMALL_STATE(370)] = 18092, [SMALL_STATE(371)] = 18114, [SMALL_STATE(372)] = 18144, [SMALL_STATE(373)] = 18174, [SMALL_STATE(374)] = 18204, [SMALL_STATE(375)] = 18221, [SMALL_STATE(376)] = 18246, [SMALL_STATE(377)] = 18271, [SMALL_STATE(378)] = 18283, [SMALL_STATE(379)] = 18295, [SMALL_STATE(380)] = 18307, [SMALL_STATE(381)] = 18321, [SMALL_STATE(382)] = 18334, [SMALL_STATE(383)] = 18347, [SMALL_STATE(384)] = 18360, [SMALL_STATE(385)] = 18373, [SMALL_STATE(386)] = 18384, [SMALL_STATE(387)] = 18397, [SMALL_STATE(388)] = 18408, [SMALL_STATE(389)] = 18421, [SMALL_STATE(390)] = 18434, [SMALL_STATE(391)] = 18447, [SMALL_STATE(392)] = 18460, [SMALL_STATE(393)] = 18473, [SMALL_STATE(394)] = 18486, [SMALL_STATE(395)] = 18499, [SMALL_STATE(396)] = 18512, [SMALL_STATE(397)] = 18525, [SMALL_STATE(398)] = 18538, [SMALL_STATE(399)] = 18551, [SMALL_STATE(400)] = 18564, [SMALL_STATE(401)] = 18575, [SMALL_STATE(402)] = 18588, [SMALL_STATE(403)] = 18596, [SMALL_STATE(404)] = 18606, [SMALL_STATE(405)] = 18614, [SMALL_STATE(406)] = 18622, [SMALL_STATE(407)] = 18632, [SMALL_STATE(408)] = 18642, [SMALL_STATE(409)] = 18652, [SMALL_STATE(410)] = 18662, [SMALL_STATE(411)] = 18672, [SMALL_STATE(412)] = 18682, [SMALL_STATE(413)] = 18692, [SMALL_STATE(414)] = 18702, [SMALL_STATE(415)] = 18712, [SMALL_STATE(416)] = 18722, [SMALL_STATE(417)] = 18732, [SMALL_STATE(418)] = 18742, [SMALL_STATE(419)] = 18752, [SMALL_STATE(420)] = 18762, [SMALL_STATE(421)] = 18770, [SMALL_STATE(422)] = 18780, [SMALL_STATE(423)] = 18790, [SMALL_STATE(424)] = 18797, [SMALL_STATE(425)] = 18804, [SMALL_STATE(426)] = 18811, [SMALL_STATE(427)] = 18818, [SMALL_STATE(428)] = 18825, [SMALL_STATE(429)] = 18832, [SMALL_STATE(430)] = 18839, [SMALL_STATE(431)] = 18846, [SMALL_STATE(432)] = 18853, [SMALL_STATE(433)] = 18860, [SMALL_STATE(434)] = 18867, [SMALL_STATE(435)] = 18874, [SMALL_STATE(436)] = 18881, [SMALL_STATE(437)] = 18888, [SMALL_STATE(438)] = 18895, [SMALL_STATE(439)] = 18902, [SMALL_STATE(440)] = 18909, [SMALL_STATE(441)] = 18916, [SMALL_STATE(442)] = 18923, [SMALL_STATE(443)] = 18930, [SMALL_STATE(444)] = 18937, [SMALL_STATE(445)] = 18944, [SMALL_STATE(446)] = 18951, [SMALL_STATE(447)] = 18958, [SMALL_STATE(448)] = 18965, [SMALL_STATE(449)] = 18972, [SMALL_STATE(450)] = 18979, [SMALL_STATE(451)] = 18986, [SMALL_STATE(452)] = 18993, [SMALL_STATE(453)] = 19000, [SMALL_STATE(454)] = 19007, [SMALL_STATE(455)] = 19014, [SMALL_STATE(456)] = 19021, [SMALL_STATE(457)] = 19028, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(449), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(46), [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(151), [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(449), [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(55), [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(55), [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(62), [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(134), [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(414), [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(444), [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(67), [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(447), [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(164), [84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(206), [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(207), [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(430), [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(430), [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(31), [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(76), [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(452), [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 2), [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 2), [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372), [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure_definition, 2), [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure_definition, 2), [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 3), [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 3), [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure_instantiator, 3), [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure_instantiator, 3), [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), [372] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(276), [375] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(147), [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), [380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(273), [383] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(273), [386] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(275), [389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(152), [392] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(412), [395] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(442), [398] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(278), [401] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(424), [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(450), [407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(277), [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276), [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), [432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(92), [435] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(153), [438] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(98), [441] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(98), [444] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(97), [447] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(132), [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(408), [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(453), [458] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(96), [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(452), [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(93), [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), [481] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(92), [484] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(153), [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(98), [492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(98), [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(97), [498] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(132), [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(408), [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(453), [507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(96), [510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(452), [513] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(93), [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), [532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), [534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), [536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), [540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), [548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), [554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), [568] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), [572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), [576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(200), [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), [619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), [633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), [637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), [641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), [649] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(180), [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), [676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), [678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), [680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), [684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), [686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), [712] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 2), [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), [724] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), [728] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 5), [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337), [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), [758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [762] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(337), [765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(361), [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), [770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(429), [773] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(373), [776] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(446), [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 1), [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), [795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), [797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), [799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), [801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_instantiator_repeat1, 2), [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_instantiator_repeat1, 3), [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), [825] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(406), [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), [834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_structure_instantiator_repeat1, 2), SHIFT_REPEAT(397), [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), [841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_instantiator_repeat1, 4), [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), [845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), [847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_instantiator_repeat1, 5), [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), [875] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), [889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), }; #ifdef __cplusplus extern "C" { #endif #ifdef _WIN32 #define extern __declspec(dllexport) #endif extern const TSLanguage *tree_sitter_dust(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = ts_lex_modes, .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, .primary_state_ids = ts_primary_state_ids, }; return &language; } #ifdef __cplusplus } #endif