From 1e8dc9f6220137ce4f1409e57d013ee6d647b26b Mon Sep 17 00:00:00 2001 From: Miguel Fernandes Date: Tue, 28 May 2024 17:51:24 +0100 Subject: [PATCH] feat: add role statements --- grammar.js | 61 +- queries/highlights.scm | 7 +- src/grammar.json | 200 +- src/node-types.json | 132 +- src/parser.c | 6800 ++++++++++++++++++++++------------------ test/corpus/roles.txt | 108 + 6 files changed, 4308 insertions(+), 3000 deletions(-) create mode 100644 test/corpus/roles.txt diff --git a/grammar.js b/grammar.js index 2580a86..55ab3d1 100644 --- a/grammar.js +++ b/grammar.js @@ -25,7 +25,7 @@ module.exports = grammar({ rules: { // INFO: // gen_require inside macros - // highlit of `'. Match? + // highlight of `'. Match? // TODO: // interface macro @@ -58,8 +58,13 @@ module.exports = grammar({ $.type_transition_declaration, $.type_change_declaration, $.type_member_declaration, - // ... + // Role statements $.role_declaration, + $.attribute_role_declaration, + $.roleattribute_declaration, + //$.allow_declaration, + $.role_transition_declaration, + // ... $.rule_declaration, $.boolean_declaration, ), @@ -69,9 +74,6 @@ module.exports = grammar({ /* * Type statements */ - // TODO: add tests for type statements. See examples in the SELinux notebook - // Improve the highlights - type_declaration: ($) => seq( "type", @@ -148,17 +150,58 @@ module.exports = grammar({ ), /* - * ... + * Role statements */ role_declaration: ($) => seq( "role", - field("name", $.identifier), - "types", - field("type", $.identifier), + field("role_id", $.identifier), + optional(seq("types", field("type_id", $.type))), + ";", + ), + + attribute_role_declaration: ($) => + seq("attribute_role", field("attribute_id", $.identifier), ";"), + + roleattribute_declaration: ($) => + seq( + "roleattribute", + field("role_id", $.identifier), + field("attribute_id", $.identifier), + repeat(seq(",", field("attribute_id", $.identifier))), ";", ), + // INFO: Commented for now since it conflicts with the allow AV rule + //allow_declaration: ($) => + // seq( + // "allow", + // field("from_role_id", $.roles), + // field("to_role_id", $.roles), + // ";", + // ), + + // TODO: add more test-cases + role_transition_declaration: ($) => + seq( + "role_transition", + field("current_role_id", $.roles), + field("type_id", $.type), + optional(seq(":", field("class", $.classes))), + field("new_role_id", $.identifier), + ";", + ), + + /* + * ... + */ + + roles: ($) => + choice( + seq("{", repeat1(field("role", $.identifier)), "}"), + field("role", $.identifier), + ), + class: ($) => choice( seq("{", repeat1(field("class", $.classes)), "}"), diff --git a/queries/highlights.scm b/queries/highlights.scm index 75f401e..d98d85b 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -19,13 +19,15 @@ [ "alias" + "allow" "attribute" + "attribute_role" "bool" "expandattribute" - ; "dominance" "permissive" "role" - ; "roles" + "role_transition" + "roleattribute" "type" "type_change" "type_member" @@ -33,7 +35,6 @@ "typealias" "typeattribute" "types" - ; "user" ] @keyword "interface" @keyword.function diff --git a/src/grammar.json b/src/grammar.json index 52fbbf5..3f067e4 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -60,6 +60,18 @@ "type": "SYMBOL", "name": "role_declaration" }, + { + "type": "SYMBOL", + "name": "attribute_role_declaration" + }, + { + "type": "SYMBOL", + "name": "roleattribute_declaration" + }, + { + "type": "SYMBOL", + "name": "role_transition_declaration" + }, { "type": "SYMBOL", "name": "rule_declaration" @@ -477,7 +489,53 @@ }, { "type": "FIELD", - "name": "name", + "name": "role_id", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "types" + }, + { + "type": "FIELD", + "name": "type_id", + "content": { + "type": "SYMBOL", + "name": "type" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "attribute_role_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "attribute_role" + }, + { + "type": "FIELD", + "name": "attribute_id", "content": { "type": "SYMBOL", "name": "identifier" @@ -485,22 +543,158 @@ }, { "type": "STRING", - "value": "types" + "value": ";" + } + ] + }, + "roleattribute_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "roleattribute" + }, + { + "type": "FIELD", + "name": "role_id", + "content": { + "type": "SYMBOL", + "name": "identifier" + } }, { "type": "FIELD", - "name": "type", + "name": "attribute_id", "content": { "type": "SYMBOL", "name": "identifier" } }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "attribute_id", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + } + }, { "type": "STRING", "value": ";" } ] }, + "role_transition_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "role_transition" + }, + { + "type": "FIELD", + "name": "current_role_id", + "content": { + "type": "SYMBOL", + "name": "roles" + } + }, + { + "type": "FIELD", + "name": "type_id", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "class", + "content": { + "type": "SYMBOL", + "name": "classes" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "new_role_id", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "roles": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT1", + "content": { + "type": "FIELD", + "name": "role", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + { + "type": "FIELD", + "name": "role", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + }, "class": { "type": "CHOICE", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 99b82f0..558a337 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -89,6 +89,22 @@ } } }, + { + "type": "attribute_role_declaration", + "named": true, + "fields": { + "attribute_id": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, { "type": "boolean", "named": true, @@ -316,7 +332,7 @@ "type": "role_declaration", "named": true, "fields": { - "name": { + "role_id": { "multiple": false, "required": true, "types": [ @@ -326,9 +342,97 @@ } ] }, - "type": { + "type_id": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "role_transition_declaration", + "named": true, + "fields": { + "class": { + "multiple": false, + "required": false, + "types": [ + { + "type": "classes", + "named": true + } + ] + }, + "current_role_id": { + "multiple": false, + "required": true, + "types": [ + { + "type": "roles", + "named": true + } + ] + }, + "new_role_id": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type_id": { "multiple": false, "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "roleattribute_declaration", + "named": true, + "fields": { + "attribute_id": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "role_id": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "roles", + "named": true, + "fields": { + "role": { + "multiple": true, + "required": true, "types": [ { "type": "identifier", @@ -411,6 +515,10 @@ "type": "attribute_declaration", "named": true }, + { + "type": "attribute_role_declaration", + "named": true + }, { "type": "boolean_declaration", "named": true @@ -435,6 +543,14 @@ "type": "role_declaration", "named": true }, + { + "type": "role_transition_declaration", + "named": true + }, + { + "type": "roleattribute_declaration", + "named": true + }, { "type": "rule_declaration", "named": true @@ -792,6 +908,10 @@ "type": "attribute", "named": false }, + { + "type": "attribute_role", + "named": false + }, { "type": "auditallow", "named": false @@ -1120,6 +1240,14 @@ "type": "role", "named": false }, + { + "type": "role_transition", + "named": false + }, + { + "type": "roleattribute", + "named": false + }, { "type": "sctp_socket", "named": false diff --git a/src/parser.c b/src/parser.c index e997dec..f90c4a9 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 160 -#define LARGE_STATE_COUNT 11 -#define SYMBOL_COUNT 180 +#define STATE_COUNT 185 +#define LARGE_STATE_COUNT 12 +#define SYMBOL_COUNT 188 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 142 +#define TOKEN_COUNT 145 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 22 +#define FIELD_COUNT 26 #define MAX_ALIAS_SEQUENCE_LENGTH 10 -#define PRODUCTION_ID_COUNT 47 +#define PRODUCTION_ID_COUNT 55 enum ts_symbol_identifiers { sym_word = 1, @@ -33,168 +33,176 @@ enum ts_symbol_identifiers { anon_sym_type_member = 15, anon_sym_role = 16, anon_sym_types = 17, - anon_sym_LBRACE = 18, - anon_sym_RBRACE = 19, - anon_sym_bool = 20, - anon_sym_interface = 21, - anon_sym_LPAREN = 22, - anon_sym_BQUOTE = 23, - anon_sym_SQUOTE = 24, - anon_sym_RPAREN = 25, - sym_negative = 26, - sym_complement = 27, - anon_sym_true = 28, - anon_sym_false = 29, - anon_sym_DOLLAR = 30, - aux_sym_expansion_token1 = 31, - anon_sym_STAR = 32, - anon_sym_allow = 33, - anon_sym_auditallow = 34, - anon_sym_dontaudit = 35, - anon_sym_neverallow = 36, - anon_sym_anon_inode = 37, - anon_sym_appletalk_socket = 38, - anon_sym_association = 39, - anon_sym_binder = 40, - anon_sym_blk_file = 41, - anon_sym_bpf = 42, - anon_sym_cap2_userns = 43, - anon_sym_cap_userns = 44, - anon_sym_capability = 45, - anon_sym_capability2 = 46, - anon_sym_chr_file = 47, - anon_sym_context = 48, - anon_sym_db_blob = 49, - anon_sym_db_column = 50, - anon_sym_db_database = 51, - anon_sym_db_language = 52, - anon_sym_db_procedure = 53, - anon_sym_db_schema = 54, - anon_sym_db_sequence = 55, - anon_sym_db_table = 56, - anon_sym_db_tuple = 57, - anon_sym_db_view = 58, - anon_sym_dbus = 59, - anon_sym_dccp_socket = 60, - anon_sym_dir = 61, - anon_sym_fd = 62, - anon_sym_fifo_file = 63, - anon_sym_file = 64, - anon_sym_filesystem = 65, - anon_sym_icmp_socket = 66, - anon_sym_infiniband_endport = 67, - anon_sym_infiniband_pkey = 68, - anon_sym_io_uring = 69, - anon_sym_ipc = 70, - anon_sym_kernel_service = 71, - anon_sym_key = 72, - anon_sym_key_socket = 73, - anon_sym_lnk_file = 74, - anon_sym_lockdown = 75, - anon_sym_memprotect = 76, - anon_sym_msg = 77, - anon_sym_msgq = 78, - anon_sym_netif = 79, - anon_sym_netlink_audit_socket = 80, - anon_sym_netlink_connector_socket = 81, - anon_sym_netlink_crypto_socket = 82, - anon_sym_netlink_dnrt_socket = 83, - anon_sym_netlink_fib_lookup_socket = 84, - anon_sym_netlink_firewall_socket = 85, - anon_sym_netlink_generic_socket = 86, - anon_sym_netlink_ip6fw_socket = 87, - anon_sym_netlink_iscsi_socket = 88, - anon_sym_netlink_kobject_uevent_socket = 89, - anon_sym_netlink_netfilter_socket = 90, - anon_sym_netlink_nflog_socket = 91, - anon_sym_netlink_rdma_socket = 92, - anon_sym_netlink_route_socket = 93, - anon_sym_netlink_scsitransport_socket = 94, - anon_sym_netlink_selinux_socket = 95, - anon_sym_netlink_socket = 96, - anon_sym_netlink_tcpdiag_socket = 97, - anon_sym_netlink_xfrm_socket = 98, - anon_sym_node = 99, - anon_sym_nscd = 100, - anon_sym_packet = 101, - anon_sym_packet_socket = 102, - anon_sym_passwd = 103, - anon_sym_peer = 104, - anon_sym_perf_event = 105, - anon_sym_process = 106, - anon_sym_process2 = 107, - anon_sym_proxy = 108, - anon_sym_rawip_socket = 109, - anon_sym_sctp_socket = 110, - anon_sym_security = 111, - anon_sym_sem = 112, - anon_sym_service = 113, - anon_sym_shm = 114, - anon_sym_sock_file = 115, - anon_sym_socket = 116, - anon_sym_system = 117, - anon_sym_tcp_socket = 118, - anon_sym_tun_socket = 119, - anon_sym_udp_socket = 120, - anon_sym_unix_dgram_socket = 121, - anon_sym_unix_stream_socket = 122, - anon_sym_user_namespace = 123, - anon_sym_x_application_data = 124, - anon_sym_x_client = 125, - anon_sym_x_colormap = 126, - anon_sym_x_cursor = 127, - anon_sym_x_device = 128, - anon_sym_x_drawable = 129, - anon_sym_x_event = 130, - anon_sym_x_extension = 131, - anon_sym_x_font = 132, - anon_sym_x_gc = 133, - anon_sym_x_keyboard = 134, - anon_sym_x_pointer = 135, - anon_sym_x_property = 136, - anon_sym_x_resource = 137, - anon_sym_x_screen = 138, - anon_sym_x_selection = 139, - anon_sym_x_server = 140, - anon_sym_x_synthetic_event = 141, - sym_source_file = 142, - sym__definition = 143, - sym_type_declaration = 144, - sym_attribute_declaration = 145, - sym_expandattribute_declaration = 146, - sym_typeattribute_declaration = 147, - sym_typealias_declaration = 148, - sym_permissive_declaration = 149, - sym_type_transition_declaration = 150, - sym_type_change_declaration = 151, - sym_type_member_declaration = 152, - sym_role_declaration = 153, - sym_class = 154, - sym_type = 155, - sym_alias = 156, - sym_attribute = 157, - sym_permission = 158, - sym_rule_declaration = 159, - sym_boolean_declaration = 160, - sym_argument = 161, - sym_arguments = 162, - sym_macro_declaration = 163, - sym_macro_usage = 164, - sym_boolean = 165, - sym_expansion = 166, - sym_identifier = 167, - sym_permissions = 168, - sym_rule_name = 169, - sym_classes = 170, - aux_sym_source_file_repeat1 = 171, - aux_sym_type_declaration_repeat1 = 172, - aux_sym_class_repeat1 = 173, - aux_sym_type_repeat1 = 174, - aux_sym_alias_repeat1 = 175, - aux_sym_attribute_repeat1 = 176, - aux_sym_permission_repeat1 = 177, - aux_sym_argument_repeat1 = 178, - aux_sym_arguments_repeat1 = 179, + anon_sym_attribute_role = 18, + anon_sym_roleattribute = 19, + anon_sym_role_transition = 20, + anon_sym_LBRACE = 21, + anon_sym_RBRACE = 22, + anon_sym_bool = 23, + anon_sym_interface = 24, + anon_sym_LPAREN = 25, + anon_sym_BQUOTE = 26, + anon_sym_SQUOTE = 27, + anon_sym_RPAREN = 28, + sym_negative = 29, + sym_complement = 30, + anon_sym_true = 31, + anon_sym_false = 32, + anon_sym_DOLLAR = 33, + aux_sym_expansion_token1 = 34, + anon_sym_STAR = 35, + anon_sym_allow = 36, + anon_sym_auditallow = 37, + anon_sym_dontaudit = 38, + anon_sym_neverallow = 39, + anon_sym_anon_inode = 40, + anon_sym_appletalk_socket = 41, + anon_sym_association = 42, + anon_sym_binder = 43, + anon_sym_blk_file = 44, + anon_sym_bpf = 45, + anon_sym_cap2_userns = 46, + anon_sym_cap_userns = 47, + anon_sym_capability = 48, + anon_sym_capability2 = 49, + anon_sym_chr_file = 50, + anon_sym_context = 51, + anon_sym_db_blob = 52, + anon_sym_db_column = 53, + anon_sym_db_database = 54, + anon_sym_db_language = 55, + anon_sym_db_procedure = 56, + anon_sym_db_schema = 57, + anon_sym_db_sequence = 58, + anon_sym_db_table = 59, + anon_sym_db_tuple = 60, + anon_sym_db_view = 61, + anon_sym_dbus = 62, + anon_sym_dccp_socket = 63, + anon_sym_dir = 64, + anon_sym_fd = 65, + anon_sym_fifo_file = 66, + anon_sym_file = 67, + anon_sym_filesystem = 68, + anon_sym_icmp_socket = 69, + anon_sym_infiniband_endport = 70, + anon_sym_infiniband_pkey = 71, + anon_sym_io_uring = 72, + anon_sym_ipc = 73, + anon_sym_kernel_service = 74, + anon_sym_key = 75, + anon_sym_key_socket = 76, + anon_sym_lnk_file = 77, + anon_sym_lockdown = 78, + anon_sym_memprotect = 79, + anon_sym_msg = 80, + anon_sym_msgq = 81, + anon_sym_netif = 82, + anon_sym_netlink_audit_socket = 83, + anon_sym_netlink_connector_socket = 84, + anon_sym_netlink_crypto_socket = 85, + anon_sym_netlink_dnrt_socket = 86, + anon_sym_netlink_fib_lookup_socket = 87, + anon_sym_netlink_firewall_socket = 88, + anon_sym_netlink_generic_socket = 89, + anon_sym_netlink_ip6fw_socket = 90, + anon_sym_netlink_iscsi_socket = 91, + anon_sym_netlink_kobject_uevent_socket = 92, + anon_sym_netlink_netfilter_socket = 93, + anon_sym_netlink_nflog_socket = 94, + anon_sym_netlink_rdma_socket = 95, + anon_sym_netlink_route_socket = 96, + anon_sym_netlink_scsitransport_socket = 97, + anon_sym_netlink_selinux_socket = 98, + anon_sym_netlink_socket = 99, + anon_sym_netlink_tcpdiag_socket = 100, + anon_sym_netlink_xfrm_socket = 101, + anon_sym_node = 102, + anon_sym_nscd = 103, + anon_sym_packet = 104, + anon_sym_packet_socket = 105, + anon_sym_passwd = 106, + anon_sym_peer = 107, + anon_sym_perf_event = 108, + anon_sym_process = 109, + anon_sym_process2 = 110, + anon_sym_proxy = 111, + anon_sym_rawip_socket = 112, + anon_sym_sctp_socket = 113, + anon_sym_security = 114, + anon_sym_sem = 115, + anon_sym_service = 116, + anon_sym_shm = 117, + anon_sym_sock_file = 118, + anon_sym_socket = 119, + anon_sym_system = 120, + anon_sym_tcp_socket = 121, + anon_sym_tun_socket = 122, + anon_sym_udp_socket = 123, + anon_sym_unix_dgram_socket = 124, + anon_sym_unix_stream_socket = 125, + anon_sym_user_namespace = 126, + anon_sym_x_application_data = 127, + anon_sym_x_client = 128, + anon_sym_x_colormap = 129, + anon_sym_x_cursor = 130, + anon_sym_x_device = 131, + anon_sym_x_drawable = 132, + anon_sym_x_event = 133, + anon_sym_x_extension = 134, + anon_sym_x_font = 135, + anon_sym_x_gc = 136, + anon_sym_x_keyboard = 137, + anon_sym_x_pointer = 138, + anon_sym_x_property = 139, + anon_sym_x_resource = 140, + anon_sym_x_screen = 141, + anon_sym_x_selection = 142, + anon_sym_x_server = 143, + anon_sym_x_synthetic_event = 144, + sym_source_file = 145, + sym__definition = 146, + sym_type_declaration = 147, + sym_attribute_declaration = 148, + sym_expandattribute_declaration = 149, + sym_typeattribute_declaration = 150, + sym_typealias_declaration = 151, + sym_permissive_declaration = 152, + sym_type_transition_declaration = 153, + sym_type_change_declaration = 154, + sym_type_member_declaration = 155, + sym_role_declaration = 156, + sym_attribute_role_declaration = 157, + sym_roleattribute_declaration = 158, + sym_role_transition_declaration = 159, + sym_roles = 160, + sym_class = 161, + sym_type = 162, + sym_alias = 163, + sym_attribute = 164, + sym_permission = 165, + sym_rule_declaration = 166, + sym_boolean_declaration = 167, + sym_argument = 168, + sym_arguments = 169, + sym_macro_declaration = 170, + sym_macro_usage = 171, + sym_boolean = 172, + sym_expansion = 173, + sym_identifier = 174, + sym_permissions = 175, + sym_rule_name = 176, + sym_classes = 177, + aux_sym_source_file_repeat1 = 178, + aux_sym_type_declaration_repeat1 = 179, + aux_sym_roles_repeat1 = 180, + aux_sym_class_repeat1 = 181, + aux_sym_type_repeat1 = 182, + aux_sym_alias_repeat1 = 183, + aux_sym_attribute_repeat1 = 184, + aux_sym_permission_repeat1 = 185, + aux_sym_argument_repeat1 = 186, + aux_sym_arguments_repeat1 = 187, }; static const char * const ts_symbol_names[] = { @@ -216,6 +224,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_type_member] = "type_member", [anon_sym_role] = "role", [anon_sym_types] = "types", + [anon_sym_attribute_role] = "attribute_role", + [anon_sym_roleattribute] = "roleattribute", + [anon_sym_role_transition] = "role_transition", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_bool] = "bool", @@ -352,6 +363,10 @@ static const char * const ts_symbol_names[] = { [sym_type_change_declaration] = "type_change_declaration", [sym_type_member_declaration] = "type_member_declaration", [sym_role_declaration] = "role_declaration", + [sym_attribute_role_declaration] = "attribute_role_declaration", + [sym_roleattribute_declaration] = "roleattribute_declaration", + [sym_role_transition_declaration] = "role_transition_declaration", + [sym_roles] = "roles", [sym_class] = "class", [sym_type] = "type", [sym_alias] = "alias", @@ -371,6 +386,7 @@ static const char * const ts_symbol_names[] = { [sym_classes] = "classes", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_type_declaration_repeat1] = "type_declaration_repeat1", + [aux_sym_roles_repeat1] = "roles_repeat1", [aux_sym_class_repeat1] = "class_repeat1", [aux_sym_type_repeat1] = "type_repeat1", [aux_sym_alias_repeat1] = "alias_repeat1", @@ -399,6 +415,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_type_member] = anon_sym_type_member, [anon_sym_role] = anon_sym_role, [anon_sym_types] = anon_sym_types, + [anon_sym_attribute_role] = anon_sym_attribute_role, + [anon_sym_roleattribute] = anon_sym_roleattribute, + [anon_sym_role_transition] = anon_sym_role_transition, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_bool] = anon_sym_bool, @@ -535,6 +554,10 @@ static const TSSymbol ts_symbol_map[] = { [sym_type_change_declaration] = sym_type_change_declaration, [sym_type_member_declaration] = sym_type_member_declaration, [sym_role_declaration] = sym_role_declaration, + [sym_attribute_role_declaration] = sym_attribute_role_declaration, + [sym_roleattribute_declaration] = sym_roleattribute_declaration, + [sym_role_transition_declaration] = sym_role_transition_declaration, + [sym_roles] = sym_roles, [sym_class] = sym_class, [sym_type] = sym_type, [sym_alias] = sym_alias, @@ -554,6 +577,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_classes] = sym_classes, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_type_declaration_repeat1] = aux_sym_type_declaration_repeat1, + [aux_sym_roles_repeat1] = aux_sym_roles_repeat1, [aux_sym_class_repeat1] = aux_sym_class_repeat1, [aux_sym_type_repeat1] = aux_sym_type_repeat1, [aux_sym_alias_repeat1] = aux_sym_alias_repeat1, @@ -636,6 +660,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_attribute_role] = { + .visible = true, + .named = false, + }, + [anon_sym_roleattribute] = { + .visible = true, + .named = false, + }, + [anon_sym_role_transition] = { + .visible = true, + .named = false, + }, [anon_sym_LBRACE] = { .visible = true, .named = false, @@ -1180,6 +1216,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_attribute_role_declaration] = { + .visible = true, + .named = true, + }, + [sym_roleattribute_declaration] = { + .visible = true, + .named = true, + }, + [sym_role_transition_declaration] = { + .visible = true, + .named = true, + }, + [sym_roles] = { + .visible = true, + .named = true, + }, [sym_class] = { .visible = true, .named = true, @@ -1256,6 +1308,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_roles_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_class_repeat1] = { .visible = false, .named = false, @@ -1297,18 +1353,22 @@ enum ts_field_identifiers { field_body = 8, field_change_type = 9, field_class = 10, - field_default_type = 11, - field_expand_value = 12, - field_member_type = 13, - field_name = 14, - field_object_name = 15, - field_perm_set = 16, - field_rule_name = 17, - field_source_type = 18, - field_target_type = 19, - field_type = 20, - field_type_id = 21, - field_value = 22, + field_current_role_id = 11, + field_default_type = 12, + field_expand_value = 13, + field_member_type = 14, + field_name = 15, + field_new_role_id = 16, + field_object_name = 17, + field_perm_set = 18, + field_role = 19, + field_role_id = 20, + field_rule_name = 21, + field_source_type = 22, + field_target_type = 23, + field_type = 24, + field_type_id = 25, + field_value = 26, }; static const char * const ts_field_names[] = { @@ -1323,12 +1383,16 @@ static const char * const ts_field_names[] = { [field_body] = "body", [field_change_type] = "change_type", [field_class] = "class", + [field_current_role_id] = "current_role_id", [field_default_type] = "default_type", [field_expand_value] = "expand_value", [field_member_type] = "member_type", [field_name] = "name", + [field_new_role_id] = "new_role_id", [field_object_name] = "object_name", [field_perm_set] = "perm_set", + [field_role] = "role", + [field_role_id] = "role_id", [field_rule_name] = "rule_name", [field_source_type] = "source_type", [field_target_type] = "target_type", @@ -1347,43 +1411,51 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [7] = {.index = 6, .length = 1}, [8] = {.index = 7, .length = 1}, [9] = {.index = 8, .length = 1}, - [10] = {.index = 9, .length = 2}, - [11] = {.index = 11, .length = 2}, - [12] = {.index = 13, .length = 1}, - [13] = {.index = 14, .length = 2}, - [14] = {.index = 16, .length = 2}, - [15] = {.index = 18, .length = 2}, - [16] = {.index = 20, .length = 2}, - [17] = {.index = 22, .length = 2}, - [18] = {.index = 24, .length = 2}, - [19] = {.index = 26, .length = 2}, - [20] = {.index = 28, .length = 3}, - [21] = {.index = 31, .length = 2}, - [22] = {.index = 33, .length = 2}, - [23] = {.index = 35, .length = 1}, - [24] = {.index = 36, .length = 2}, - [25] = {.index = 38, .length = 1}, - [26] = {.index = 39, .length = 2}, - [27] = {.index = 41, .length = 1}, - [28] = {.index = 42, .length = 2}, - [29] = {.index = 44, .length = 3}, - [30] = {.index = 47, .length = 2}, - [31] = {.index = 49, .length = 1}, - [32] = {.index = 50, .length = 2}, + [10] = {.index = 9, .length = 1}, + [11] = {.index = 10, .length = 1}, + [12] = {.index = 11, .length = 2}, + [13] = {.index = 13, .length = 2}, + [14] = {.index = 15, .length = 1}, + [15] = {.index = 16, .length = 2}, + [16] = {.index = 18, .length = 2}, + [17] = {.index = 20, .length = 2}, + [18] = {.index = 22, .length = 2}, + [19] = {.index = 24, .length = 1}, + [20] = {.index = 25, .length = 2}, + [21] = {.index = 27, .length = 2}, + [22] = {.index = 29, .length = 2}, + [23] = {.index = 31, .length = 2}, + [24] = {.index = 33, .length = 2}, + [25] = {.index = 35, .length = 3}, + [26] = {.index = 38, .length = 2}, + [27] = {.index = 40, .length = 2}, + [28] = {.index = 42, .length = 1}, + [29] = {.index = 43, .length = 2}, + [30] = {.index = 45, .length = 3}, + [31] = {.index = 48, .length = 3}, + [32] = {.index = 51, .length = 1}, [33] = {.index = 52, .length = 2}, [34] = {.index = 54, .length = 1}, - [35] = {.index = 55, .length = 1}, - [36] = {.index = 56, .length = 2}, - [37] = {.index = 58, .length = 4}, - [38] = {.index = 62, .length = 4}, - [39] = {.index = 66, .length = 4}, - [40] = {.index = 70, .length = 1}, - [41] = {.index = 71, .length = 5}, - [42] = {.index = 76, .length = 5}, - [43] = {.index = 81, .length = 2}, - [44] = {.index = 83, .length = 2}, - [45] = {.index = 85, .length = 2}, - [46] = {.index = 87, .length = 2}, + [35] = {.index = 55, .length = 2}, + [36] = {.index = 57, .length = 3}, + [37] = {.index = 60, .length = 2}, + [38] = {.index = 62, .length = 1}, + [39] = {.index = 63, .length = 2}, + [40] = {.index = 65, .length = 2}, + [41] = {.index = 67, .length = 1}, + [42] = {.index = 68, .length = 1}, + [43] = {.index = 69, .length = 2}, + [44] = {.index = 71, .length = 4}, + [45] = {.index = 75, .length = 4}, + [46] = {.index = 79, .length = 4}, + [47] = {.index = 83, .length = 4}, + [48] = {.index = 87, .length = 1}, + [49] = {.index = 88, .length = 5}, + [50] = {.index = 93, .length = 5}, + [51] = {.index = 98, .length = 2}, + [52] = {.index = 100, .length = 2}, + [53] = {.index = 102, .length = 2}, + [54] = {.index = 104, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1392,134 +1464,159 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [1] = {field_type, 0}, [2] = - {field_type_id, 1}, + {field_role, 0}, [3] = - {field_attribute_id, 1}, + {field_type_id, 1}, [4] = - {field_type, 1}, + {field_attribute_id, 1}, [5] = - {field_name, 0}, + {field_type, 1}, [6] = - {field_argument, 0}, + {field_role_id, 1}, [7] = - {field_arg, 0}, + {field_name, 0}, [8] = - {field_alias, 0}, + {field_argument, 0}, [9] = + {field_arg, 0}, + [10] = + {field_alias, 0}, + [11] = {field_attribute_id, 2, .inherited = true}, {field_type_id, 1}, - [11] = + [13] = {field_attribute_id, 0, .inherited = true}, {field_attribute_id, 1, .inherited = true}, - [13] = + [15] = {field_attribute, 1, .inherited = true}, - [14] = + [16] = {field_attribute, 0, .inherited = true}, {field_attribute, 1, .inherited = true}, - [16] = + [18] = {field_attribute_id, 1}, {field_expand_value, 2}, - [18] = + [20] = {field_attribute_id, 2}, {field_type_id, 1}, - [20] = + [22] = + {field_attribute_id, 2}, + {field_role_id, 1}, + [24] = + {field_role, 1, .inherited = true}, + [25] = + {field_role, 0, .inherited = true}, + {field_role, 1, .inherited = true}, + [27] = {field_name, 1}, {field_value, 2}, - [22] = + [29] = {field_argument, 0}, {field_argument, 1, .inherited = true}, - [24] = + [31] = {field_arguments, 2}, {field_name, 0}, - [26] = + [33] = {field_alias_id, 3}, {field_type_id, 1}, - [28] = + [35] = {field_attribute_id, 2}, {field_attribute_id, 3, .inherited = true}, {field_type_id, 1}, - [31] = + [38] = {field_type, 1}, {field_type, 2, .inherited = true}, - [33] = + [40] = {field_type, 0, .inherited = true}, {field_type, 1, .inherited = true}, - [35] = + [42] = {field_class, 0}, - [36] = - {field_name, 1}, - {field_type, 3}, - [38] = + [43] = + {field_role_id, 1}, + {field_type_id, 3}, + [45] = + {field_attribute_id, 2}, + {field_attribute_id, 3, .inherited = true}, + {field_role_id, 1}, + [48] = + {field_current_role_id, 1}, + {field_new_role_id, 3}, + {field_type_id, 2}, + [51] = {field_argument, 1}, - [39] = + [52] = {field_argument, 0, .inherited = true}, {field_argument, 1, .inherited = true}, - [41] = + [54] = {field_alias, 1, .inherited = true}, - [42] = + [55] = {field_alias, 0, .inherited = true}, {field_alias, 1, .inherited = true}, - [44] = + [57] = {field_alias_id, 3}, {field_attribute_id, 4, .inherited = true}, {field_type_id, 1}, - [47] = + [60] = {field_type, 2}, {field_type, 3, .inherited = true}, - [49] = + [62] = {field_arg, 1}, - [50] = + [63] = {field_arg, 1}, {field_arg, 2, .inherited = true}, - [52] = + [65] = {field_arg, 0, .inherited = true}, {field_arg, 1, .inherited = true}, - [54] = + [67] = {field_perm_set, 0}, - [55] = + [68] = {field_class, 1, .inherited = true}, - [56] = + [69] = {field_class, 0, .inherited = true}, {field_class, 1, .inherited = true}, - [58] = + [71] = {field_class, 4}, {field_default_type, 5}, {field_source_type, 1}, {field_target_type, 2}, - [62] = + [75] = {field_change_type, 5}, {field_class, 4}, {field_source_type, 1}, {field_target_type, 2}, - [66] = + [79] = {field_class, 4}, {field_member_type, 5}, {field_source_type, 1}, {field_target_type, 2}, - [70] = + [83] = + {field_class, 4}, + {field_current_role_id, 1}, + {field_new_role_id, 5}, + {field_type_id, 2}, + [87] = {field_perm_set, 1}, - [71] = + [88] = {field_class, 4}, {field_perm_set, 5}, {field_rule_name, 0}, {field_source_type, 1}, {field_target_type, 2}, - [76] = + [93] = {field_class, 4}, {field_default_type, 5}, {field_object_name, 6}, {field_source_type, 1}, {field_target_type, 2}, - [81] = + [98] = {field_perm_set, 1}, {field_perm_set, 2, .inherited = true}, - [83] = + [100] = {field_perm_set, 0, .inherited = true}, {field_perm_set, 1, .inherited = true}, - [85] = + [102] = {field_body, 7}, {field_name, 3}, - [87] = + [104] = {field_perm_set, 2}, {field_perm_set, 3, .inherited = true}, }; @@ -1693,6 +1790,31 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [157] = 157, [158] = 158, [159] = 159, + [160] = 160, + [161] = 161, + [162] = 162, + [163] = 163, + [164] = 164, + [165] = 165, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 169, + [170] = 170, + [171] = 171, + [172] = 172, + [173] = 173, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 180, + [181] = 181, + [182] = 182, + [183] = 183, + [184] = 184, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2484,98 +2606,100 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { END_STATE(); case 194: ACCEPT_TOKEN(anon_sym_role); + if (lookahead == '_') ADVANCE(273); + if (lookahead == 'a') ADVANCE(274); END_STATE(); case 195: - if (lookahead == '_') ADVANCE(273); + if (lookahead == '_') ADVANCE(275); END_STATE(); case 196: - if (lookahead == 'r') ADVANCE(274); + if (lookahead == 'r') ADVANCE(276); END_STATE(); case 197: - if (lookahead == 'i') ADVANCE(275); + if (lookahead == 'i') ADVANCE(277); END_STATE(); case 198: - if (lookahead == '_') ADVANCE(276); - if (lookahead == 'e') ADVANCE(277); + if (lookahead == '_') ADVANCE(278); + if (lookahead == 'e') ADVANCE(279); END_STATE(); case 199: - if (lookahead == 'e') ADVANCE(278); + if (lookahead == 'e') ADVANCE(280); END_STATE(); case 200: - if (lookahead == 's') ADVANCE(279); + if (lookahead == 's') ADVANCE(281); END_STATE(); case 201: ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 202: - if (lookahead == 's') ADVANCE(280); + if (lookahead == 's') ADVANCE(282); END_STATE(); case 203: ACCEPT_TOKEN(anon_sym_type); - if (lookahead == '_') ADVANCE(281); - if (lookahead == 'a') ADVANCE(282); - if (lookahead == 's') ADVANCE(283); + if (lookahead == '_') ADVANCE(283); + if (lookahead == 'a') ADVANCE(284); + if (lookahead == 's') ADVANCE(285); END_STATE(); case 204: - if (lookahead == 's') ADVANCE(284); + if (lookahead == 's') ADVANCE(286); END_STATE(); case 205: - if (lookahead == '_') ADVANCE(285); + if (lookahead == '_') ADVANCE(287); END_STATE(); case 206: - if (lookahead == '_') ADVANCE(286); + if (lookahead == '_') ADVANCE(288); END_STATE(); case 207: - if (lookahead == 'p') ADVANCE(287); + if (lookahead == 'p') ADVANCE(289); END_STATE(); case 208: - if (lookahead == 'i') ADVANCE(288); + if (lookahead == 'i') ADVANCE(290); END_STATE(); case 209: - if (lookahead == 'l') ADVANCE(289); + if (lookahead == 'l') ADVANCE(291); END_STATE(); case 210: - if (lookahead == 'r') ADVANCE(290); + if (lookahead == 'r') ADVANCE(292); END_STATE(); case 211: - if (lookahead == 'v') ADVANCE(291); + if (lookahead == 'v') ADVANCE(293); END_STATE(); case 212: - if (lookahead == 'a') ADVANCE(292); + if (lookahead == 'a') ADVANCE(294); END_STATE(); case 213: - if (lookahead == 'e') ADVANCE(293); + if (lookahead == 'e') ADVANCE(295); END_STATE(); case 214: - if (lookahead == 't') ADVANCE(294); + if (lookahead == 't') ADVANCE(296); END_STATE(); case 215: - if (lookahead == 'n') ADVANCE(295); + if (lookahead == 'n') ADVANCE(297); END_STATE(); case 216: ACCEPT_TOKEN(anon_sym_x_gc); END_STATE(); case 217: - if (lookahead == 'y') ADVANCE(296); + if (lookahead == 'y') ADVANCE(298); END_STATE(); case 218: - if (lookahead == 'i') ADVANCE(297); + if (lookahead == 'i') ADVANCE(299); END_STATE(); case 219: - if (lookahead == 'o') ADVANCE(298); + if (lookahead == 'o') ADVANCE(300); END_STATE(); case 220: - if (lookahead == 's') ADVANCE(299); + if (lookahead == 's') ADVANCE(301); END_STATE(); case 221: - if (lookahead == 'r') ADVANCE(300); + if (lookahead == 'r') ADVANCE(302); END_STATE(); case 222: - if (lookahead == 'l') ADVANCE(301); - if (lookahead == 'r') ADVANCE(302); + if (lookahead == 'l') ADVANCE(303); + if (lookahead == 'r') ADVANCE(304); END_STATE(); case 223: - if (lookahead == 'n') ADVANCE(303); + if (lookahead == 'n') ADVANCE(305); END_STATE(); case 224: ACCEPT_TOKEN(anon_sym_alias); @@ -2584,2231 +2708,2307 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_allow); END_STATE(); case 226: - if (lookahead == 'i') ADVANCE(304); + if (lookahead == 'i') ADVANCE(306); END_STATE(); case 227: - if (lookahead == 't') ADVANCE(305); + if (lookahead == 't') ADVANCE(307); END_STATE(); case 228: - if (lookahead == 'i') ADVANCE(306); + if (lookahead == 'i') ADVANCE(308); END_STATE(); case 229: - if (lookahead == 'b') ADVANCE(307); + if (lookahead == 'b') ADVANCE(309); END_STATE(); case 230: - if (lookahead == 'a') ADVANCE(308); + if (lookahead == 'a') ADVANCE(310); END_STATE(); case 231: - if (lookahead == 'r') ADVANCE(309); + if (lookahead == 'r') ADVANCE(311); END_STATE(); case 232: - if (lookahead == 'i') ADVANCE(310); + if (lookahead == 'i') ADVANCE(312); END_STATE(); case 233: - if (lookahead == 'u') ADVANCE(311); + if (lookahead == 'u') ADVANCE(313); END_STATE(); case 234: - if (lookahead == 's') ADVANCE(312); + if (lookahead == 's') ADVANCE(314); END_STATE(); case 235: - if (lookahead == 'i') ADVANCE(313); + if (lookahead == 'i') ADVANCE(315); END_STATE(); case 236: - if (lookahead == 'i') ADVANCE(314); + if (lookahead == 'i') ADVANCE(316); END_STATE(); case 237: - if (lookahead == 'x') ADVANCE(315); + if (lookahead == 'x') ADVANCE(317); END_STATE(); case 238: - if (lookahead == 'o') ADVANCE(316); + if (lookahead == 'o') ADVANCE(318); END_STATE(); case 239: - if (lookahead == 'l') ADVANCE(317); + if (lookahead == 'l') ADVANCE(319); END_STATE(); case 240: - if (lookahead == 't') ADVANCE(318); + if (lookahead == 't') ADVANCE(320); END_STATE(); case 241: - if (lookahead == 'n') ADVANCE(319); + if (lookahead == 'n') ADVANCE(321); END_STATE(); case 242: - if (lookahead == 'o') ADVANCE(320); + if (lookahead == 'o') ADVANCE(322); END_STATE(); case 243: - if (lookahead == 'h') ADVANCE(321); + if (lookahead == 'h') ADVANCE(323); END_STATE(); case 244: - if (lookahead == 'q') ADVANCE(322); + if (lookahead == 'q') ADVANCE(324); END_STATE(); case 245: - if (lookahead == 'b') ADVANCE(323); + if (lookahead == 'b') ADVANCE(325); END_STATE(); case 246: - if (lookahead == 'p') ADVANCE(324); + if (lookahead == 'p') ADVANCE(326); END_STATE(); case 247: - if (lookahead == 'e') ADVANCE(325); + if (lookahead == 'e') ADVANCE(327); END_STATE(); case 248: - if (lookahead == 's') ADVANCE(326); + if (lookahead == 's') ADVANCE(328); END_STATE(); case 249: - if (lookahead == 'u') ADVANCE(327); + if (lookahead == 'u') ADVANCE(329); END_STATE(); case 250: - if (lookahead == 'd') ADVANCE(328); + if (lookahead == 'd') ADVANCE(330); END_STATE(); case 251: ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 252: - if (lookahead == 'f') ADVANCE(329); + if (lookahead == 'f') ADVANCE(331); END_STATE(); case 253: - if (lookahead == 'y') ADVANCE(330); + if (lookahead == 'y') ADVANCE(332); END_STATE(); case 254: - if (lookahead == 's') ADVANCE(331); + if (lookahead == 's') ADVANCE(333); END_STATE(); case 255: - if (lookahead == 'i') ADVANCE(332); + if (lookahead == 'i') ADVANCE(334); END_STATE(); case 256: - if (lookahead == 'f') ADVANCE(333); + if (lookahead == 'f') ADVANCE(335); END_STATE(); case 257: - if (lookahead == 'i') ADVANCE(334); + if (lookahead == 'i') ADVANCE(336); END_STATE(); case 258: - if (lookahead == 'l') ADVANCE(335); + if (lookahead == 'l') ADVANCE(337); END_STATE(); case 259: - if (lookahead == 'o') ADVANCE(336); + if (lookahead == 'o') ADVANCE(338); END_STATE(); case 260: - if (lookahead == 'i') ADVANCE(337); + if (lookahead == 'i') ADVANCE(339); END_STATE(); case 261: - if (lookahead == 'o') ADVANCE(338); + if (lookahead == 'o') ADVANCE(340); END_STATE(); case 262: - if (lookahead == 'o') ADVANCE(339); + if (lookahead == 'o') ADVANCE(341); END_STATE(); case 263: ACCEPT_TOKEN(anon_sym_netif); END_STATE(); case 264: - if (lookahead == 'n') ADVANCE(340); + if (lookahead == 'n') ADVANCE(342); END_STATE(); case 265: - if (lookahead == 'a') ADVANCE(341); + if (lookahead == 'a') ADVANCE(343); END_STATE(); case 266: - if (lookahead == 't') ADVANCE(342); + if (lookahead == 't') ADVANCE(344); END_STATE(); case 267: - if (lookahead == 'd') ADVANCE(343); + if (lookahead == 'd') ADVANCE(345); END_STATE(); case 268: - if (lookahead == 'e') ADVANCE(344); + if (lookahead == 'e') ADVANCE(346); END_STATE(); case 269: - if (lookahead == 's') ADVANCE(345); + if (lookahead == 's') ADVANCE(347); END_STATE(); case 270: - if (lookahead == 's') ADVANCE(346); + if (lookahead == 's') ADVANCE(348); END_STATE(); case 271: ACCEPT_TOKEN(anon_sym_proxy); END_STATE(); case 272: - if (lookahead == '_') ADVANCE(347); + if (lookahead == '_') ADVANCE(349); END_STATE(); case 273: - if (lookahead == 's') ADVANCE(348); + if (lookahead == 't') ADVANCE(350); END_STATE(); case 274: - if (lookahead == 'i') ADVANCE(349); + if (lookahead == 't') ADVANCE(351); END_STATE(); case 275: - if (lookahead == 'c') ADVANCE(350); + if (lookahead == 's') ADVANCE(352); END_STATE(); case 276: - if (lookahead == 'f') ADVANCE(351); + if (lookahead == 'i') ADVANCE(353); END_STATE(); case 277: - if (lookahead == 't') ADVANCE(352); + if (lookahead == 'c') ADVANCE(354); END_STATE(); case 278: - if (lookahead == 'm') ADVANCE(353); + if (lookahead == 'f') ADVANCE(355); END_STATE(); case 279: - if (lookahead == 'o') ADVANCE(354); + if (lookahead == 't') ADVANCE(356); END_STATE(); case 280: - if (lookahead == 'o') ADVANCE(355); + if (lookahead == 'm') ADVANCE(357); END_STATE(); case 281: - if (lookahead == 'c') ADVANCE(356); - if (lookahead == 'm') ADVANCE(357); - if (lookahead == 't') ADVANCE(358); + if (lookahead == 'o') ADVANCE(358); END_STATE(); case 282: - if (lookahead == 'l') ADVANCE(359); - if (lookahead == 't') ADVANCE(360); + if (lookahead == 'o') ADVANCE(359); END_STATE(); case 283: - ACCEPT_TOKEN(anon_sym_types); + if (lookahead == 'c') ADVANCE(360); + if (lookahead == 'm') ADVANCE(361); + if (lookahead == 't') ADVANCE(362); END_STATE(); case 284: - if (lookahead == 'o') ADVANCE(361); + if (lookahead == 'l') ADVANCE(363); + if (lookahead == 't') ADVANCE(364); END_STATE(); case 285: - if (lookahead == 'd') ADVANCE(362); - if (lookahead == 's') ADVANCE(363); + ACCEPT_TOKEN(anon_sym_types); END_STATE(); case 286: - if (lookahead == 'n') ADVANCE(364); + if (lookahead == 'o') ADVANCE(365); END_STATE(); case 287: - if (lookahead == 'l') ADVANCE(365); + if (lookahead == 'd') ADVANCE(366); + if (lookahead == 's') ADVANCE(367); END_STATE(); case 288: - if (lookahead == 'e') ADVANCE(366); + if (lookahead == 'n') ADVANCE(368); END_STATE(); case 289: - if (lookahead == 'o') ADVANCE(367); + if (lookahead == 'l') ADVANCE(369); END_STATE(); case 290: - if (lookahead == 's') ADVANCE(368); + if (lookahead == 'e') ADVANCE(370); END_STATE(); case 291: - if (lookahead == 'i') ADVANCE(369); + if (lookahead == 'o') ADVANCE(371); END_STATE(); case 292: - if (lookahead == 'w') ADVANCE(370); + if (lookahead == 's') ADVANCE(372); END_STATE(); case 293: - if (lookahead == 'n') ADVANCE(371); + if (lookahead == 'i') ADVANCE(373); END_STATE(); case 294: - if (lookahead == 'e') ADVANCE(372); + if (lookahead == 'w') ADVANCE(374); END_STATE(); case 295: - if (lookahead == 't') ADVANCE(373); + if (lookahead == 'n') ADVANCE(375); END_STATE(); case 296: - if (lookahead == 'b') ADVANCE(374); + if (lookahead == 'e') ADVANCE(376); END_STATE(); case 297: - if (lookahead == 'n') ADVANCE(375); + if (lookahead == 't') ADVANCE(377); END_STATE(); case 298: - if (lookahead == 'p') ADVANCE(376); + if (lookahead == 'b') ADVANCE(378); END_STATE(); case 299: - if (lookahead == 'o') ADVANCE(377); + if (lookahead == 'n') ADVANCE(379); END_STATE(); case 300: - if (lookahead == 'e') ADVANCE(378); + if (lookahead == 'p') ADVANCE(380); END_STATE(); case 301: - if (lookahead == 'e') ADVANCE(379); + if (lookahead == 'o') ADVANCE(381); END_STATE(); case 302: - if (lookahead == 'v') ADVANCE(380); + if (lookahead == 'e') ADVANCE(382); END_STATE(); case 303: - if (lookahead == 't') ADVANCE(381); + if (lookahead == 'e') ADVANCE(383); END_STATE(); case 304: - if (lookahead == 'n') ADVANCE(382); + if (lookahead == 'v') ADVANCE(384); END_STATE(); case 305: - if (lookahead == 'a') ADVANCE(383); + if (lookahead == 't') ADVANCE(385); END_STATE(); case 306: - if (lookahead == 'a') ADVANCE(384); + if (lookahead == 'n') ADVANCE(386); END_STATE(); case 307: - if (lookahead == 'u') ADVANCE(385); + if (lookahead == 'a') ADVANCE(387); END_STATE(); case 308: - if (lookahead == 'l') ADVANCE(386); + if (lookahead == 'a') ADVANCE(388); END_STATE(); case 309: - ACCEPT_TOKEN(anon_sym_binder); + if (lookahead == 'u') ADVANCE(389); END_STATE(); case 310: - if (lookahead == 'l') ADVANCE(387); + if (lookahead == 'l') ADVANCE(390); END_STATE(); case 311: - if (lookahead == 's') ADVANCE(388); + ACCEPT_TOKEN(anon_sym_binder); END_STATE(); case 312: - if (lookahead == 'e') ADVANCE(389); + if (lookahead == 'l') ADVANCE(391); END_STATE(); case 313: - if (lookahead == 'l') ADVANCE(390); + if (lookahead == 's') ADVANCE(392); END_STATE(); case 314: - if (lookahead == 'l') ADVANCE(391); + if (lookahead == 'e') ADVANCE(393); END_STATE(); case 315: - if (lookahead == 't') ADVANCE(392); + if (lookahead == 'l') ADVANCE(394); END_STATE(); case 316: - if (lookahead == 'b') ADVANCE(393); + if (lookahead == 'l') ADVANCE(395); END_STATE(); case 317: - if (lookahead == 'u') ADVANCE(394); + if (lookahead == 't') ADVANCE(396); END_STATE(); case 318: - if (lookahead == 'a') ADVANCE(395); + if (lookahead == 'b') ADVANCE(397); END_STATE(); case 319: - if (lookahead == 'g') ADVANCE(396); + if (lookahead == 'u') ADVANCE(398); END_STATE(); case 320: - if (lookahead == 'c') ADVANCE(397); + if (lookahead == 'a') ADVANCE(399); END_STATE(); case 321: - if (lookahead == 'e') ADVANCE(398); + if (lookahead == 'g') ADVANCE(400); END_STATE(); case 322: - if (lookahead == 'u') ADVANCE(399); + if (lookahead == 'c') ADVANCE(401); END_STATE(); case 323: - if (lookahead == 'l') ADVANCE(400); + if (lookahead == 'e') ADVANCE(402); END_STATE(); case 324: - if (lookahead == 'l') ADVANCE(401); + if (lookahead == 'u') ADVANCE(403); END_STATE(); case 325: - if (lookahead == 'w') ADVANCE(402); + if (lookahead == 'l') ADVANCE(404); END_STATE(); case 326: - if (lookahead == 'o') ADVANCE(403); + if (lookahead == 'l') ADVANCE(405); END_STATE(); case 327: - if (lookahead == 'd') ADVANCE(404); + if (lookahead == 'w') ADVANCE(406); END_STATE(); case 328: - if (lookahead == 'a') ADVANCE(405); + if (lookahead == 'o') ADVANCE(407); END_STATE(); case 329: - if (lookahead == 'i') ADVANCE(406); + if (lookahead == 'd') ADVANCE(408); END_STATE(); case 330: - if (lookahead == 's') ADVANCE(407); + if (lookahead == 'a') ADVANCE(409); END_STATE(); case 331: - if (lookahead == 'o') ADVANCE(408); + if (lookahead == 'i') ADVANCE(410); END_STATE(); case 332: - if (lookahead == 'b') ADVANCE(409); + if (lookahead == 's') ADVANCE(411); END_STATE(); case 333: - if (lookahead == 'a') ADVANCE(410); + if (lookahead == 'o') ADVANCE(412); END_STATE(); case 334: - if (lookahead == 'n') ADVANCE(411); + if (lookahead == 'b') ADVANCE(413); END_STATE(); case 335: - if (lookahead == '_') ADVANCE(412); + if (lookahead == 'a') ADVANCE(414); END_STATE(); case 336: - if (lookahead == 'c') ADVANCE(413); + if (lookahead == 'n') ADVANCE(415); END_STATE(); case 337: - if (lookahead == 'l') ADVANCE(414); + if (lookahead == '_') ADVANCE(416); END_STATE(); case 338: - if (lookahead == 'w') ADVANCE(415); + if (lookahead == 'c') ADVANCE(417); END_STATE(); case 339: - if (lookahead == 't') ADVANCE(416); + if (lookahead == 'l') ADVANCE(418); END_STATE(); case 340: - if (lookahead == 'k') ADVANCE(417); + if (lookahead == 'w') ADVANCE(419); END_STATE(); case 341: - if (lookahead == 'l') ADVANCE(418); + if (lookahead == 't') ADVANCE(420); END_STATE(); case 342: - ACCEPT_TOKEN(anon_sym_packet); - if (lookahead == '_') ADVANCE(419); + if (lookahead == 'k') ADVANCE(421); END_STATE(); case 343: - ACCEPT_TOKEN(anon_sym_passwd); + if (lookahead == 'l') ADVANCE(422); END_STATE(); case 344: - if (lookahead == 'v') ADVANCE(420); + ACCEPT_TOKEN(anon_sym_packet); + if (lookahead == '_') ADVANCE(423); END_STATE(); case 345: - if (lookahead == 's') ADVANCE(421); + ACCEPT_TOKEN(anon_sym_passwd); END_STATE(); case 346: - if (lookahead == 's') ADVANCE(422); + if (lookahead == 'v') ADVANCE(424); END_STATE(); case 347: - if (lookahead == 's') ADVANCE(423); + if (lookahead == 's') ADVANCE(425); END_STATE(); case 348: - if (lookahead == 'o') ADVANCE(424); + if (lookahead == 's') ADVANCE(426); END_STATE(); case 349: - if (lookahead == 't') ADVANCE(425); + if (lookahead == 's') ADVANCE(427); END_STATE(); case 350: - if (lookahead == 'e') ADVANCE(426); + if (lookahead == 'r') ADVANCE(428); END_STATE(); case 351: - if (lookahead == 'i') ADVANCE(427); + if (lookahead == 't') ADVANCE(429); END_STATE(); case 352: - ACCEPT_TOKEN(anon_sym_socket); + if (lookahead == 'o') ADVANCE(430); END_STATE(); case 353: - ACCEPT_TOKEN(anon_sym_system); + if (lookahead == 't') ADVANCE(431); END_STATE(); case 354: - if (lookahead == 'c') ADVANCE(428); + if (lookahead == 'e') ADVANCE(432); END_STATE(); case 355: - if (lookahead == 'c') ADVANCE(429); + if (lookahead == 'i') ADVANCE(433); END_STATE(); case 356: - if (lookahead == 'h') ADVANCE(430); + ACCEPT_TOKEN(anon_sym_socket); END_STATE(); case 357: - if (lookahead == 'e') ADVANCE(431); + ACCEPT_TOKEN(anon_sym_system); END_STATE(); case 358: - if (lookahead == 'r') ADVANCE(432); + if (lookahead == 'c') ADVANCE(434); END_STATE(); case 359: - if (lookahead == 'i') ADVANCE(433); + if (lookahead == 'c') ADVANCE(435); END_STATE(); case 360: - if (lookahead == 't') ADVANCE(434); + if (lookahead == 'h') ADVANCE(436); END_STATE(); case 361: - if (lookahead == 'c') ADVANCE(435); + if (lookahead == 'e') ADVANCE(437); END_STATE(); case 362: - if (lookahead == 'g') ADVANCE(436); + if (lookahead == 'r') ADVANCE(438); END_STATE(); case 363: - if (lookahead == 't') ADVANCE(437); + if (lookahead == 'i') ADVANCE(439); END_STATE(); case 364: - if (lookahead == 'a') ADVANCE(438); + if (lookahead == 't') ADVANCE(440); END_STATE(); case 365: - if (lookahead == 'i') ADVANCE(439); + if (lookahead == 'c') ADVANCE(441); END_STATE(); case 366: - if (lookahead == 'n') ADVANCE(440); + if (lookahead == 'g') ADVANCE(442); END_STATE(); case 367: - if (lookahead == 'r') ADVANCE(441); + if (lookahead == 't') ADVANCE(443); END_STATE(); case 368: - if (lookahead == 'o') ADVANCE(442); + if (lookahead == 'a') ADVANCE(444); END_STATE(); case 369: - if (lookahead == 'c') ADVANCE(443); + if (lookahead == 'i') ADVANCE(445); END_STATE(); case 370: - if (lookahead == 'a') ADVANCE(444); + if (lookahead == 'n') ADVANCE(446); END_STATE(); case 371: - if (lookahead == 't') ADVANCE(445); + if (lookahead == 'r') ADVANCE(447); END_STATE(); case 372: - if (lookahead == 'n') ADVANCE(446); + if (lookahead == 'o') ADVANCE(448); END_STATE(); case 373: - ACCEPT_TOKEN(anon_sym_x_font); + if (lookahead == 'c') ADVANCE(449); END_STATE(); case 374: - if (lookahead == 'o') ADVANCE(447); + if (lookahead == 'a') ADVANCE(450); END_STATE(); case 375: - if (lookahead == 't') ADVANCE(448); + if (lookahead == 't') ADVANCE(451); END_STATE(); case 376: - if (lookahead == 'e') ADVANCE(449); + if (lookahead == 'n') ADVANCE(452); END_STATE(); case 377: - if (lookahead == 'u') ADVANCE(450); + ACCEPT_TOKEN(anon_sym_x_font); END_STATE(); case 378: - if (lookahead == 'e') ADVANCE(451); + if (lookahead == 'o') ADVANCE(453); END_STATE(); case 379: - if (lookahead == 'c') ADVANCE(452); + if (lookahead == 't') ADVANCE(454); END_STATE(); case 380: - if (lookahead == 'e') ADVANCE(453); + if (lookahead == 'e') ADVANCE(455); END_STATE(); case 381: - if (lookahead == 'h') ADVANCE(454); + if (lookahead == 'u') ADVANCE(456); END_STATE(); case 382: - if (lookahead == 'o') ADVANCE(455); + if (lookahead == 'e') ADVANCE(457); END_STATE(); case 383: - if (lookahead == 'l') ADVANCE(456); + if (lookahead == 'c') ADVANCE(458); END_STATE(); case 384: - if (lookahead == 't') ADVANCE(457); + if (lookahead == 'e') ADVANCE(459); END_STATE(); case 385: - if (lookahead == 't') ADVANCE(458); + if (lookahead == 'h') ADVANCE(460); END_STATE(); case 386: - if (lookahead == 'l') ADVANCE(459); + if (lookahead == 'o') ADVANCE(461); END_STATE(); case 387: - if (lookahead == 'e') ADVANCE(460); + if (lookahead == 'l') ADVANCE(462); END_STATE(); case 388: - if (lookahead == 'e') ADVANCE(461); + if (lookahead == 't') ADVANCE(463); END_STATE(); case 389: - if (lookahead == 'r') ADVANCE(462); + if (lookahead == 't') ADVANCE(464); END_STATE(); case 390: - if (lookahead == 'i') ADVANCE(463); + if (lookahead == 'l') ADVANCE(465); END_STATE(); case 391: - if (lookahead == 'e') ADVANCE(464); + if (lookahead == 'e') ADVANCE(466); END_STATE(); case 392: - ACCEPT_TOKEN(anon_sym_context); + if (lookahead == 'e') ADVANCE(467); END_STATE(); case 393: - ACCEPT_TOKEN(anon_sym_db_blob); + if (lookahead == 'r') ADVANCE(468); END_STATE(); case 394: - if (lookahead == 'm') ADVANCE(465); + if (lookahead == 'i') ADVANCE(469); END_STATE(); case 395: - if (lookahead == 'b') ADVANCE(466); + if (lookahead == 'e') ADVANCE(470); END_STATE(); case 396: - if (lookahead == 'u') ADVANCE(467); + ACCEPT_TOKEN(anon_sym_context); END_STATE(); case 397: - if (lookahead == 'e') ADVANCE(468); + ACCEPT_TOKEN(anon_sym_db_blob); END_STATE(); case 398: - if (lookahead == 'm') ADVANCE(469); + if (lookahead == 'm') ADVANCE(471); END_STATE(); case 399: - if (lookahead == 'e') ADVANCE(470); + if (lookahead == 'b') ADVANCE(472); END_STATE(); case 400: - if (lookahead == 'e') ADVANCE(471); + if (lookahead == 'u') ADVANCE(473); END_STATE(); case 401: - if (lookahead == 'e') ADVANCE(472); + if (lookahead == 'e') ADVANCE(474); END_STATE(); case 402: - ACCEPT_TOKEN(anon_sym_db_view); + if (lookahead == 'm') ADVANCE(475); END_STATE(); case 403: - if (lookahead == 'c') ADVANCE(473); + if (lookahead == 'e') ADVANCE(476); END_STATE(); case 404: - if (lookahead == 'i') ADVANCE(474); + if (lookahead == 'e') ADVANCE(477); END_STATE(); case 405: - if (lookahead == 't') ADVANCE(475); + if (lookahead == 'e') ADVANCE(478); END_STATE(); case 406: - if (lookahead == 'l') ADVANCE(476); + ACCEPT_TOKEN(anon_sym_db_view); END_STATE(); case 407: - if (lookahead == 't') ADVANCE(477); + if (lookahead == 'c') ADVANCE(479); END_STATE(); case 408: - if (lookahead == 'c') ADVANCE(478); + if (lookahead == 'i') ADVANCE(480); END_STATE(); case 409: - if (lookahead == 'a') ADVANCE(479); + if (lookahead == 't') ADVANCE(481); END_STATE(); case 410: - if (lookahead == 'c') ADVANCE(480); + if (lookahead == 'l') ADVANCE(482); END_STATE(); case 411: - if (lookahead == 'g') ADVANCE(481); + if (lookahead == 't') ADVANCE(483); END_STATE(); case 412: - if (lookahead == 's') ADVANCE(482); + if (lookahead == 'c') ADVANCE(484); END_STATE(); case 413: - if (lookahead == 'k') ADVANCE(483); + if (lookahead == 'a') ADVANCE(485); END_STATE(); case 414: - if (lookahead == 'e') ADVANCE(484); + if (lookahead == 'c') ADVANCE(486); END_STATE(); case 415: - if (lookahead == 'n') ADVANCE(485); + if (lookahead == 'g') ADVANCE(487); END_STATE(); case 416: - if (lookahead == 'e') ADVANCE(486); + if (lookahead == 's') ADVANCE(488); END_STATE(); case 417: - if (lookahead == '_') ADVANCE(487); + if (lookahead == 'k') ADVANCE(489); END_STATE(); case 418: - if (lookahead == 'l') ADVANCE(488); + if (lookahead == 'e') ADVANCE(490); END_STATE(); case 419: - if (lookahead == 's') ADVANCE(489); + if (lookahead == 'n') ADVANCE(491); END_STATE(); case 420: - if (lookahead == 'e') ADVANCE(490); + if (lookahead == 'e') ADVANCE(492); END_STATE(); case 421: - if (lookahead == 'i') ADVANCE(491); + if (lookahead == '_') ADVANCE(493); END_STATE(); case 422: - ACCEPT_TOKEN(anon_sym_process); - if (lookahead == '2') ADVANCE(492); + if (lookahead == 'l') ADVANCE(494); END_STATE(); case 423: - if (lookahead == 'o') ADVANCE(493); + if (lookahead == 's') ADVANCE(495); END_STATE(); case 424: - if (lookahead == 'c') ADVANCE(494); + if (lookahead == 'e') ADVANCE(496); END_STATE(); case 425: - if (lookahead == 'y') ADVANCE(495); + if (lookahead == 'i') ADVANCE(497); END_STATE(); case 426: - ACCEPT_TOKEN(anon_sym_service); + ACCEPT_TOKEN(anon_sym_process); + if (lookahead == '2') ADVANCE(498); END_STATE(); case 427: - if (lookahead == 'l') ADVANCE(496); + if (lookahead == 'o') ADVANCE(499); END_STATE(); case 428: - if (lookahead == 'k') ADVANCE(497); + if (lookahead == 'a') ADVANCE(500); END_STATE(); case 429: - if (lookahead == 'k') ADVANCE(498); + if (lookahead == 'r') ADVANCE(501); END_STATE(); case 430: - if (lookahead == 'a') ADVANCE(499); + if (lookahead == 'c') ADVANCE(502); END_STATE(); case 431: - if (lookahead == 'm') ADVANCE(500); + if (lookahead == 'y') ADVANCE(503); END_STATE(); case 432: - if (lookahead == 'a') ADVANCE(501); + ACCEPT_TOKEN(anon_sym_service); END_STATE(); case 433: - if (lookahead == 'a') ADVANCE(502); + if (lookahead == 'l') ADVANCE(504); END_STATE(); case 434: - if (lookahead == 'r') ADVANCE(503); + if (lookahead == 'k') ADVANCE(505); END_STATE(); case 435: - if (lookahead == 'k') ADVANCE(504); + if (lookahead == 'k') ADVANCE(506); END_STATE(); case 436: - if (lookahead == 'r') ADVANCE(505); + if (lookahead == 'a') ADVANCE(507); END_STATE(); case 437: - if (lookahead == 'r') ADVANCE(506); + if (lookahead == 'm') ADVANCE(508); END_STATE(); case 438: - if (lookahead == 'm') ADVANCE(507); + if (lookahead == 'a') ADVANCE(509); END_STATE(); case 439: - if (lookahead == 'c') ADVANCE(508); + if (lookahead == 'a') ADVANCE(510); END_STATE(); case 440: - if (lookahead == 't') ADVANCE(509); + if (lookahead == 'r') ADVANCE(511); END_STATE(); case 441: - if (lookahead == 'm') ADVANCE(510); + if (lookahead == 'k') ADVANCE(512); END_STATE(); case 442: - if (lookahead == 'r') ADVANCE(511); + if (lookahead == 'r') ADVANCE(513); END_STATE(); case 443: - if (lookahead == 'e') ADVANCE(512); + if (lookahead == 'r') ADVANCE(514); END_STATE(); case 444: - if (lookahead == 'b') ADVANCE(513); + if (lookahead == 'm') ADVANCE(515); END_STATE(); case 445: - ACCEPT_TOKEN(anon_sym_x_event); + if (lookahead == 'c') ADVANCE(516); END_STATE(); case 446: - if (lookahead == 's') ADVANCE(514); + if (lookahead == 't') ADVANCE(517); END_STATE(); case 447: - if (lookahead == 'a') ADVANCE(515); + if (lookahead == 'm') ADVANCE(518); END_STATE(); case 448: - if (lookahead == 'e') ADVANCE(516); + if (lookahead == 'r') ADVANCE(519); END_STATE(); case 449: - if (lookahead == 'r') ADVANCE(517); + if (lookahead == 'e') ADVANCE(520); END_STATE(); case 450: - if (lookahead == 'r') ADVANCE(518); + if (lookahead == 'b') ADVANCE(521); END_STATE(); case 451: - if (lookahead == 'n') ADVANCE(519); + ACCEPT_TOKEN(anon_sym_x_event); END_STATE(); case 452: - if (lookahead == 't') ADVANCE(520); + if (lookahead == 's') ADVANCE(522); END_STATE(); case 453: - if (lookahead == 'r') ADVANCE(521); + if (lookahead == 'a') ADVANCE(523); END_STATE(); case 454: - if (lookahead == 'e') ADVANCE(522); + if (lookahead == 'e') ADVANCE(524); END_STATE(); case 455: - if (lookahead == 'd') ADVANCE(523); + if (lookahead == 'r') ADVANCE(525); END_STATE(); case 456: - if (lookahead == 'k') ADVANCE(524); + if (lookahead == 'r') ADVANCE(526); END_STATE(); case 457: - if (lookahead == 'i') ADVANCE(525); + if (lookahead == 'n') ADVANCE(527); END_STATE(); case 458: - if (lookahead == 'e') ADVANCE(526); + if (lookahead == 't') ADVANCE(528); END_STATE(); case 459: - if (lookahead == 'o') ADVANCE(527); + if (lookahead == 'r') ADVANCE(529); END_STATE(); case 460: - ACCEPT_TOKEN(anon_sym_blk_file); + if (lookahead == 'e') ADVANCE(530); END_STATE(); case 461: - if (lookahead == 'r') ADVANCE(528); + if (lookahead == 'd') ADVANCE(531); END_STATE(); case 462: - if (lookahead == 'n') ADVANCE(529); + if (lookahead == 'k') ADVANCE(532); END_STATE(); case 463: - if (lookahead == 't') ADVANCE(530); + if (lookahead == 'i') ADVANCE(533); END_STATE(); case 464: - ACCEPT_TOKEN(anon_sym_chr_file); + if (lookahead == 'e') ADVANCE(534); END_STATE(); case 465: - if (lookahead == 'n') ADVANCE(531); + if (lookahead == 'o') ADVANCE(535); END_STATE(); case 466: - if (lookahead == 'a') ADVANCE(532); + ACCEPT_TOKEN(anon_sym_blk_file); END_STATE(); case 467: - if (lookahead == 'a') ADVANCE(533); + if (lookahead == 'r') ADVANCE(536); END_STATE(); case 468: - if (lookahead == 'd') ADVANCE(534); + if (lookahead == 'n') ADVANCE(537); END_STATE(); case 469: - if (lookahead == 'a') ADVANCE(535); + if (lookahead == 't') ADVANCE(538); END_STATE(); case 470: - if (lookahead == 'n') ADVANCE(536); + ACCEPT_TOKEN(anon_sym_chr_file); END_STATE(); case 471: - ACCEPT_TOKEN(anon_sym_db_table); + if (lookahead == 'n') ADVANCE(539); END_STATE(); case 472: - ACCEPT_TOKEN(anon_sym_db_tuple); + if (lookahead == 'a') ADVANCE(540); END_STATE(); case 473: - if (lookahead == 'k') ADVANCE(537); + if (lookahead == 'a') ADVANCE(541); END_STATE(); case 474: - if (lookahead == 't') ADVANCE(538); + if (lookahead == 'd') ADVANCE(542); END_STATE(); case 475: - if (lookahead == 't') ADVANCE(539); + if (lookahead == 'a') ADVANCE(543); END_STATE(); case 476: - if (lookahead == 'e') ADVANCE(540); + if (lookahead == 'n') ADVANCE(544); END_STATE(); case 477: - if (lookahead == 'e') ADVANCE(541); + ACCEPT_TOKEN(anon_sym_db_table); END_STATE(); case 478: - if (lookahead == 'k') ADVANCE(542); + ACCEPT_TOKEN(anon_sym_db_tuple); END_STATE(); case 479: - if (lookahead == 'n') ADVANCE(543); + if (lookahead == 'k') ADVANCE(545); END_STATE(); case 480: - if (lookahead == 'e') ADVANCE(544); + if (lookahead == 't') ADVANCE(546); END_STATE(); case 481: - ACCEPT_TOKEN(anon_sym_io_uring); + if (lookahead == 't') ADVANCE(547); END_STATE(); case 482: - if (lookahead == 'e') ADVANCE(545); + if (lookahead == 'e') ADVANCE(548); END_STATE(); case 483: - if (lookahead == 'e') ADVANCE(546); + if (lookahead == 'e') ADVANCE(549); END_STATE(); case 484: - ACCEPT_TOKEN(anon_sym_lnk_file); + if (lookahead == 'k') ADVANCE(550); END_STATE(); case 485: - ACCEPT_TOKEN(anon_sym_lockdown); + if (lookahead == 'n') ADVANCE(551); END_STATE(); case 486: - if (lookahead == 'c') ADVANCE(547); + if (lookahead == 'e') ADVANCE(552); END_STATE(); case 487: - if (lookahead == 'a') ADVANCE(548); - if (lookahead == 'c') ADVANCE(549); - if (lookahead == 'd') ADVANCE(550); - if (lookahead == 'f') ADVANCE(551); - if (lookahead == 'g') ADVANCE(552); - if (lookahead == 'i') ADVANCE(553); - if (lookahead == 'k') ADVANCE(554); - if (lookahead == 'n') ADVANCE(555); - if (lookahead == 'r') ADVANCE(556); - if (lookahead == 's') ADVANCE(557); - if (lookahead == 't') ADVANCE(558); - if (lookahead == 'x') ADVANCE(559); + ACCEPT_TOKEN(anon_sym_io_uring); END_STATE(); case 488: - if (lookahead == 'o') ADVANCE(560); + if (lookahead == 'e') ADVANCE(553); END_STATE(); case 489: - if (lookahead == 'o') ADVANCE(561); + if (lookahead == 'e') ADVANCE(554); END_STATE(); case 490: - if (lookahead == 'n') ADVANCE(562); + ACCEPT_TOKEN(anon_sym_lnk_file); END_STATE(); case 491: - if (lookahead == 'v') ADVANCE(563); + ACCEPT_TOKEN(anon_sym_lockdown); END_STATE(); case 492: - ACCEPT_TOKEN(anon_sym_process2); + if (lookahead == 'c') ADVANCE(555); END_STATE(); case 493: - if (lookahead == 'c') ADVANCE(564); + if (lookahead == 'a') ADVANCE(556); + if (lookahead == 'c') ADVANCE(557); + if (lookahead == 'd') ADVANCE(558); + if (lookahead == 'f') ADVANCE(559); + if (lookahead == 'g') ADVANCE(560); + if (lookahead == 'i') ADVANCE(561); + if (lookahead == 'k') ADVANCE(562); + if (lookahead == 'n') ADVANCE(563); + if (lookahead == 'r') ADVANCE(564); + if (lookahead == 's') ADVANCE(565); + if (lookahead == 't') ADVANCE(566); + if (lookahead == 'x') ADVANCE(567); END_STATE(); case 494: - if (lookahead == 'k') ADVANCE(565); + if (lookahead == 'o') ADVANCE(568); END_STATE(); case 495: - ACCEPT_TOKEN(anon_sym_security); + if (lookahead == 'o') ADVANCE(569); END_STATE(); case 496: - if (lookahead == 'e') ADVANCE(566); + if (lookahead == 'n') ADVANCE(570); END_STATE(); case 497: - if (lookahead == 'e') ADVANCE(567); + if (lookahead == 'v') ADVANCE(571); END_STATE(); case 498: - if (lookahead == 'e') ADVANCE(568); + ACCEPT_TOKEN(anon_sym_process2); END_STATE(); case 499: - if (lookahead == 'n') ADVANCE(569); + if (lookahead == 'c') ADVANCE(572); END_STATE(); case 500: - if (lookahead == 'b') ADVANCE(570); + if (lookahead == 'n') ADVANCE(573); END_STATE(); case 501: - if (lookahead == 'n') ADVANCE(571); + if (lookahead == 'i') ADVANCE(574); END_STATE(); case 502: - if (lookahead == 's') ADVANCE(572); + if (lookahead == 'k') ADVANCE(575); END_STATE(); case 503: - if (lookahead == 'i') ADVANCE(573); + ACCEPT_TOKEN(anon_sym_security); END_STATE(); case 504: - if (lookahead == 'e') ADVANCE(574); + if (lookahead == 'e') ADVANCE(576); END_STATE(); case 505: - if (lookahead == 'a') ADVANCE(575); + if (lookahead == 'e') ADVANCE(577); END_STATE(); case 506: - if (lookahead == 'e') ADVANCE(576); + if (lookahead == 'e') ADVANCE(578); END_STATE(); case 507: - if (lookahead == 'e') ADVANCE(577); + if (lookahead == 'n') ADVANCE(579); END_STATE(); case 508: - if (lookahead == 'a') ADVANCE(578); + if (lookahead == 'b') ADVANCE(580); END_STATE(); case 509: - ACCEPT_TOKEN(anon_sym_x_client); + if (lookahead == 'n') ADVANCE(581); END_STATE(); case 510: - if (lookahead == 'a') ADVANCE(579); + if (lookahead == 's') ADVANCE(582); END_STATE(); case 511: - ACCEPT_TOKEN(anon_sym_x_cursor); + if (lookahead == 'i') ADVANCE(583); END_STATE(); case 512: - ACCEPT_TOKEN(anon_sym_x_device); + if (lookahead == 'e') ADVANCE(584); END_STATE(); case 513: - if (lookahead == 'l') ADVANCE(580); + if (lookahead == 'a') ADVANCE(585); END_STATE(); case 514: - if (lookahead == 'i') ADVANCE(581); + if (lookahead == 'e') ADVANCE(586); END_STATE(); case 515: - if (lookahead == 'r') ADVANCE(582); + if (lookahead == 'e') ADVANCE(587); END_STATE(); case 516: - if (lookahead == 'r') ADVANCE(583); + if (lookahead == 'a') ADVANCE(588); END_STATE(); case 517: - if (lookahead == 't') ADVANCE(584); + ACCEPT_TOKEN(anon_sym_x_client); END_STATE(); case 518: - if (lookahead == 'c') ADVANCE(585); + if (lookahead == 'a') ADVANCE(589); END_STATE(); case 519: - ACCEPT_TOKEN(anon_sym_x_screen); + ACCEPT_TOKEN(anon_sym_x_cursor); END_STATE(); case 520: - if (lookahead == 'i') ADVANCE(586); + ACCEPT_TOKEN(anon_sym_x_device); END_STATE(); case 521: - ACCEPT_TOKEN(anon_sym_x_server); + if (lookahead == 'l') ADVANCE(590); END_STATE(); case 522: - if (lookahead == 't') ADVANCE(587); + if (lookahead == 'i') ADVANCE(591); END_STATE(); case 523: - if (lookahead == 'e') ADVANCE(588); + if (lookahead == 'r') ADVANCE(592); END_STATE(); case 524: - if (lookahead == '_') ADVANCE(589); + if (lookahead == 'r') ADVANCE(593); END_STATE(); case 525: - if (lookahead == 'o') ADVANCE(590); + if (lookahead == 't') ADVANCE(594); END_STATE(); case 526: - ACCEPT_TOKEN(anon_sym_attribute); + if (lookahead == 'c') ADVANCE(595); END_STATE(); case 527: - if (lookahead == 'w') ADVANCE(591); + ACCEPT_TOKEN(anon_sym_x_screen); END_STATE(); case 528: - if (lookahead == 'n') ADVANCE(592); + if (lookahead == 'i') ADVANCE(596); END_STATE(); case 529: - if (lookahead == 's') ADVANCE(593); + ACCEPT_TOKEN(anon_sym_x_server); END_STATE(); case 530: - if (lookahead == 'y') ADVANCE(594); + if (lookahead == 't') ADVANCE(597); END_STATE(); case 531: - ACCEPT_TOKEN(anon_sym_db_column); + if (lookahead == 'e') ADVANCE(598); END_STATE(); case 532: - if (lookahead == 's') ADVANCE(595); + if (lookahead == '_') ADVANCE(599); END_STATE(); case 533: - if (lookahead == 'g') ADVANCE(596); + if (lookahead == 'o') ADVANCE(600); END_STATE(); case 534: - if (lookahead == 'u') ADVANCE(597); + ACCEPT_TOKEN(anon_sym_attribute); + if (lookahead == '_') ADVANCE(601); END_STATE(); case 535: - ACCEPT_TOKEN(anon_sym_db_schema); + if (lookahead == 'w') ADVANCE(602); END_STATE(); case 536: - if (lookahead == 'c') ADVANCE(598); + if (lookahead == 'n') ADVANCE(603); END_STATE(); case 537: - if (lookahead == 'e') ADVANCE(599); + if (lookahead == 's') ADVANCE(604); END_STATE(); case 538: - ACCEPT_TOKEN(anon_sym_dontaudit); + if (lookahead == 'y') ADVANCE(605); END_STATE(); case 539: - if (lookahead == 'r') ADVANCE(600); + ACCEPT_TOKEN(anon_sym_db_column); END_STATE(); case 540: - ACCEPT_TOKEN(anon_sym_fifo_file); + if (lookahead == 's') ADVANCE(606); END_STATE(); case 541: - if (lookahead == 'm') ADVANCE(601); + if (lookahead == 'g') ADVANCE(607); END_STATE(); case 542: - if (lookahead == 'e') ADVANCE(602); + if (lookahead == 'u') ADVANCE(608); END_STATE(); case 543: - if (lookahead == 'd') ADVANCE(603); + ACCEPT_TOKEN(anon_sym_db_schema); END_STATE(); case 544: - ACCEPT_TOKEN(anon_sym_interface); + if (lookahead == 'c') ADVANCE(609); END_STATE(); case 545: - if (lookahead == 'r') ADVANCE(604); + if (lookahead == 'e') ADVANCE(610); END_STATE(); case 546: - if (lookahead == 't') ADVANCE(605); + ACCEPT_TOKEN(anon_sym_dontaudit); END_STATE(); case 547: - if (lookahead == 't') ADVANCE(606); + if (lookahead == 'r') ADVANCE(611); END_STATE(); case 548: - if (lookahead == 'u') ADVANCE(607); + ACCEPT_TOKEN(anon_sym_fifo_file); END_STATE(); case 549: - if (lookahead == 'o') ADVANCE(608); - if (lookahead == 'r') ADVANCE(609); + if (lookahead == 'm') ADVANCE(612); END_STATE(); case 550: - if (lookahead == 'n') ADVANCE(610); + if (lookahead == 'e') ADVANCE(613); END_STATE(); case 551: - if (lookahead == 'i') ADVANCE(611); + if (lookahead == 'd') ADVANCE(614); END_STATE(); case 552: - if (lookahead == 'e') ADVANCE(612); + ACCEPT_TOKEN(anon_sym_interface); END_STATE(); case 553: - if (lookahead == 'p') ADVANCE(613); - if (lookahead == 's') ADVANCE(614); + if (lookahead == 'r') ADVANCE(615); END_STATE(); case 554: - if (lookahead == 'o') ADVANCE(615); + if (lookahead == 't') ADVANCE(616); END_STATE(); case 555: - if (lookahead == 'e') ADVANCE(616); - if (lookahead == 'f') ADVANCE(617); + if (lookahead == 't') ADVANCE(617); END_STATE(); case 556: - if (lookahead == 'd') ADVANCE(618); - if (lookahead == 'o') ADVANCE(619); + if (lookahead == 'u') ADVANCE(618); END_STATE(); case 557: - if (lookahead == 'c') ADVANCE(620); - if (lookahead == 'e') ADVANCE(621); - if (lookahead == 'o') ADVANCE(622); + if (lookahead == 'o') ADVANCE(619); + if (lookahead == 'r') ADVANCE(620); END_STATE(); case 558: - if (lookahead == 'c') ADVANCE(623); + if (lookahead == 'n') ADVANCE(621); END_STATE(); case 559: - if (lookahead == 'f') ADVANCE(624); + if (lookahead == 'i') ADVANCE(622); END_STATE(); case 560: - if (lookahead == 'w') ADVANCE(625); + if (lookahead == 'e') ADVANCE(623); END_STATE(); case 561: - if (lookahead == 'c') ADVANCE(626); + if (lookahead == 'p') ADVANCE(624); + if (lookahead == 's') ADVANCE(625); END_STATE(); case 562: - if (lookahead == 't') ADVANCE(627); + if (lookahead == 'o') ADVANCE(626); END_STATE(); case 563: - if (lookahead == 'e') ADVANCE(628); + if (lookahead == 'e') ADVANCE(627); + if (lookahead == 'f') ADVANCE(628); END_STATE(); case 564: - if (lookahead == 'k') ADVANCE(629); + if (lookahead == 'd') ADVANCE(629); + if (lookahead == 'o') ADVANCE(630); END_STATE(); case 565: - if (lookahead == 'e') ADVANCE(630); + if (lookahead == 'c') ADVANCE(631); + if (lookahead == 'e') ADVANCE(632); + if (lookahead == 'o') ADVANCE(633); END_STATE(); case 566: - ACCEPT_TOKEN(anon_sym_sock_file); + if (lookahead == 'c') ADVANCE(634); END_STATE(); case 567: - if (lookahead == 't') ADVANCE(631); + if (lookahead == 'f') ADVANCE(635); END_STATE(); case 568: - if (lookahead == 't') ADVANCE(632); + if (lookahead == 'w') ADVANCE(636); END_STATE(); case 569: - if (lookahead == 'g') ADVANCE(633); + if (lookahead == 'c') ADVANCE(637); END_STATE(); case 570: - if (lookahead == 'e') ADVANCE(634); + if (lookahead == 't') ADVANCE(638); END_STATE(); case 571: - if (lookahead == 's') ADVANCE(635); + if (lookahead == 'e') ADVANCE(639); END_STATE(); case 572: - ACCEPT_TOKEN(anon_sym_typealias); + if (lookahead == 'k') ADVANCE(640); END_STATE(); case 573: - if (lookahead == 'b') ADVANCE(636); + if (lookahead == 's') ADVANCE(641); END_STATE(); case 574: - if (lookahead == 't') ADVANCE(637); + if (lookahead == 'b') ADVANCE(642); END_STATE(); case 575: - if (lookahead == 'm') ADVANCE(638); + if (lookahead == 'e') ADVANCE(643); END_STATE(); case 576: - if (lookahead == 'a') ADVANCE(639); + ACCEPT_TOKEN(anon_sym_sock_file); END_STATE(); case 577: - if (lookahead == 's') ADVANCE(640); + if (lookahead == 't') ADVANCE(644); END_STATE(); case 578: - if (lookahead == 't') ADVANCE(641); + if (lookahead == 't') ADVANCE(645); END_STATE(); case 579: - if (lookahead == 'p') ADVANCE(642); + if (lookahead == 'g') ADVANCE(646); END_STATE(); case 580: - if (lookahead == 'e') ADVANCE(643); + if (lookahead == 'e') ADVANCE(647); END_STATE(); case 581: - if (lookahead == 'o') ADVANCE(644); + if (lookahead == 's') ADVANCE(648); END_STATE(); case 582: - if (lookahead == 'd') ADVANCE(645); + ACCEPT_TOKEN(anon_sym_typealias); END_STATE(); case 583: - ACCEPT_TOKEN(anon_sym_x_pointer); + if (lookahead == 'b') ADVANCE(649); END_STATE(); case 584: - if (lookahead == 'y') ADVANCE(646); + if (lookahead == 't') ADVANCE(650); END_STATE(); case 585: - if (lookahead == 'e') ADVANCE(647); + if (lookahead == 'm') ADVANCE(651); END_STATE(); case 586: - if (lookahead == 'o') ADVANCE(648); + if (lookahead == 'a') ADVANCE(652); END_STATE(); case 587: - if (lookahead == 'i') ADVANCE(649); + if (lookahead == 's') ADVANCE(653); END_STATE(); case 588: - ACCEPT_TOKEN(anon_sym_anon_inode); + if (lookahead == 't') ADVANCE(654); END_STATE(); case 589: - if (lookahead == 's') ADVANCE(650); + if (lookahead == 'p') ADVANCE(655); END_STATE(); case 590: - if (lookahead == 'n') ADVANCE(651); + if (lookahead == 'e') ADVANCE(656); END_STATE(); case 591: - ACCEPT_TOKEN(anon_sym_auditallow); + if (lookahead == 'o') ADVANCE(657); END_STATE(); case 592: - if (lookahead == 's') ADVANCE(652); + if (lookahead == 'd') ADVANCE(658); END_STATE(); case 593: - ACCEPT_TOKEN(anon_sym_cap_userns); + ACCEPT_TOKEN(anon_sym_x_pointer); END_STATE(); case 594: - ACCEPT_TOKEN(anon_sym_capability); - if (lookahead == '2') ADVANCE(653); + if (lookahead == 'y') ADVANCE(659); END_STATE(); case 595: - if (lookahead == 'e') ADVANCE(654); + if (lookahead == 'e') ADVANCE(660); END_STATE(); case 596: - if (lookahead == 'e') ADVANCE(655); + if (lookahead == 'o') ADVANCE(661); END_STATE(); case 597: - if (lookahead == 'r') ADVANCE(656); + if (lookahead == 'i') ADVANCE(662); END_STATE(); case 598: - if (lookahead == 'e') ADVANCE(657); + ACCEPT_TOKEN(anon_sym_anon_inode); END_STATE(); case 599: - if (lookahead == 't') ADVANCE(658); + if (lookahead == 's') ADVANCE(663); END_STATE(); case 600: - if (lookahead == 'i') ADVANCE(659); + if (lookahead == 'n') ADVANCE(664); END_STATE(); case 601: - ACCEPT_TOKEN(anon_sym_filesystem); + if (lookahead == 'r') ADVANCE(665); END_STATE(); case 602: - if (lookahead == 't') ADVANCE(660); + ACCEPT_TOKEN(anon_sym_auditallow); END_STATE(); case 603: - if (lookahead == '_') ADVANCE(661); + if (lookahead == 's') ADVANCE(666); END_STATE(); case 604: - if (lookahead == 'v') ADVANCE(662); + ACCEPT_TOKEN(anon_sym_cap_userns); END_STATE(); case 605: - ACCEPT_TOKEN(anon_sym_key_socket); + ACCEPT_TOKEN(anon_sym_capability); + if (lookahead == '2') ADVANCE(667); END_STATE(); case 606: - ACCEPT_TOKEN(anon_sym_memprotect); + if (lookahead == 'e') ADVANCE(668); END_STATE(); case 607: - if (lookahead == 'd') ADVANCE(663); + if (lookahead == 'e') ADVANCE(669); END_STATE(); case 608: - if (lookahead == 'n') ADVANCE(664); + if (lookahead == 'r') ADVANCE(670); END_STATE(); case 609: - if (lookahead == 'y') ADVANCE(665); + if (lookahead == 'e') ADVANCE(671); END_STATE(); case 610: - if (lookahead == 'r') ADVANCE(666); + if (lookahead == 't') ADVANCE(672); END_STATE(); case 611: - if (lookahead == 'b') ADVANCE(667); - if (lookahead == 'r') ADVANCE(668); + if (lookahead == 'i') ADVANCE(673); END_STATE(); case 612: - if (lookahead == 'n') ADVANCE(669); + ACCEPT_TOKEN(anon_sym_filesystem); END_STATE(); case 613: - if (lookahead == '6') ADVANCE(670); + if (lookahead == 't') ADVANCE(674); END_STATE(); case 614: - if (lookahead == 'c') ADVANCE(671); + if (lookahead == '_') ADVANCE(675); END_STATE(); case 615: - if (lookahead == 'b') ADVANCE(672); + if (lookahead == 'v') ADVANCE(676); END_STATE(); case 616: - if (lookahead == 't') ADVANCE(673); + ACCEPT_TOKEN(anon_sym_key_socket); END_STATE(); case 617: - if (lookahead == 'l') ADVANCE(674); + ACCEPT_TOKEN(anon_sym_memprotect); END_STATE(); case 618: - if (lookahead == 'm') ADVANCE(675); + if (lookahead == 'd') ADVANCE(677); END_STATE(); case 619: - if (lookahead == 'u') ADVANCE(676); + if (lookahead == 'n') ADVANCE(678); END_STATE(); case 620: - if (lookahead == 's') ADVANCE(677); + if (lookahead == 'y') ADVANCE(679); END_STATE(); case 621: - if (lookahead == 'l') ADVANCE(678); + if (lookahead == 'r') ADVANCE(680); END_STATE(); case 622: - if (lookahead == 'c') ADVANCE(679); + if (lookahead == 'b') ADVANCE(681); + if (lookahead == 'r') ADVANCE(682); END_STATE(); case 623: - if (lookahead == 'p') ADVANCE(680); + if (lookahead == 'n') ADVANCE(683); END_STATE(); case 624: - if (lookahead == 'r') ADVANCE(681); + if (lookahead == '6') ADVANCE(684); END_STATE(); case 625: - ACCEPT_TOKEN(anon_sym_neverallow); + if (lookahead == 'c') ADVANCE(685); END_STATE(); case 626: - if (lookahead == 'k') ADVANCE(682); + if (lookahead == 'b') ADVANCE(686); END_STATE(); case 627: - ACCEPT_TOKEN(anon_sym_perf_event); + if (lookahead == 't') ADVANCE(687); END_STATE(); case 628: - ACCEPT_TOKEN(anon_sym_permissive); + if (lookahead == 'l') ADVANCE(688); END_STATE(); case 629: - if (lookahead == 'e') ADVANCE(683); + if (lookahead == 'm') ADVANCE(689); END_STATE(); case 630: - if (lookahead == 't') ADVANCE(684); + if (lookahead == 'u') ADVANCE(690); END_STATE(); case 631: - ACCEPT_TOKEN(anon_sym_tcp_socket); + if (lookahead == 's') ADVANCE(691); END_STATE(); case 632: - ACCEPT_TOKEN(anon_sym_tun_socket); + if (lookahead == 'l') ADVANCE(692); END_STATE(); case 633: - if (lookahead == 'e') ADVANCE(685); + if (lookahead == 'c') ADVANCE(693); END_STATE(); case 634: - if (lookahead == 'r') ADVANCE(686); + if (lookahead == 'p') ADVANCE(694); END_STATE(); case 635: - if (lookahead == 'i') ADVANCE(687); + if (lookahead == 'r') ADVANCE(695); END_STATE(); case 636: - if (lookahead == 'u') ADVANCE(688); + ACCEPT_TOKEN(anon_sym_neverallow); END_STATE(); case 637: - ACCEPT_TOKEN(anon_sym_udp_socket); + if (lookahead == 'k') ADVANCE(696); END_STATE(); case 638: - if (lookahead == '_') ADVANCE(689); + ACCEPT_TOKEN(anon_sym_perf_event); END_STATE(); case 639: - if (lookahead == 'm') ADVANCE(690); + ACCEPT_TOKEN(anon_sym_permissive); END_STATE(); case 640: - if (lookahead == 'p') ADVANCE(691); + if (lookahead == 'e') ADVANCE(697); END_STATE(); case 641: - if (lookahead == 'i') ADVANCE(692); + if (lookahead == 'i') ADVANCE(698); END_STATE(); case 642: - ACCEPT_TOKEN(anon_sym_x_colormap); + if (lookahead == 'u') ADVANCE(699); END_STATE(); case 643: - ACCEPT_TOKEN(anon_sym_x_drawable); + if (lookahead == 't') ADVANCE(700); END_STATE(); case 644: - if (lookahead == 'n') ADVANCE(693); + ACCEPT_TOKEN(anon_sym_tcp_socket); END_STATE(); case 645: - ACCEPT_TOKEN(anon_sym_x_keyboard); + ACCEPT_TOKEN(anon_sym_tun_socket); END_STATE(); case 646: - ACCEPT_TOKEN(anon_sym_x_property); + if (lookahead == 'e') ADVANCE(701); END_STATE(); case 647: - ACCEPT_TOKEN(anon_sym_x_resource); + if (lookahead == 'r') ADVANCE(702); END_STATE(); case 648: - if (lookahead == 'n') ADVANCE(694); + if (lookahead == 'i') ADVANCE(703); END_STATE(); case 649: - if (lookahead == 'c') ADVANCE(695); + if (lookahead == 'u') ADVANCE(704); END_STATE(); case 650: - if (lookahead == 'o') ADVANCE(696); + ACCEPT_TOKEN(anon_sym_udp_socket); END_STATE(); case 651: - ACCEPT_TOKEN(anon_sym_association); + if (lookahead == '_') ADVANCE(705); END_STATE(); case 652: - ACCEPT_TOKEN(anon_sym_cap2_userns); + if (lookahead == 'm') ADVANCE(706); END_STATE(); case 653: - ACCEPT_TOKEN(anon_sym_capability2); + if (lookahead == 'p') ADVANCE(707); END_STATE(); case 654: - ACCEPT_TOKEN(anon_sym_db_database); + if (lookahead == 'i') ADVANCE(708); END_STATE(); case 655: - ACCEPT_TOKEN(anon_sym_db_language); + ACCEPT_TOKEN(anon_sym_x_colormap); END_STATE(); case 656: - if (lookahead == 'e') ADVANCE(697); + ACCEPT_TOKEN(anon_sym_x_drawable); END_STATE(); case 657: - ACCEPT_TOKEN(anon_sym_db_sequence); + if (lookahead == 'n') ADVANCE(709); END_STATE(); case 658: - ACCEPT_TOKEN(anon_sym_dccp_socket); + ACCEPT_TOKEN(anon_sym_x_keyboard); END_STATE(); case 659: - if (lookahead == 'b') ADVANCE(698); + ACCEPT_TOKEN(anon_sym_x_property); END_STATE(); case 660: - ACCEPT_TOKEN(anon_sym_icmp_socket); + ACCEPT_TOKEN(anon_sym_x_resource); END_STATE(); case 661: - if (lookahead == 'e') ADVANCE(699); - if (lookahead == 'p') ADVANCE(700); + if (lookahead == 'n') ADVANCE(710); END_STATE(); case 662: - if (lookahead == 'i') ADVANCE(701); + if (lookahead == 'c') ADVANCE(711); END_STATE(); case 663: - if (lookahead == 'i') ADVANCE(702); + if (lookahead == 'o') ADVANCE(712); END_STATE(); case 664: - if (lookahead == 'n') ADVANCE(703); + ACCEPT_TOKEN(anon_sym_association); END_STATE(); case 665: - if (lookahead == 'p') ADVANCE(704); + if (lookahead == 'o') ADVANCE(713); END_STATE(); case 666: - if (lookahead == 't') ADVANCE(705); + ACCEPT_TOKEN(anon_sym_cap2_userns); END_STATE(); case 667: - if (lookahead == '_') ADVANCE(706); + ACCEPT_TOKEN(anon_sym_capability2); END_STATE(); case 668: - if (lookahead == 'e') ADVANCE(707); + ACCEPT_TOKEN(anon_sym_db_database); END_STATE(); case 669: - if (lookahead == 'e') ADVANCE(708); + ACCEPT_TOKEN(anon_sym_db_language); END_STATE(); case 670: - if (lookahead == 'f') ADVANCE(709); + if (lookahead == 'e') ADVANCE(714); END_STATE(); case 671: - if (lookahead == 's') ADVANCE(710); + ACCEPT_TOKEN(anon_sym_db_sequence); END_STATE(); case 672: - if (lookahead == 'j') ADVANCE(711); + ACCEPT_TOKEN(anon_sym_dccp_socket); END_STATE(); case 673: - if (lookahead == 'f') ADVANCE(712); + if (lookahead == 'b') ADVANCE(715); END_STATE(); case 674: - if (lookahead == 'o') ADVANCE(713); + ACCEPT_TOKEN(anon_sym_icmp_socket); END_STATE(); case 675: - if (lookahead == 'a') ADVANCE(714); + if (lookahead == 'e') ADVANCE(716); + if (lookahead == 'p') ADVANCE(717); END_STATE(); case 676: - if (lookahead == 't') ADVANCE(715); + if (lookahead == 'i') ADVANCE(718); END_STATE(); case 677: - if (lookahead == 'i') ADVANCE(716); + if (lookahead == 'i') ADVANCE(719); END_STATE(); case 678: - if (lookahead == 'i') ADVANCE(717); + if (lookahead == 'n') ADVANCE(720); END_STATE(); case 679: - if (lookahead == 'k') ADVANCE(718); + if (lookahead == 'p') ADVANCE(721); END_STATE(); case 680: - if (lookahead == 'd') ADVANCE(719); + if (lookahead == 't') ADVANCE(722); END_STATE(); case 681: - if (lookahead == 'm') ADVANCE(720); + if (lookahead == '_') ADVANCE(723); END_STATE(); case 682: - if (lookahead == 'e') ADVANCE(721); + if (lookahead == 'e') ADVANCE(724); END_STATE(); case 683: - if (lookahead == 't') ADVANCE(722); + if (lookahead == 'e') ADVANCE(725); END_STATE(); case 684: - ACCEPT_TOKEN(anon_sym_sctp_socket); + if (lookahead == 'f') ADVANCE(726); END_STATE(); case 685: - ACCEPT_TOKEN(anon_sym_type_change); + if (lookahead == 's') ADVANCE(727); END_STATE(); case 686: - ACCEPT_TOKEN(anon_sym_type_member); + if (lookahead == 'j') ADVANCE(728); END_STATE(); case 687: - if (lookahead == 't') ADVANCE(723); + if (lookahead == 'f') ADVANCE(729); END_STATE(); case 688: - if (lookahead == 't') ADVANCE(724); + if (lookahead == 'o') ADVANCE(730); END_STATE(); case 689: - if (lookahead == 's') ADVANCE(725); + if (lookahead == 'a') ADVANCE(731); END_STATE(); case 690: - if (lookahead == '_') ADVANCE(726); + if (lookahead == 't') ADVANCE(732); END_STATE(); case 691: - if (lookahead == 'a') ADVANCE(727); + if (lookahead == 'i') ADVANCE(733); END_STATE(); case 692: - if (lookahead == 'o') ADVANCE(728); + if (lookahead == 'i') ADVANCE(734); END_STATE(); case 693: - ACCEPT_TOKEN(anon_sym_x_extension); + if (lookahead == 'k') ADVANCE(735); END_STATE(); case 694: - ACCEPT_TOKEN(anon_sym_x_selection); + if (lookahead == 'd') ADVANCE(736); END_STATE(); case 695: - if (lookahead == '_') ADVANCE(729); + if (lookahead == 'm') ADVANCE(737); END_STATE(); case 696: - if (lookahead == 'c') ADVANCE(730); + if (lookahead == 'e') ADVANCE(738); END_STATE(); case 697: - ACCEPT_TOKEN(anon_sym_db_procedure); + if (lookahead == 't') ADVANCE(739); END_STATE(); case 698: - if (lookahead == 'u') ADVANCE(731); + if (lookahead == 't') ADVANCE(740); END_STATE(); case 699: - if (lookahead == 'n') ADVANCE(732); + if (lookahead == 't') ADVANCE(741); END_STATE(); case 700: - if (lookahead == 'k') ADVANCE(733); + ACCEPT_TOKEN(anon_sym_sctp_socket); END_STATE(); case 701: - if (lookahead == 'c') ADVANCE(734); + ACCEPT_TOKEN(anon_sym_type_change); END_STATE(); case 702: - if (lookahead == 't') ADVANCE(735); + ACCEPT_TOKEN(anon_sym_type_member); END_STATE(); case 703: - if (lookahead == 'e') ADVANCE(736); + if (lookahead == 't') ADVANCE(742); END_STATE(); case 704: - if (lookahead == 't') ADVANCE(737); + if (lookahead == 't') ADVANCE(743); END_STATE(); case 705: - if (lookahead == '_') ADVANCE(738); + if (lookahead == 's') ADVANCE(744); END_STATE(); case 706: - if (lookahead == 'l') ADVANCE(739); + if (lookahead == '_') ADVANCE(745); END_STATE(); case 707: - if (lookahead == 'w') ADVANCE(740); + if (lookahead == 'a') ADVANCE(746); END_STATE(); case 708: - if (lookahead == 'r') ADVANCE(741); + if (lookahead == 'o') ADVANCE(747); END_STATE(); case 709: - if (lookahead == 'w') ADVANCE(742); + ACCEPT_TOKEN(anon_sym_x_extension); END_STATE(); case 710: - if (lookahead == 'i') ADVANCE(743); + ACCEPT_TOKEN(anon_sym_x_selection); END_STATE(); case 711: - if (lookahead == 'e') ADVANCE(744); + if (lookahead == '_') ADVANCE(748); END_STATE(); case 712: - if (lookahead == 'i') ADVANCE(745); + if (lookahead == 'c') ADVANCE(749); END_STATE(); case 713: - if (lookahead == 'g') ADVANCE(746); + if (lookahead == 'l') ADVANCE(750); END_STATE(); case 714: - if (lookahead == '_') ADVANCE(747); + ACCEPT_TOKEN(anon_sym_db_procedure); END_STATE(); case 715: - if (lookahead == 'e') ADVANCE(748); + if (lookahead == 'u') ADVANCE(751); END_STATE(); case 716: - if (lookahead == 't') ADVANCE(749); + if (lookahead == 'n') ADVANCE(752); END_STATE(); case 717: - if (lookahead == 'n') ADVANCE(750); + if (lookahead == 'k') ADVANCE(753); END_STATE(); case 718: - if (lookahead == 'e') ADVANCE(751); + if (lookahead == 'c') ADVANCE(754); END_STATE(); case 719: - if (lookahead == 'i') ADVANCE(752); + if (lookahead == 't') ADVANCE(755); END_STATE(); case 720: - if (lookahead == '_') ADVANCE(753); + if (lookahead == 'e') ADVANCE(756); END_STATE(); case 721: - if (lookahead == 't') ADVANCE(754); + if (lookahead == 't') ADVANCE(757); END_STATE(); case 722: - ACCEPT_TOKEN(anon_sym_rawip_socket); + if (lookahead == '_') ADVANCE(758); END_STATE(); case 723: - if (lookahead == 'i') ADVANCE(755); + if (lookahead == 'l') ADVANCE(759); END_STATE(); case 724: - if (lookahead == 'e') ADVANCE(756); + if (lookahead == 'w') ADVANCE(760); END_STATE(); case 725: - if (lookahead == 'o') ADVANCE(757); + if (lookahead == 'r') ADVANCE(761); END_STATE(); case 726: - if (lookahead == 's') ADVANCE(758); + if (lookahead == 'w') ADVANCE(762); END_STATE(); case 727: - if (lookahead == 'c') ADVANCE(759); + if (lookahead == 'i') ADVANCE(763); END_STATE(); case 728: - if (lookahead == 'n') ADVANCE(760); + if (lookahead == 'e') ADVANCE(764); END_STATE(); case 729: - if (lookahead == 'e') ADVANCE(761); + if (lookahead == 'i') ADVANCE(765); END_STATE(); case 730: - if (lookahead == 'k') ADVANCE(762); + if (lookahead == 'g') ADVANCE(766); END_STATE(); case 731: - if (lookahead == 't') ADVANCE(763); + if (lookahead == '_') ADVANCE(767); END_STATE(); case 732: - if (lookahead == 'd') ADVANCE(764); + if (lookahead == 'e') ADVANCE(768); END_STATE(); case 733: - if (lookahead == 'e') ADVANCE(765); + if (lookahead == 't') ADVANCE(769); END_STATE(); case 734: - if (lookahead == 'e') ADVANCE(766); + if (lookahead == 'n') ADVANCE(770); END_STATE(); case 735: - if (lookahead == '_') ADVANCE(767); + if (lookahead == 'e') ADVANCE(771); END_STATE(); case 736: - if (lookahead == 'c') ADVANCE(768); + if (lookahead == 'i') ADVANCE(772); END_STATE(); case 737: - if (lookahead == 'o') ADVANCE(769); + if (lookahead == '_') ADVANCE(773); END_STATE(); case 738: - if (lookahead == 's') ADVANCE(770); + if (lookahead == 't') ADVANCE(774); END_STATE(); case 739: - if (lookahead == 'o') ADVANCE(771); + ACCEPT_TOKEN(anon_sym_rawip_socket); END_STATE(); case 740: - if (lookahead == 'a') ADVANCE(772); + if (lookahead == 'i') ADVANCE(775); END_STATE(); case 741: - if (lookahead == 'i') ADVANCE(773); + if (lookahead == 'e') ADVANCE(776); END_STATE(); case 742: - if (lookahead == '_') ADVANCE(774); + if (lookahead == 'i') ADVANCE(777); END_STATE(); case 743: - if (lookahead == '_') ADVANCE(775); + if (lookahead == 'e') ADVANCE(778); END_STATE(); case 744: - if (lookahead == 'c') ADVANCE(776); + if (lookahead == 'o') ADVANCE(779); END_STATE(); case 745: - if (lookahead == 'l') ADVANCE(777); + if (lookahead == 's') ADVANCE(780); END_STATE(); case 746: - if (lookahead == '_') ADVANCE(778); + if (lookahead == 'c') ADVANCE(781); END_STATE(); case 747: - if (lookahead == 's') ADVANCE(779); + if (lookahead == 'n') ADVANCE(782); END_STATE(); case 748: - if (lookahead == '_') ADVANCE(780); + if (lookahead == 'e') ADVANCE(783); END_STATE(); case 749: - if (lookahead == 'r') ADVANCE(781); + if (lookahead == 'k') ADVANCE(784); END_STATE(); case 750: - if (lookahead == 'u') ADVANCE(782); + if (lookahead == 'e') ADVANCE(785); END_STATE(); case 751: - if (lookahead == 't') ADVANCE(783); + if (lookahead == 't') ADVANCE(786); END_STATE(); case 752: - if (lookahead == 'a') ADVANCE(784); + if (lookahead == 'd') ADVANCE(787); END_STATE(); case 753: - if (lookahead == 's') ADVANCE(785); + if (lookahead == 'e') ADVANCE(788); END_STATE(); case 754: - ACCEPT_TOKEN(anon_sym_packet_socket); + if (lookahead == 'e') ADVANCE(789); END_STATE(); case 755: - if (lookahead == 'o') ADVANCE(786); + if (lookahead == '_') ADVANCE(790); END_STATE(); case 756: - ACCEPT_TOKEN(anon_sym_typeattribute); + if (lookahead == 'c') ADVANCE(791); END_STATE(); case 757: - if (lookahead == 'c') ADVANCE(787); + if (lookahead == 'o') ADVANCE(792); END_STATE(); case 758: - if (lookahead == 'o') ADVANCE(788); + if (lookahead == 's') ADVANCE(793); END_STATE(); case 759: - if (lookahead == 'e') ADVANCE(789); + if (lookahead == 'o') ADVANCE(794); END_STATE(); case 760: - if (lookahead == '_') ADVANCE(790); + if (lookahead == 'a') ADVANCE(795); END_STATE(); case 761: - if (lookahead == 'v') ADVANCE(791); + if (lookahead == 'i') ADVANCE(796); END_STATE(); case 762: - if (lookahead == 'e') ADVANCE(792); + if (lookahead == '_') ADVANCE(797); END_STATE(); case 763: - if (lookahead == 'e') ADVANCE(793); + if (lookahead == '_') ADVANCE(798); END_STATE(); case 764: - if (lookahead == 'p') ADVANCE(794); + if (lookahead == 'c') ADVANCE(799); END_STATE(); case 765: - if (lookahead == 'y') ADVANCE(795); + if (lookahead == 'l') ADVANCE(800); END_STATE(); case 766: - ACCEPT_TOKEN(anon_sym_kernel_service); + if (lookahead == '_') ADVANCE(801); END_STATE(); case 767: - if (lookahead == 's') ADVANCE(796); + if (lookahead == 's') ADVANCE(802); END_STATE(); case 768: - if (lookahead == 't') ADVANCE(797); + if (lookahead == '_') ADVANCE(803); END_STATE(); case 769: - if (lookahead == '_') ADVANCE(798); + if (lookahead == 'r') ADVANCE(804); END_STATE(); case 770: - if (lookahead == 'o') ADVANCE(799); + if (lookahead == 'u') ADVANCE(805); END_STATE(); case 771: - if (lookahead == 'o') ADVANCE(800); + if (lookahead == 't') ADVANCE(806); END_STATE(); case 772: - if (lookahead == 'l') ADVANCE(801); + if (lookahead == 'a') ADVANCE(807); END_STATE(); case 773: - if (lookahead == 'c') ADVANCE(802); + if (lookahead == 's') ADVANCE(808); END_STATE(); case 774: - if (lookahead == 's') ADVANCE(803); + ACCEPT_TOKEN(anon_sym_packet_socket); END_STATE(); case 775: - if (lookahead == 's') ADVANCE(804); + if (lookahead == 'o') ADVANCE(809); END_STATE(); case 776: - if (lookahead == 't') ADVANCE(805); + ACCEPT_TOKEN(anon_sym_roleattribute); END_STATE(); case 777: - if (lookahead == 't') ADVANCE(806); + if (lookahead == 'o') ADVANCE(810); END_STATE(); case 778: - if (lookahead == 's') ADVANCE(807); + ACCEPT_TOKEN(anon_sym_typeattribute); END_STATE(); case 779: - if (lookahead == 'o') ADVANCE(808); + if (lookahead == 'c') ADVANCE(811); END_STATE(); case 780: - if (lookahead == 's') ADVANCE(809); + if (lookahead == 'o') ADVANCE(812); END_STATE(); case 781: - if (lookahead == 'a') ADVANCE(810); + if (lookahead == 'e') ADVANCE(813); END_STATE(); case 782: - if (lookahead == 'x') ADVANCE(811); + if (lookahead == '_') ADVANCE(814); END_STATE(); case 783: - ACCEPT_TOKEN(anon_sym_netlink_socket); + if (lookahead == 'v') ADVANCE(815); END_STATE(); case 784: - if (lookahead == 'g') ADVANCE(812); + if (lookahead == 'e') ADVANCE(816); END_STATE(); case 785: - if (lookahead == 'o') ADVANCE(813); + ACCEPT_TOKEN(anon_sym_attribute_role); END_STATE(); case 786: - if (lookahead == 'n') ADVANCE(814); + if (lookahead == 'e') ADVANCE(817); END_STATE(); case 787: - if (lookahead == 'k') ADVANCE(815); + if (lookahead == 'p') ADVANCE(818); END_STATE(); case 788: - if (lookahead == 'c') ADVANCE(816); + if (lookahead == 'y') ADVANCE(819); END_STATE(); case 789: - ACCEPT_TOKEN(anon_sym_user_namespace); + ACCEPT_TOKEN(anon_sym_kernel_service); END_STATE(); case 790: - if (lookahead == 'd') ADVANCE(817); + if (lookahead == 's') ADVANCE(820); END_STATE(); case 791: - if (lookahead == 'e') ADVANCE(818); + if (lookahead == 't') ADVANCE(821); END_STATE(); case 792: - if (lookahead == 't') ADVANCE(819); + if (lookahead == '_') ADVANCE(822); END_STATE(); case 793: - ACCEPT_TOKEN(anon_sym_expandattribute); + if (lookahead == 'o') ADVANCE(823); END_STATE(); case 794: - if (lookahead == 'o') ADVANCE(820); + if (lookahead == 'o') ADVANCE(824); END_STATE(); case 795: - ACCEPT_TOKEN(anon_sym_infiniband_pkey); + if (lookahead == 'l') ADVANCE(825); END_STATE(); case 796: - if (lookahead == 'o') ADVANCE(821); + if (lookahead == 'c') ADVANCE(826); END_STATE(); case 797: - if (lookahead == 'o') ADVANCE(822); + if (lookahead == 's') ADVANCE(827); END_STATE(); case 798: - if (lookahead == 's') ADVANCE(823); + if (lookahead == 's') ADVANCE(828); END_STATE(); case 799: - if (lookahead == 'c') ADVANCE(824); + if (lookahead == 't') ADVANCE(829); END_STATE(); case 800: - if (lookahead == 'k') ADVANCE(825); + if (lookahead == 't') ADVANCE(830); END_STATE(); case 801: - if (lookahead == 'l') ADVANCE(826); + if (lookahead == 's') ADVANCE(831); END_STATE(); case 802: - if (lookahead == '_') ADVANCE(827); + if (lookahead == 'o') ADVANCE(832); END_STATE(); case 803: - if (lookahead == 'o') ADVANCE(828); + if (lookahead == 's') ADVANCE(833); END_STATE(); case 804: - if (lookahead == 'o') ADVANCE(829); + if (lookahead == 'a') ADVANCE(834); END_STATE(); case 805: - if (lookahead == '_') ADVANCE(830); + if (lookahead == 'x') ADVANCE(835); END_STATE(); case 806: - if (lookahead == 'e') ADVANCE(831); + ACCEPT_TOKEN(anon_sym_netlink_socket); END_STATE(); case 807: - if (lookahead == 'o') ADVANCE(832); + if (lookahead == 'g') ADVANCE(836); END_STATE(); case 808: - if (lookahead == 'c') ADVANCE(833); + if (lookahead == 'o') ADVANCE(837); END_STATE(); case 809: - if (lookahead == 'o') ADVANCE(834); + if (lookahead == 'n') ADVANCE(838); END_STATE(); case 810: - if (lookahead == 'n') ADVANCE(835); + if (lookahead == 'n') ADVANCE(839); END_STATE(); case 811: - if (lookahead == '_') ADVANCE(836); + if (lookahead == 'k') ADVANCE(840); END_STATE(); case 812: - if (lookahead == '_') ADVANCE(837); + if (lookahead == 'c') ADVANCE(841); END_STATE(); case 813: - if (lookahead == 'c') ADVANCE(838); + ACCEPT_TOKEN(anon_sym_user_namespace); END_STATE(); case 814: - ACCEPT_TOKEN(anon_sym_type_transition); + if (lookahead == 'd') ADVANCE(842); END_STATE(); case 815: - if (lookahead == 'e') ADVANCE(839); + if (lookahead == 'e') ADVANCE(843); END_STATE(); case 816: - if (lookahead == 'k') ADVANCE(840); + if (lookahead == 't') ADVANCE(844); END_STATE(); case 817: - if (lookahead == 'a') ADVANCE(841); + ACCEPT_TOKEN(anon_sym_expandattribute); END_STATE(); case 818: - if (lookahead == 'n') ADVANCE(842); + if (lookahead == 'o') ADVANCE(845); END_STATE(); case 819: - ACCEPT_TOKEN(anon_sym_appletalk_socket); + ACCEPT_TOKEN(anon_sym_infiniband_pkey); END_STATE(); case 820: - if (lookahead == 'r') ADVANCE(843); + if (lookahead == 'o') ADVANCE(846); END_STATE(); case 821: - if (lookahead == 'c') ADVANCE(844); + if (lookahead == 'o') ADVANCE(847); END_STATE(); case 822: - if (lookahead == 'r') ADVANCE(845); + if (lookahead == 's') ADVANCE(848); END_STATE(); case 823: - if (lookahead == 'o') ADVANCE(846); + if (lookahead == 'c') ADVANCE(849); END_STATE(); case 824: - if (lookahead == 'k') ADVANCE(847); + if (lookahead == 'k') ADVANCE(850); END_STATE(); case 825: - if (lookahead == 'u') ADVANCE(848); + if (lookahead == 'l') ADVANCE(851); END_STATE(); case 826: - if (lookahead == '_') ADVANCE(849); + if (lookahead == '_') ADVANCE(852); END_STATE(); case 827: - if (lookahead == 's') ADVANCE(850); + if (lookahead == 'o') ADVANCE(853); END_STATE(); case 828: - if (lookahead == 'c') ADVANCE(851); + if (lookahead == 'o') ADVANCE(854); END_STATE(); case 829: - if (lookahead == 'c') ADVANCE(852); + if (lookahead == '_') ADVANCE(855); END_STATE(); case 830: - if (lookahead == 'u') ADVANCE(853); + if (lookahead == 'e') ADVANCE(856); END_STATE(); case 831: - if (lookahead == 'r') ADVANCE(854); + if (lookahead == 'o') ADVANCE(857); END_STATE(); case 832: - if (lookahead == 'c') ADVANCE(855); + if (lookahead == 'c') ADVANCE(858); END_STATE(); case 833: - if (lookahead == 'k') ADVANCE(856); + if (lookahead == 'o') ADVANCE(859); END_STATE(); case 834: - if (lookahead == 'c') ADVANCE(857); + if (lookahead == 'n') ADVANCE(860); END_STATE(); case 835: - if (lookahead == 's') ADVANCE(858); + if (lookahead == '_') ADVANCE(861); END_STATE(); case 836: - if (lookahead == 's') ADVANCE(859); + if (lookahead == '_') ADVANCE(862); END_STATE(); case 837: - if (lookahead == 's') ADVANCE(860); + if (lookahead == 'c') ADVANCE(863); END_STATE(); case 838: - if (lookahead == 'k') ADVANCE(861); + ACCEPT_TOKEN(anon_sym_role_transition); END_STATE(); case 839: - if (lookahead == 't') ADVANCE(862); + ACCEPT_TOKEN(anon_sym_type_transition); END_STATE(); case 840: - if (lookahead == 'e') ADVANCE(863); + if (lookahead == 'e') ADVANCE(864); END_STATE(); case 841: - if (lookahead == 't') ADVANCE(864); + if (lookahead == 'k') ADVANCE(865); END_STATE(); case 842: - if (lookahead == 't') ADVANCE(865); + if (lookahead == 'a') ADVANCE(866); END_STATE(); case 843: - if (lookahead == 't') ADVANCE(866); + if (lookahead == 'n') ADVANCE(867); END_STATE(); case 844: - if (lookahead == 'k') ADVANCE(867); + ACCEPT_TOKEN(anon_sym_appletalk_socket); END_STATE(); case 845: - if (lookahead == '_') ADVANCE(868); + if (lookahead == 'r') ADVANCE(868); END_STATE(); case 846: if (lookahead == 'c') ADVANCE(869); END_STATE(); case 847: - if (lookahead == 'e') ADVANCE(870); + if (lookahead == 'r') ADVANCE(870); END_STATE(); case 848: - if (lookahead == 'p') ADVANCE(871); + if (lookahead == 'o') ADVANCE(871); END_STATE(); case 849: - if (lookahead == 's') ADVANCE(872); + if (lookahead == 'k') ADVANCE(872); END_STATE(); case 850: - if (lookahead == 'o') ADVANCE(873); + if (lookahead == 'u') ADVANCE(873); END_STATE(); case 851: - if (lookahead == 'k') ADVANCE(874); + if (lookahead == '_') ADVANCE(874); END_STATE(); case 852: - if (lookahead == 'k') ADVANCE(875); + if (lookahead == 's') ADVANCE(875); END_STATE(); case 853: - if (lookahead == 'e') ADVANCE(876); + if (lookahead == 'c') ADVANCE(876); END_STATE(); case 854: - if (lookahead == '_') ADVANCE(877); + if (lookahead == 'c') ADVANCE(877); END_STATE(); case 855: - if (lookahead == 'k') ADVANCE(878); + if (lookahead == 'u') ADVANCE(878); END_STATE(); case 856: - if (lookahead == 'e') ADVANCE(879); + if (lookahead == 'r') ADVANCE(879); END_STATE(); case 857: - if (lookahead == 'k') ADVANCE(880); + if (lookahead == 'c') ADVANCE(880); END_STATE(); case 858: - if (lookahead == 'p') ADVANCE(881); + if (lookahead == 'k') ADVANCE(881); END_STATE(); case 859: - if (lookahead == 'o') ADVANCE(882); + if (lookahead == 'c') ADVANCE(882); END_STATE(); case 860: - if (lookahead == 'o') ADVANCE(883); + if (lookahead == 's') ADVANCE(883); END_STATE(); case 861: - if (lookahead == 'e') ADVANCE(884); + if (lookahead == 's') ADVANCE(884); END_STATE(); case 862: - ACCEPT_TOKEN(anon_sym_unix_dgram_socket); + if (lookahead == 's') ADVANCE(885); END_STATE(); case 863: - if (lookahead == 't') ADVANCE(885); + if (lookahead == 'k') ADVANCE(886); END_STATE(); case 864: - if (lookahead == 'a') ADVANCE(886); + if (lookahead == 't') ADVANCE(887); END_STATE(); case 865: - ACCEPT_TOKEN(anon_sym_x_synthetic_event); + if (lookahead == 'e') ADVANCE(888); END_STATE(); case 866: - ACCEPT_TOKEN(anon_sym_infiniband_endport); + if (lookahead == 't') ADVANCE(889); END_STATE(); case 867: - if (lookahead == 'e') ADVANCE(887); + if (lookahead == 't') ADVANCE(890); END_STATE(); case 868: - if (lookahead == 's') ADVANCE(888); + if (lookahead == 't') ADVANCE(891); END_STATE(); case 869: - if (lookahead == 'k') ADVANCE(889); + if (lookahead == 'k') ADVANCE(892); END_STATE(); case 870: - if (lookahead == 't') ADVANCE(890); + if (lookahead == '_') ADVANCE(893); END_STATE(); case 871: - if (lookahead == '_') ADVANCE(891); + if (lookahead == 'c') ADVANCE(894); END_STATE(); case 872: - if (lookahead == 'o') ADVANCE(892); + if (lookahead == 'e') ADVANCE(895); END_STATE(); case 873: - if (lookahead == 'c') ADVANCE(893); + if (lookahead == 'p') ADVANCE(896); END_STATE(); case 874: - if (lookahead == 'e') ADVANCE(894); + if (lookahead == 's') ADVANCE(897); END_STATE(); case 875: - if (lookahead == 'e') ADVANCE(895); + if (lookahead == 'o') ADVANCE(898); END_STATE(); case 876: - if (lookahead == 'v') ADVANCE(896); + if (lookahead == 'k') ADVANCE(899); END_STATE(); case 877: - if (lookahead == 's') ADVANCE(897); + if (lookahead == 'k') ADVANCE(900); END_STATE(); case 878: - if (lookahead == 'e') ADVANCE(898); + if (lookahead == 'e') ADVANCE(901); END_STATE(); case 879: - if (lookahead == 't') ADVANCE(899); + if (lookahead == '_') ADVANCE(902); END_STATE(); case 880: - if (lookahead == 'e') ADVANCE(900); + if (lookahead == 'k') ADVANCE(903); END_STATE(); case 881: - if (lookahead == 'o') ADVANCE(901); + if (lookahead == 'e') ADVANCE(904); END_STATE(); case 882: - if (lookahead == 'c') ADVANCE(902); + if (lookahead == 'k') ADVANCE(905); END_STATE(); case 883: - if (lookahead == 'c') ADVANCE(903); + if (lookahead == 'p') ADVANCE(906); END_STATE(); case 884: - if (lookahead == 't') ADVANCE(904); + if (lookahead == 'o') ADVANCE(907); END_STATE(); case 885: - ACCEPT_TOKEN(anon_sym_unix_stream_socket); + if (lookahead == 'o') ADVANCE(908); END_STATE(); case 886: - ACCEPT_TOKEN(anon_sym_x_application_data); + if (lookahead == 'e') ADVANCE(909); END_STATE(); case 887: - if (lookahead == 't') ADVANCE(905); + ACCEPT_TOKEN(anon_sym_unix_dgram_socket); END_STATE(); case 888: - if (lookahead == 'o') ADVANCE(906); + if (lookahead == 't') ADVANCE(910); END_STATE(); case 889: - if (lookahead == 'e') ADVANCE(907); + if (lookahead == 'a') ADVANCE(911); END_STATE(); case 890: - ACCEPT_TOKEN(anon_sym_netlink_dnrt_socket); + ACCEPT_TOKEN(anon_sym_x_synthetic_event); END_STATE(); case 891: - if (lookahead == 's') ADVANCE(908); + ACCEPT_TOKEN(anon_sym_infiniband_endport); END_STATE(); case 892: - if (lookahead == 'c') ADVANCE(909); + if (lookahead == 'e') ADVANCE(912); END_STATE(); case 893: - if (lookahead == 'k') ADVANCE(910); + if (lookahead == 's') ADVANCE(913); END_STATE(); case 894: - if (lookahead == 't') ADVANCE(911); + if (lookahead == 'k') ADVANCE(914); END_STATE(); case 895: - if (lookahead == 't') ADVANCE(912); + if (lookahead == 't') ADVANCE(915); END_STATE(); case 896: - if (lookahead == 'e') ADVANCE(913); + if (lookahead == '_') ADVANCE(916); END_STATE(); case 897: - if (lookahead == 'o') ADVANCE(914); + if (lookahead == 'o') ADVANCE(917); END_STATE(); case 898: - if (lookahead == 't') ADVANCE(915); + if (lookahead == 'c') ADVANCE(918); END_STATE(); case 899: - ACCEPT_TOKEN(anon_sym_netlink_rdma_socket); + if (lookahead == 'e') ADVANCE(919); END_STATE(); case 900: - if (lookahead == 't') ADVANCE(916); + if (lookahead == 'e') ADVANCE(920); END_STATE(); case 901: - if (lookahead == 'r') ADVANCE(917); + if (lookahead == 'v') ADVANCE(921); END_STATE(); case 902: - if (lookahead == 'k') ADVANCE(918); + if (lookahead == 's') ADVANCE(922); END_STATE(); case 903: - if (lookahead == 'k') ADVANCE(919); + if (lookahead == 'e') ADVANCE(923); END_STATE(); case 904: - ACCEPT_TOKEN(anon_sym_netlink_xfrm_socket); + if (lookahead == 't') ADVANCE(924); END_STATE(); case 905: - ACCEPT_TOKEN(anon_sym_netlink_audit_socket); + if (lookahead == 'e') ADVANCE(925); END_STATE(); case 906: - if (lookahead == 'c') ADVANCE(920); + if (lookahead == 'o') ADVANCE(926); END_STATE(); case 907: - if (lookahead == 't') ADVANCE(921); + if (lookahead == 'c') ADVANCE(927); END_STATE(); case 908: - if (lookahead == 'o') ADVANCE(922); + if (lookahead == 'c') ADVANCE(928); END_STATE(); case 909: - if (lookahead == 'k') ADVANCE(923); + if (lookahead == 't') ADVANCE(929); END_STATE(); case 910: - if (lookahead == 'e') ADVANCE(924); + ACCEPT_TOKEN(anon_sym_unix_stream_socket); END_STATE(); case 911: - ACCEPT_TOKEN(anon_sym_netlink_ip6fw_socket); + ACCEPT_TOKEN(anon_sym_x_application_data); END_STATE(); case 912: - ACCEPT_TOKEN(anon_sym_netlink_iscsi_socket); + if (lookahead == 't') ADVANCE(930); END_STATE(); case 913: - if (lookahead == 'n') ADVANCE(925); + if (lookahead == 'o') ADVANCE(931); END_STATE(); case 914: - if (lookahead == 'c') ADVANCE(926); + if (lookahead == 'e') ADVANCE(932); END_STATE(); case 915: - ACCEPT_TOKEN(anon_sym_netlink_nflog_socket); + ACCEPT_TOKEN(anon_sym_netlink_dnrt_socket); END_STATE(); case 916: - ACCEPT_TOKEN(anon_sym_netlink_route_socket); + if (lookahead == 's') ADVANCE(933); END_STATE(); case 917: - if (lookahead == 't') ADVANCE(927); + if (lookahead == 'c') ADVANCE(934); END_STATE(); case 918: - if (lookahead == 'e') ADVANCE(928); + if (lookahead == 'k') ADVANCE(935); END_STATE(); case 919: - if (lookahead == 'e') ADVANCE(929); + if (lookahead == 't') ADVANCE(936); END_STATE(); case 920: - if (lookahead == 'k') ADVANCE(930); + if (lookahead == 't') ADVANCE(937); END_STATE(); case 921: - ACCEPT_TOKEN(anon_sym_netlink_crypto_socket); + if (lookahead == 'e') ADVANCE(938); END_STATE(); case 922: - if (lookahead == 'c') ADVANCE(931); + if (lookahead == 'o') ADVANCE(939); END_STATE(); case 923: - if (lookahead == 'e') ADVANCE(932); + if (lookahead == 't') ADVANCE(940); END_STATE(); case 924: - if (lookahead == 't') ADVANCE(933); + ACCEPT_TOKEN(anon_sym_netlink_rdma_socket); END_STATE(); case 925: - if (lookahead == 't') ADVANCE(934); + if (lookahead == 't') ADVANCE(941); END_STATE(); case 926: - if (lookahead == 'k') ADVANCE(935); + if (lookahead == 'r') ADVANCE(942); END_STATE(); case 927: - if (lookahead == '_') ADVANCE(936); + if (lookahead == 'k') ADVANCE(943); END_STATE(); case 928: - if (lookahead == 't') ADVANCE(937); + if (lookahead == 'k') ADVANCE(944); END_STATE(); case 929: - if (lookahead == 't') ADVANCE(938); + ACCEPT_TOKEN(anon_sym_netlink_xfrm_socket); END_STATE(); case 930: - if (lookahead == 'e') ADVANCE(939); + ACCEPT_TOKEN(anon_sym_netlink_audit_socket); END_STATE(); case 931: - if (lookahead == 'k') ADVANCE(940); + if (lookahead == 'c') ADVANCE(945); END_STATE(); case 932: - if (lookahead == 't') ADVANCE(941); + if (lookahead == 't') ADVANCE(946); END_STATE(); case 933: - ACCEPT_TOKEN(anon_sym_netlink_generic_socket); + if (lookahead == 'o') ADVANCE(947); END_STATE(); case 934: - if (lookahead == '_') ADVANCE(942); + if (lookahead == 'k') ADVANCE(948); END_STATE(); case 935: - if (lookahead == 'e') ADVANCE(943); + if (lookahead == 'e') ADVANCE(949); END_STATE(); case 936: - if (lookahead == 's') ADVANCE(944); + ACCEPT_TOKEN(anon_sym_netlink_ip6fw_socket); END_STATE(); case 937: - ACCEPT_TOKEN(anon_sym_netlink_selinux_socket); + ACCEPT_TOKEN(anon_sym_netlink_iscsi_socket); END_STATE(); case 938: - ACCEPT_TOKEN(anon_sym_netlink_tcpdiag_socket); + if (lookahead == 'n') ADVANCE(950); END_STATE(); case 939: - if (lookahead == 't') ADVANCE(945); + if (lookahead == 'c') ADVANCE(951); END_STATE(); case 940: - if (lookahead == 'e') ADVANCE(946); + ACCEPT_TOKEN(anon_sym_netlink_nflog_socket); END_STATE(); case 941: - ACCEPT_TOKEN(anon_sym_netlink_firewall_socket); + ACCEPT_TOKEN(anon_sym_netlink_route_socket); END_STATE(); case 942: - if (lookahead == 's') ADVANCE(947); + if (lookahead == 't') ADVANCE(952); END_STATE(); case 943: - if (lookahead == 't') ADVANCE(948); + if (lookahead == 'e') ADVANCE(953); END_STATE(); case 944: - if (lookahead == 'o') ADVANCE(949); + if (lookahead == 'e') ADVANCE(954); END_STATE(); case 945: - ACCEPT_TOKEN(anon_sym_netlink_connector_socket); + if (lookahead == 'k') ADVANCE(955); END_STATE(); case 946: - if (lookahead == 't') ADVANCE(950); + ACCEPT_TOKEN(anon_sym_netlink_crypto_socket); END_STATE(); case 947: - if (lookahead == 'o') ADVANCE(951); + if (lookahead == 'c') ADVANCE(956); END_STATE(); case 948: - ACCEPT_TOKEN(anon_sym_netlink_netfilter_socket); + if (lookahead == 'e') ADVANCE(957); END_STATE(); case 949: - if (lookahead == 'c') ADVANCE(952); + if (lookahead == 't') ADVANCE(958); END_STATE(); case 950: - ACCEPT_TOKEN(anon_sym_netlink_fib_lookup_socket); + if (lookahead == 't') ADVANCE(959); END_STATE(); case 951: - if (lookahead == 'c') ADVANCE(953); + if (lookahead == 'k') ADVANCE(960); END_STATE(); case 952: - if (lookahead == 'k') ADVANCE(954); + if (lookahead == '_') ADVANCE(961); END_STATE(); case 953: - if (lookahead == 'k') ADVANCE(955); + if (lookahead == 't') ADVANCE(962); END_STATE(); case 954: - if (lookahead == 'e') ADVANCE(956); + if (lookahead == 't') ADVANCE(963); END_STATE(); case 955: - if (lookahead == 'e') ADVANCE(957); + if (lookahead == 'e') ADVANCE(964); END_STATE(); case 956: - if (lookahead == 't') ADVANCE(958); + if (lookahead == 'k') ADVANCE(965); END_STATE(); case 957: - if (lookahead == 't') ADVANCE(959); + if (lookahead == 't') ADVANCE(966); END_STATE(); case 958: - ACCEPT_TOKEN(anon_sym_netlink_scsitransport_socket); + ACCEPT_TOKEN(anon_sym_netlink_generic_socket); END_STATE(); case 959: + if (lookahead == '_') ADVANCE(967); + END_STATE(); + case 960: + if (lookahead == 'e') ADVANCE(968); + END_STATE(); + case 961: + if (lookahead == 's') ADVANCE(969); + END_STATE(); + case 962: + ACCEPT_TOKEN(anon_sym_netlink_selinux_socket); + END_STATE(); + case 963: + ACCEPT_TOKEN(anon_sym_netlink_tcpdiag_socket); + END_STATE(); + case 964: + if (lookahead == 't') ADVANCE(970); + END_STATE(); + case 965: + if (lookahead == 'e') ADVANCE(971); + END_STATE(); + case 966: + ACCEPT_TOKEN(anon_sym_netlink_firewall_socket); + END_STATE(); + case 967: + if (lookahead == 's') ADVANCE(972); + END_STATE(); + case 968: + if (lookahead == 't') ADVANCE(973); + END_STATE(); + case 969: + if (lookahead == 'o') ADVANCE(974); + END_STATE(); + case 970: + ACCEPT_TOKEN(anon_sym_netlink_connector_socket); + END_STATE(); + case 971: + if (lookahead == 't') ADVANCE(975); + END_STATE(); + case 972: + if (lookahead == 'o') ADVANCE(976); + END_STATE(); + case 973: + ACCEPT_TOKEN(anon_sym_netlink_netfilter_socket); + END_STATE(); + case 974: + if (lookahead == 'c') ADVANCE(977); + END_STATE(); + case 975: + ACCEPT_TOKEN(anon_sym_netlink_fib_lookup_socket); + END_STATE(); + case 976: + if (lookahead == 'c') ADVANCE(978); + END_STATE(); + case 977: + if (lookahead == 'k') ADVANCE(979); + END_STATE(); + case 978: + if (lookahead == 'k') ADVANCE(980); + END_STATE(); + case 979: + if (lookahead == 'e') ADVANCE(981); + END_STATE(); + case 980: + if (lookahead == 'e') ADVANCE(982); + END_STATE(); + case 981: + if (lookahead == 't') ADVANCE(983); + END_STATE(); + case 982: + if (lookahead == 't') ADVANCE(984); + END_STATE(); + case 983: + ACCEPT_TOKEN(anon_sym_netlink_scsitransport_socket); + END_STATE(); + case 984: ACCEPT_TOKEN(anon_sym_netlink_kobject_uevent_socket); END_STATE(); default: @@ -4977,6 +5177,31 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [157] = {.lex_state = 0}, [158] = {.lex_state = 0}, [159] = {.lex_state = 0}, + [160] = {.lex_state = 0}, + [161] = {.lex_state = 0}, + [162] = {.lex_state = 0}, + [163] = {.lex_state = 0}, + [164] = {.lex_state = 0}, + [165] = {.lex_state = 0}, + [166] = {.lex_state = 0}, + [167] = {.lex_state = 0}, + [168] = {.lex_state = 0}, + [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, + [171] = {.lex_state = 0}, + [172] = {.lex_state = 0}, + [173] = {.lex_state = 0}, + [174] = {.lex_state = 0}, + [175] = {.lex_state = 0}, + [176] = {.lex_state = 0}, + [177] = {.lex_state = 0}, + [178] = {.lex_state = 0}, + [179] = {.lex_state = 0}, + [180] = {.lex_state = 0}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 0}, + [184] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4999,6 +5224,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_type_member] = ACTIONS(1), [anon_sym_role] = ACTIONS(1), [anon_sym_types] = ACTIONS(1), + [anon_sym_attribute_role] = ACTIONS(1), + [anon_sym_roleattribute] = ACTIONS(1), + [anon_sym_role_transition] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_bool] = ACTIONS(1), @@ -5125,24 +5353,27 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_x_synthetic_event] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(142), - [sym__definition] = STATE(11), - [sym_type_declaration] = STATE(11), - [sym_attribute_declaration] = STATE(11), - [sym_expandattribute_declaration] = STATE(11), - [sym_typeattribute_declaration] = STATE(11), - [sym_typealias_declaration] = STATE(11), - [sym_permissive_declaration] = STATE(11), - [sym_type_transition_declaration] = STATE(11), - [sym_type_change_declaration] = STATE(11), - [sym_type_member_declaration] = STATE(11), - [sym_role_declaration] = STATE(11), - [sym_rule_declaration] = STATE(11), - [sym_boolean_declaration] = STATE(11), - [sym_macro_declaration] = STATE(11), - [sym_macro_usage] = STATE(11), - [sym_rule_name] = STATE(46), - [aux_sym_source_file_repeat1] = STATE(11), + [sym_source_file] = STATE(163), + [sym__definition] = STATE(13), + [sym_type_declaration] = STATE(13), + [sym_attribute_declaration] = STATE(13), + [sym_expandattribute_declaration] = STATE(13), + [sym_typeattribute_declaration] = STATE(13), + [sym_typealias_declaration] = STATE(13), + [sym_permissive_declaration] = STATE(13), + [sym_type_transition_declaration] = STATE(13), + [sym_type_change_declaration] = STATE(13), + [sym_type_member_declaration] = STATE(13), + [sym_role_declaration] = STATE(13), + [sym_attribute_role_declaration] = STATE(13), + [sym_roleattribute_declaration] = STATE(13), + [sym_role_transition_declaration] = STATE(13), + [sym_rule_declaration] = STATE(13), + [sym_boolean_declaration] = STATE(13), + [sym_macro_declaration] = STATE(13), + [sym_macro_usage] = STATE(13), + [sym_rule_name] = STATE(58), + [aux_sym_source_file_repeat1] = STATE(13), [ts_builtin_sym_end] = ACTIONS(5), [sym_word] = ACTIONS(7), [sym_comment] = ACTIONS(3), @@ -5156,132 +5387,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_type_change] = ACTIONS(23), [anon_sym_type_member] = ACTIONS(25), [anon_sym_role] = ACTIONS(27), - [anon_sym_bool] = ACTIONS(29), - [anon_sym_interface] = ACTIONS(31), - [anon_sym_allow] = ACTIONS(33), - [anon_sym_auditallow] = ACTIONS(33), - [anon_sym_dontaudit] = ACTIONS(33), - [anon_sym_neverallow] = ACTIONS(33), + [anon_sym_attribute_role] = ACTIONS(29), + [anon_sym_roleattribute] = ACTIONS(31), + [anon_sym_role_transition] = ACTIONS(33), + [anon_sym_bool] = ACTIONS(35), + [anon_sym_interface] = ACTIONS(37), + [anon_sym_allow] = ACTIONS(39), + [anon_sym_auditallow] = ACTIONS(39), + [anon_sym_dontaudit] = ACTIONS(39), + [anon_sym_neverallow] = ACTIONS(39), }, [2] = { - [sym_word] = ACTIONS(35), - [sym_comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(37), - [anon_sym_RBRACE] = ACTIONS(37), - [sym_complement] = ACTIONS(37), - [anon_sym_DOLLAR] = ACTIONS(37), - [anon_sym_STAR] = ACTIONS(37), - [anon_sym_anon_inode] = ACTIONS(35), - [anon_sym_appletalk_socket] = ACTIONS(35), - [anon_sym_association] = ACTIONS(35), - [anon_sym_binder] = ACTIONS(35), - [anon_sym_blk_file] = ACTIONS(35), - [anon_sym_bpf] = ACTIONS(35), - [anon_sym_cap2_userns] = ACTIONS(35), - [anon_sym_cap_userns] = ACTIONS(35), - [anon_sym_capability] = ACTIONS(35), - [anon_sym_capability2] = ACTIONS(35), - [anon_sym_chr_file] = ACTIONS(35), - [anon_sym_context] = ACTIONS(35), - [anon_sym_db_blob] = ACTIONS(35), - [anon_sym_db_column] = ACTIONS(35), - [anon_sym_db_database] = ACTIONS(35), - [anon_sym_db_language] = ACTIONS(35), - [anon_sym_db_procedure] = ACTIONS(35), - [anon_sym_db_schema] = ACTIONS(35), - [anon_sym_db_sequence] = ACTIONS(35), - [anon_sym_db_table] = ACTIONS(35), - [anon_sym_db_tuple] = ACTIONS(35), - [anon_sym_db_view] = ACTIONS(35), - [anon_sym_dbus] = ACTIONS(35), - [anon_sym_dccp_socket] = ACTIONS(35), - [anon_sym_dir] = ACTIONS(35), - [anon_sym_fd] = ACTIONS(35), - [anon_sym_fifo_file] = ACTIONS(35), - [anon_sym_file] = ACTIONS(35), - [anon_sym_filesystem] = ACTIONS(35), - [anon_sym_icmp_socket] = ACTIONS(35), - [anon_sym_infiniband_endport] = ACTIONS(35), - [anon_sym_infiniband_pkey] = ACTIONS(35), - [anon_sym_io_uring] = ACTIONS(35), - [anon_sym_ipc] = ACTIONS(35), - [anon_sym_kernel_service] = ACTIONS(35), - [anon_sym_key] = ACTIONS(35), - [anon_sym_key_socket] = ACTIONS(35), - [anon_sym_lnk_file] = ACTIONS(35), - [anon_sym_lockdown] = ACTIONS(35), - [anon_sym_memprotect] = ACTIONS(35), - [anon_sym_msg] = ACTIONS(35), - [anon_sym_msgq] = ACTIONS(35), - [anon_sym_netif] = ACTIONS(35), - [anon_sym_netlink_audit_socket] = ACTIONS(35), - [anon_sym_netlink_connector_socket] = ACTIONS(35), - [anon_sym_netlink_crypto_socket] = ACTIONS(35), - [anon_sym_netlink_dnrt_socket] = ACTIONS(35), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(35), - [anon_sym_netlink_firewall_socket] = ACTIONS(35), - [anon_sym_netlink_generic_socket] = ACTIONS(35), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(35), - [anon_sym_netlink_iscsi_socket] = ACTIONS(35), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(35), - [anon_sym_netlink_netfilter_socket] = ACTIONS(35), - [anon_sym_netlink_nflog_socket] = ACTIONS(35), - [anon_sym_netlink_rdma_socket] = ACTIONS(35), - [anon_sym_netlink_route_socket] = ACTIONS(35), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(35), - [anon_sym_netlink_selinux_socket] = ACTIONS(35), - [anon_sym_netlink_socket] = ACTIONS(35), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(35), - [anon_sym_netlink_xfrm_socket] = ACTIONS(35), - [anon_sym_node] = ACTIONS(35), - [anon_sym_nscd] = ACTIONS(35), - [anon_sym_packet] = ACTIONS(35), - [anon_sym_packet_socket] = ACTIONS(35), - [anon_sym_passwd] = ACTIONS(35), - [anon_sym_peer] = ACTIONS(35), - [anon_sym_perf_event] = ACTIONS(35), - [anon_sym_process] = ACTIONS(35), - [anon_sym_process2] = ACTIONS(35), - [anon_sym_proxy] = ACTIONS(35), - [anon_sym_rawip_socket] = ACTIONS(35), - [anon_sym_sctp_socket] = ACTIONS(35), - [anon_sym_security] = ACTIONS(35), - [anon_sym_sem] = ACTIONS(35), - [anon_sym_service] = ACTIONS(35), - [anon_sym_shm] = ACTIONS(35), - [anon_sym_sock_file] = ACTIONS(35), - [anon_sym_socket] = ACTIONS(35), - [anon_sym_system] = ACTIONS(35), - [anon_sym_tcp_socket] = ACTIONS(35), - [anon_sym_tun_socket] = ACTIONS(35), - [anon_sym_udp_socket] = ACTIONS(35), - [anon_sym_unix_dgram_socket] = ACTIONS(35), - [anon_sym_unix_stream_socket] = ACTIONS(35), - [anon_sym_user_namespace] = ACTIONS(35), - [anon_sym_x_application_data] = ACTIONS(35), - [anon_sym_x_client] = ACTIONS(35), - [anon_sym_x_colormap] = ACTIONS(35), - [anon_sym_x_cursor] = ACTIONS(35), - [anon_sym_x_device] = ACTIONS(35), - [anon_sym_x_drawable] = ACTIONS(35), - [anon_sym_x_event] = ACTIONS(35), - [anon_sym_x_extension] = ACTIONS(35), - [anon_sym_x_font] = ACTIONS(35), - [anon_sym_x_gc] = ACTIONS(35), - [anon_sym_x_keyboard] = ACTIONS(35), - [anon_sym_x_pointer] = ACTIONS(35), - [anon_sym_x_property] = ACTIONS(35), - [anon_sym_x_resource] = ACTIONS(35), - [anon_sym_x_screen] = ACTIONS(35), - [anon_sym_x_selection] = ACTIONS(35), - [anon_sym_x_server] = ACTIONS(35), - [anon_sym_x_synthetic_event] = ACTIONS(35), - }, - [3] = { - [sym_classes] = STATE(10), - [aux_sym_class_repeat1] = STATE(3), + [sym_word] = ACTIONS(41), [sym_comment] = ACTIONS(3), - [anon_sym_RBRACE] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_RBRACE] = ACTIONS(43), + [sym_complement] = ACTIONS(43), + [anon_sym_DOLLAR] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(43), [anon_sym_anon_inode] = ACTIONS(41), [anon_sym_appletalk_socket] = ACTIONS(41), [anon_sym_association] = ACTIONS(41), @@ -5290,7 +5413,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_bpf] = ACTIONS(41), [anon_sym_cap2_userns] = ACTIONS(41), [anon_sym_cap_userns] = ACTIONS(41), - [anon_sym_capability] = ACTIONS(44), + [anon_sym_capability] = ACTIONS(41), [anon_sym_capability2] = ACTIONS(41), [anon_sym_chr_file] = ACTIONS(41), [anon_sym_context] = ACTIONS(41), @@ -5309,7 +5432,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_dir] = ACTIONS(41), [anon_sym_fd] = ACTIONS(41), [anon_sym_fifo_file] = ACTIONS(41), - [anon_sym_file] = ACTIONS(44), + [anon_sym_file] = ACTIONS(41), [anon_sym_filesystem] = ACTIONS(41), [anon_sym_icmp_socket] = ACTIONS(41), [anon_sym_infiniband_endport] = ACTIONS(41), @@ -5317,12 +5440,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_io_uring] = ACTIONS(41), [anon_sym_ipc] = ACTIONS(41), [anon_sym_kernel_service] = ACTIONS(41), - [anon_sym_key] = ACTIONS(44), + [anon_sym_key] = ACTIONS(41), [anon_sym_key_socket] = ACTIONS(41), [anon_sym_lnk_file] = ACTIONS(41), [anon_sym_lockdown] = ACTIONS(41), [anon_sym_memprotect] = ACTIONS(41), - [anon_sym_msg] = ACTIONS(44), + [anon_sym_msg] = ACTIONS(41), [anon_sym_msgq] = ACTIONS(41), [anon_sym_netif] = ACTIONS(41), [anon_sym_netlink_audit_socket] = ACTIONS(41), @@ -5346,12 +5469,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_netlink_xfrm_socket] = ACTIONS(41), [anon_sym_node] = ACTIONS(41), [anon_sym_nscd] = ACTIONS(41), - [anon_sym_packet] = ACTIONS(44), + [anon_sym_packet] = ACTIONS(41), [anon_sym_packet_socket] = ACTIONS(41), [anon_sym_passwd] = ACTIONS(41), [anon_sym_peer] = ACTIONS(41), [anon_sym_perf_event] = ACTIONS(41), - [anon_sym_process] = ACTIONS(44), + [anon_sym_process] = ACTIONS(41), [anon_sym_process2] = ACTIONS(41), [anon_sym_proxy] = ACTIONS(41), [anon_sym_rawip_socket] = ACTIONS(41), @@ -5388,674 +5511,344 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_x_server] = ACTIONS(41), [anon_sym_x_synthetic_event] = ACTIONS(41), }, - [4] = { - [sym_class] = STATE(99), - [sym_classes] = STATE(76), - [sym_comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(47), - [anon_sym_anon_inode] = ACTIONS(49), - [anon_sym_appletalk_socket] = ACTIONS(49), - [anon_sym_association] = ACTIONS(49), - [anon_sym_binder] = ACTIONS(49), - [anon_sym_blk_file] = ACTIONS(49), - [anon_sym_bpf] = ACTIONS(49), - [anon_sym_cap2_userns] = ACTIONS(49), - [anon_sym_cap_userns] = ACTIONS(49), - [anon_sym_capability] = ACTIONS(51), - [anon_sym_capability2] = ACTIONS(49), - [anon_sym_chr_file] = ACTIONS(49), - [anon_sym_context] = ACTIONS(49), - [anon_sym_db_blob] = ACTIONS(49), - [anon_sym_db_column] = ACTIONS(49), - [anon_sym_db_database] = ACTIONS(49), - [anon_sym_db_language] = ACTIONS(49), - [anon_sym_db_procedure] = ACTIONS(49), - [anon_sym_db_schema] = ACTIONS(49), - [anon_sym_db_sequence] = ACTIONS(49), - [anon_sym_db_table] = ACTIONS(49), - [anon_sym_db_tuple] = ACTIONS(49), - [anon_sym_db_view] = ACTIONS(49), - [anon_sym_dbus] = ACTIONS(49), - [anon_sym_dccp_socket] = ACTIONS(49), - [anon_sym_dir] = ACTIONS(49), - [anon_sym_fd] = ACTIONS(49), - [anon_sym_fifo_file] = ACTIONS(49), - [anon_sym_file] = ACTIONS(51), - [anon_sym_filesystem] = ACTIONS(49), - [anon_sym_icmp_socket] = ACTIONS(49), - [anon_sym_infiniband_endport] = ACTIONS(49), - [anon_sym_infiniband_pkey] = ACTIONS(49), - [anon_sym_io_uring] = ACTIONS(49), - [anon_sym_ipc] = ACTIONS(49), - [anon_sym_kernel_service] = ACTIONS(49), - [anon_sym_key] = ACTIONS(51), - [anon_sym_key_socket] = ACTIONS(49), - [anon_sym_lnk_file] = ACTIONS(49), - [anon_sym_lockdown] = ACTIONS(49), - [anon_sym_memprotect] = ACTIONS(49), - [anon_sym_msg] = ACTIONS(51), - [anon_sym_msgq] = ACTIONS(49), - [anon_sym_netif] = ACTIONS(49), - [anon_sym_netlink_audit_socket] = ACTIONS(49), - [anon_sym_netlink_connector_socket] = ACTIONS(49), - [anon_sym_netlink_crypto_socket] = ACTIONS(49), - [anon_sym_netlink_dnrt_socket] = ACTIONS(49), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(49), - [anon_sym_netlink_firewall_socket] = ACTIONS(49), - [anon_sym_netlink_generic_socket] = ACTIONS(49), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(49), - [anon_sym_netlink_iscsi_socket] = ACTIONS(49), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(49), - [anon_sym_netlink_netfilter_socket] = ACTIONS(49), - [anon_sym_netlink_nflog_socket] = ACTIONS(49), - [anon_sym_netlink_rdma_socket] = ACTIONS(49), - [anon_sym_netlink_route_socket] = ACTIONS(49), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(49), - [anon_sym_netlink_selinux_socket] = ACTIONS(49), - [anon_sym_netlink_socket] = ACTIONS(49), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(49), - [anon_sym_netlink_xfrm_socket] = ACTIONS(49), - [anon_sym_node] = ACTIONS(49), - [anon_sym_nscd] = ACTIONS(49), - [anon_sym_packet] = ACTIONS(51), - [anon_sym_packet_socket] = ACTIONS(49), - [anon_sym_passwd] = ACTIONS(49), - [anon_sym_peer] = ACTIONS(49), - [anon_sym_perf_event] = ACTIONS(49), - [anon_sym_process] = ACTIONS(51), - [anon_sym_process2] = ACTIONS(49), - [anon_sym_proxy] = ACTIONS(49), - [anon_sym_rawip_socket] = ACTIONS(49), - [anon_sym_sctp_socket] = ACTIONS(49), - [anon_sym_security] = ACTIONS(49), - [anon_sym_sem] = ACTIONS(49), - [anon_sym_service] = ACTIONS(49), - [anon_sym_shm] = ACTIONS(49), - [anon_sym_sock_file] = ACTIONS(49), - [anon_sym_socket] = ACTIONS(49), - [anon_sym_system] = ACTIONS(49), - [anon_sym_tcp_socket] = ACTIONS(49), - [anon_sym_tun_socket] = ACTIONS(49), - [anon_sym_udp_socket] = ACTIONS(49), - [anon_sym_unix_dgram_socket] = ACTIONS(49), - [anon_sym_unix_stream_socket] = ACTIONS(49), - [anon_sym_user_namespace] = ACTIONS(49), - [anon_sym_x_application_data] = ACTIONS(49), - [anon_sym_x_client] = ACTIONS(49), - [anon_sym_x_colormap] = ACTIONS(49), - [anon_sym_x_cursor] = ACTIONS(49), - [anon_sym_x_device] = ACTIONS(49), - [anon_sym_x_drawable] = ACTIONS(49), - [anon_sym_x_event] = ACTIONS(49), - [anon_sym_x_extension] = ACTIONS(49), - [anon_sym_x_font] = ACTIONS(49), - [anon_sym_x_gc] = ACTIONS(49), - [anon_sym_x_keyboard] = ACTIONS(49), - [anon_sym_x_pointer] = ACTIONS(49), - [anon_sym_x_property] = ACTIONS(49), - [anon_sym_x_resource] = ACTIONS(49), - [anon_sym_x_screen] = ACTIONS(49), - [anon_sym_x_selection] = ACTIONS(49), - [anon_sym_x_server] = ACTIONS(49), - [anon_sym_x_synthetic_event] = ACTIONS(49), - }, - [5] = { - [sym_class] = STATE(97), - [sym_classes] = STATE(76), - [sym_comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(47), - [anon_sym_anon_inode] = ACTIONS(49), - [anon_sym_appletalk_socket] = ACTIONS(49), - [anon_sym_association] = ACTIONS(49), - [anon_sym_binder] = ACTIONS(49), - [anon_sym_blk_file] = ACTIONS(49), - [anon_sym_bpf] = ACTIONS(49), - [anon_sym_cap2_userns] = ACTIONS(49), - [anon_sym_cap_userns] = ACTIONS(49), - [anon_sym_capability] = ACTIONS(51), - [anon_sym_capability2] = ACTIONS(49), - [anon_sym_chr_file] = ACTIONS(49), - [anon_sym_context] = ACTIONS(49), - [anon_sym_db_blob] = ACTIONS(49), - [anon_sym_db_column] = ACTIONS(49), - [anon_sym_db_database] = ACTIONS(49), - [anon_sym_db_language] = ACTIONS(49), - [anon_sym_db_procedure] = ACTIONS(49), - [anon_sym_db_schema] = ACTIONS(49), - [anon_sym_db_sequence] = ACTIONS(49), - [anon_sym_db_table] = ACTIONS(49), - [anon_sym_db_tuple] = ACTIONS(49), - [anon_sym_db_view] = ACTIONS(49), - [anon_sym_dbus] = ACTIONS(49), - [anon_sym_dccp_socket] = ACTIONS(49), - [anon_sym_dir] = ACTIONS(49), - [anon_sym_fd] = ACTIONS(49), - [anon_sym_fifo_file] = ACTIONS(49), - [anon_sym_file] = ACTIONS(51), - [anon_sym_filesystem] = ACTIONS(49), - [anon_sym_icmp_socket] = ACTIONS(49), - [anon_sym_infiniband_endport] = ACTIONS(49), - [anon_sym_infiniband_pkey] = ACTIONS(49), - [anon_sym_io_uring] = ACTIONS(49), - [anon_sym_ipc] = ACTIONS(49), - [anon_sym_kernel_service] = ACTIONS(49), - [anon_sym_key] = ACTIONS(51), - [anon_sym_key_socket] = ACTIONS(49), - [anon_sym_lnk_file] = ACTIONS(49), - [anon_sym_lockdown] = ACTIONS(49), - [anon_sym_memprotect] = ACTIONS(49), - [anon_sym_msg] = ACTIONS(51), - [anon_sym_msgq] = ACTIONS(49), - [anon_sym_netif] = ACTIONS(49), - [anon_sym_netlink_audit_socket] = ACTIONS(49), - [anon_sym_netlink_connector_socket] = ACTIONS(49), - [anon_sym_netlink_crypto_socket] = ACTIONS(49), - [anon_sym_netlink_dnrt_socket] = ACTIONS(49), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(49), - [anon_sym_netlink_firewall_socket] = ACTIONS(49), - [anon_sym_netlink_generic_socket] = ACTIONS(49), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(49), - [anon_sym_netlink_iscsi_socket] = ACTIONS(49), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(49), - [anon_sym_netlink_netfilter_socket] = ACTIONS(49), - [anon_sym_netlink_nflog_socket] = ACTIONS(49), - [anon_sym_netlink_rdma_socket] = ACTIONS(49), - [anon_sym_netlink_route_socket] = ACTIONS(49), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(49), - [anon_sym_netlink_selinux_socket] = ACTIONS(49), - [anon_sym_netlink_socket] = ACTIONS(49), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(49), - [anon_sym_netlink_xfrm_socket] = ACTIONS(49), - [anon_sym_node] = ACTIONS(49), - [anon_sym_nscd] = ACTIONS(49), - [anon_sym_packet] = ACTIONS(51), - [anon_sym_packet_socket] = ACTIONS(49), - [anon_sym_passwd] = ACTIONS(49), - [anon_sym_peer] = ACTIONS(49), - [anon_sym_perf_event] = ACTIONS(49), - [anon_sym_process] = ACTIONS(51), - [anon_sym_process2] = ACTIONS(49), - [anon_sym_proxy] = ACTIONS(49), - [anon_sym_rawip_socket] = ACTIONS(49), - [anon_sym_sctp_socket] = ACTIONS(49), - [anon_sym_security] = ACTIONS(49), - [anon_sym_sem] = ACTIONS(49), - [anon_sym_service] = ACTIONS(49), - [anon_sym_shm] = ACTIONS(49), - [anon_sym_sock_file] = ACTIONS(49), - [anon_sym_socket] = ACTIONS(49), - [anon_sym_system] = ACTIONS(49), - [anon_sym_tcp_socket] = ACTIONS(49), - [anon_sym_tun_socket] = ACTIONS(49), - [anon_sym_udp_socket] = ACTIONS(49), - [anon_sym_unix_dgram_socket] = ACTIONS(49), - [anon_sym_unix_stream_socket] = ACTIONS(49), - [anon_sym_user_namespace] = ACTIONS(49), - [anon_sym_x_application_data] = ACTIONS(49), - [anon_sym_x_client] = ACTIONS(49), - [anon_sym_x_colormap] = ACTIONS(49), - [anon_sym_x_cursor] = ACTIONS(49), - [anon_sym_x_device] = ACTIONS(49), - [anon_sym_x_drawable] = ACTIONS(49), - [anon_sym_x_event] = ACTIONS(49), - [anon_sym_x_extension] = ACTIONS(49), - [anon_sym_x_font] = ACTIONS(49), - [anon_sym_x_gc] = ACTIONS(49), - [anon_sym_x_keyboard] = ACTIONS(49), - [anon_sym_x_pointer] = ACTIONS(49), - [anon_sym_x_property] = ACTIONS(49), - [anon_sym_x_resource] = ACTIONS(49), - [anon_sym_x_screen] = ACTIONS(49), - [anon_sym_x_selection] = ACTIONS(49), - [anon_sym_x_server] = ACTIONS(49), - [anon_sym_x_synthetic_event] = ACTIONS(49), - }, - [6] = { + [3] = { [sym_class] = STATE(96), - [sym_classes] = STATE(76), + [sym_classes] = STATE(86), [sym_comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(47), - [anon_sym_anon_inode] = ACTIONS(49), - [anon_sym_appletalk_socket] = ACTIONS(49), - [anon_sym_association] = ACTIONS(49), - [anon_sym_binder] = ACTIONS(49), - [anon_sym_blk_file] = ACTIONS(49), - [anon_sym_bpf] = ACTIONS(49), - [anon_sym_cap2_userns] = ACTIONS(49), - [anon_sym_cap_userns] = ACTIONS(49), - [anon_sym_capability] = ACTIONS(51), - [anon_sym_capability2] = ACTIONS(49), - [anon_sym_chr_file] = ACTIONS(49), - [anon_sym_context] = ACTIONS(49), - [anon_sym_db_blob] = ACTIONS(49), - [anon_sym_db_column] = ACTIONS(49), - [anon_sym_db_database] = ACTIONS(49), - [anon_sym_db_language] = ACTIONS(49), - [anon_sym_db_procedure] = ACTIONS(49), - [anon_sym_db_schema] = ACTIONS(49), - [anon_sym_db_sequence] = ACTIONS(49), - [anon_sym_db_table] = ACTIONS(49), - [anon_sym_db_tuple] = ACTIONS(49), - [anon_sym_db_view] = ACTIONS(49), - [anon_sym_dbus] = ACTIONS(49), - [anon_sym_dccp_socket] = ACTIONS(49), - [anon_sym_dir] = ACTIONS(49), - [anon_sym_fd] = ACTIONS(49), - [anon_sym_fifo_file] = ACTIONS(49), - [anon_sym_file] = ACTIONS(51), - [anon_sym_filesystem] = ACTIONS(49), - [anon_sym_icmp_socket] = ACTIONS(49), - [anon_sym_infiniband_endport] = ACTIONS(49), - [anon_sym_infiniband_pkey] = ACTIONS(49), - [anon_sym_io_uring] = ACTIONS(49), - [anon_sym_ipc] = ACTIONS(49), - [anon_sym_kernel_service] = ACTIONS(49), - [anon_sym_key] = ACTIONS(51), - [anon_sym_key_socket] = ACTIONS(49), - [anon_sym_lnk_file] = ACTIONS(49), - [anon_sym_lockdown] = ACTIONS(49), - [anon_sym_memprotect] = ACTIONS(49), - [anon_sym_msg] = ACTIONS(51), - [anon_sym_msgq] = ACTIONS(49), - [anon_sym_netif] = ACTIONS(49), - [anon_sym_netlink_audit_socket] = ACTIONS(49), - [anon_sym_netlink_connector_socket] = ACTIONS(49), - [anon_sym_netlink_crypto_socket] = ACTIONS(49), - [anon_sym_netlink_dnrt_socket] = ACTIONS(49), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(49), - [anon_sym_netlink_firewall_socket] = ACTIONS(49), - [anon_sym_netlink_generic_socket] = ACTIONS(49), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(49), - [anon_sym_netlink_iscsi_socket] = ACTIONS(49), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(49), - [anon_sym_netlink_netfilter_socket] = ACTIONS(49), - [anon_sym_netlink_nflog_socket] = ACTIONS(49), - [anon_sym_netlink_rdma_socket] = ACTIONS(49), - [anon_sym_netlink_route_socket] = ACTIONS(49), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(49), - [anon_sym_netlink_selinux_socket] = ACTIONS(49), - [anon_sym_netlink_socket] = ACTIONS(49), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(49), - [anon_sym_netlink_xfrm_socket] = ACTIONS(49), - [anon_sym_node] = ACTIONS(49), - [anon_sym_nscd] = ACTIONS(49), - [anon_sym_packet] = ACTIONS(51), - [anon_sym_packet_socket] = ACTIONS(49), - [anon_sym_passwd] = ACTIONS(49), - [anon_sym_peer] = ACTIONS(49), - [anon_sym_perf_event] = ACTIONS(49), - [anon_sym_process] = ACTIONS(51), - [anon_sym_process2] = ACTIONS(49), - [anon_sym_proxy] = ACTIONS(49), - [anon_sym_rawip_socket] = ACTIONS(49), - [anon_sym_sctp_socket] = ACTIONS(49), - [anon_sym_security] = ACTIONS(49), - [anon_sym_sem] = ACTIONS(49), - [anon_sym_service] = ACTIONS(49), - [anon_sym_shm] = ACTIONS(49), - [anon_sym_sock_file] = ACTIONS(49), - [anon_sym_socket] = ACTIONS(49), - [anon_sym_system] = ACTIONS(49), - [anon_sym_tcp_socket] = ACTIONS(49), - [anon_sym_tun_socket] = ACTIONS(49), - [anon_sym_udp_socket] = ACTIONS(49), - [anon_sym_unix_dgram_socket] = ACTIONS(49), - [anon_sym_unix_stream_socket] = ACTIONS(49), - [anon_sym_user_namespace] = ACTIONS(49), - [anon_sym_x_application_data] = ACTIONS(49), - [anon_sym_x_client] = ACTIONS(49), - [anon_sym_x_colormap] = ACTIONS(49), - [anon_sym_x_cursor] = ACTIONS(49), - [anon_sym_x_device] = ACTIONS(49), - [anon_sym_x_drawable] = ACTIONS(49), - [anon_sym_x_event] = ACTIONS(49), - [anon_sym_x_extension] = ACTIONS(49), - [anon_sym_x_font] = ACTIONS(49), - [anon_sym_x_gc] = ACTIONS(49), - [anon_sym_x_keyboard] = ACTIONS(49), - [anon_sym_x_pointer] = ACTIONS(49), - [anon_sym_x_property] = ACTIONS(49), - [anon_sym_x_resource] = ACTIONS(49), - [anon_sym_x_screen] = ACTIONS(49), - [anon_sym_x_selection] = ACTIONS(49), - [anon_sym_x_server] = ACTIONS(49), - [anon_sym_x_synthetic_event] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(45), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), }, - [7] = { - [sym_class] = STATE(36), - [sym_classes] = STATE(76), + [4] = { + [sym_class] = STATE(43), + [sym_classes] = STATE(86), [sym_comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(47), - [anon_sym_anon_inode] = ACTIONS(49), - [anon_sym_appletalk_socket] = ACTIONS(49), - [anon_sym_association] = ACTIONS(49), - [anon_sym_binder] = ACTIONS(49), - [anon_sym_blk_file] = ACTIONS(49), - [anon_sym_bpf] = ACTIONS(49), - [anon_sym_cap2_userns] = ACTIONS(49), - [anon_sym_cap_userns] = ACTIONS(49), - [anon_sym_capability] = ACTIONS(51), - [anon_sym_capability2] = ACTIONS(49), - [anon_sym_chr_file] = ACTIONS(49), - [anon_sym_context] = ACTIONS(49), - [anon_sym_db_blob] = ACTIONS(49), - [anon_sym_db_column] = ACTIONS(49), - [anon_sym_db_database] = ACTIONS(49), - [anon_sym_db_language] = ACTIONS(49), - [anon_sym_db_procedure] = ACTIONS(49), - [anon_sym_db_schema] = ACTIONS(49), - [anon_sym_db_sequence] = ACTIONS(49), - [anon_sym_db_table] = ACTIONS(49), - [anon_sym_db_tuple] = ACTIONS(49), - [anon_sym_db_view] = ACTIONS(49), - [anon_sym_dbus] = ACTIONS(49), - [anon_sym_dccp_socket] = ACTIONS(49), - [anon_sym_dir] = ACTIONS(49), - [anon_sym_fd] = ACTIONS(49), - [anon_sym_fifo_file] = ACTIONS(49), - [anon_sym_file] = ACTIONS(51), - [anon_sym_filesystem] = ACTIONS(49), - [anon_sym_icmp_socket] = ACTIONS(49), - [anon_sym_infiniband_endport] = ACTIONS(49), - [anon_sym_infiniband_pkey] = ACTIONS(49), - [anon_sym_io_uring] = ACTIONS(49), - [anon_sym_ipc] = ACTIONS(49), - [anon_sym_kernel_service] = ACTIONS(49), - [anon_sym_key] = ACTIONS(51), - [anon_sym_key_socket] = ACTIONS(49), - [anon_sym_lnk_file] = ACTIONS(49), - [anon_sym_lockdown] = ACTIONS(49), - [anon_sym_memprotect] = ACTIONS(49), - [anon_sym_msg] = ACTIONS(51), - [anon_sym_msgq] = ACTIONS(49), - [anon_sym_netif] = ACTIONS(49), - [anon_sym_netlink_audit_socket] = ACTIONS(49), - [anon_sym_netlink_connector_socket] = ACTIONS(49), - [anon_sym_netlink_crypto_socket] = ACTIONS(49), - [anon_sym_netlink_dnrt_socket] = ACTIONS(49), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(49), - [anon_sym_netlink_firewall_socket] = ACTIONS(49), - [anon_sym_netlink_generic_socket] = ACTIONS(49), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(49), - [anon_sym_netlink_iscsi_socket] = ACTIONS(49), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(49), - [anon_sym_netlink_netfilter_socket] = ACTIONS(49), - [anon_sym_netlink_nflog_socket] = ACTIONS(49), - [anon_sym_netlink_rdma_socket] = ACTIONS(49), - [anon_sym_netlink_route_socket] = ACTIONS(49), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(49), - [anon_sym_netlink_selinux_socket] = ACTIONS(49), - [anon_sym_netlink_socket] = ACTIONS(49), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(49), - [anon_sym_netlink_xfrm_socket] = ACTIONS(49), - [anon_sym_node] = ACTIONS(49), - [anon_sym_nscd] = ACTIONS(49), - [anon_sym_packet] = ACTIONS(51), - [anon_sym_packet_socket] = ACTIONS(49), - [anon_sym_passwd] = ACTIONS(49), - [anon_sym_peer] = ACTIONS(49), - [anon_sym_perf_event] = ACTIONS(49), - [anon_sym_process] = ACTIONS(51), - [anon_sym_process2] = ACTIONS(49), - [anon_sym_proxy] = ACTIONS(49), - [anon_sym_rawip_socket] = ACTIONS(49), - [anon_sym_sctp_socket] = ACTIONS(49), - [anon_sym_security] = ACTIONS(49), - [anon_sym_sem] = ACTIONS(49), - [anon_sym_service] = ACTIONS(49), - [anon_sym_shm] = ACTIONS(49), - [anon_sym_sock_file] = ACTIONS(49), - [anon_sym_socket] = ACTIONS(49), - [anon_sym_system] = ACTIONS(49), - [anon_sym_tcp_socket] = ACTIONS(49), - [anon_sym_tun_socket] = ACTIONS(49), - [anon_sym_udp_socket] = ACTIONS(49), - [anon_sym_unix_dgram_socket] = ACTIONS(49), - [anon_sym_unix_stream_socket] = ACTIONS(49), - [anon_sym_user_namespace] = ACTIONS(49), - [anon_sym_x_application_data] = ACTIONS(49), - [anon_sym_x_client] = ACTIONS(49), - [anon_sym_x_colormap] = ACTIONS(49), - [anon_sym_x_cursor] = ACTIONS(49), - [anon_sym_x_device] = ACTIONS(49), - [anon_sym_x_drawable] = ACTIONS(49), - [anon_sym_x_event] = ACTIONS(49), - [anon_sym_x_extension] = ACTIONS(49), - [anon_sym_x_font] = ACTIONS(49), - [anon_sym_x_gc] = ACTIONS(49), - [anon_sym_x_keyboard] = ACTIONS(49), - [anon_sym_x_pointer] = ACTIONS(49), - [anon_sym_x_property] = ACTIONS(49), - [anon_sym_x_resource] = ACTIONS(49), - [anon_sym_x_screen] = ACTIONS(49), - [anon_sym_x_selection] = ACTIONS(49), - [anon_sym_x_server] = ACTIONS(49), - [anon_sym_x_synthetic_event] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(45), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), }, - [8] = { + [5] = { [sym_classes] = STATE(10), - [aux_sym_class_repeat1] = STATE(3), + [aux_sym_class_repeat1] = STATE(6), [sym_comment] = ACTIONS(3), - [anon_sym_RBRACE] = ACTIONS(53), - [anon_sym_anon_inode] = ACTIONS(49), - [anon_sym_appletalk_socket] = ACTIONS(49), - [anon_sym_association] = ACTIONS(49), - [anon_sym_binder] = ACTIONS(49), - [anon_sym_blk_file] = ACTIONS(49), - [anon_sym_bpf] = ACTIONS(49), - [anon_sym_cap2_userns] = ACTIONS(49), - [anon_sym_cap_userns] = ACTIONS(49), - [anon_sym_capability] = ACTIONS(51), - [anon_sym_capability2] = ACTIONS(49), - [anon_sym_chr_file] = ACTIONS(49), - [anon_sym_context] = ACTIONS(49), - [anon_sym_db_blob] = ACTIONS(49), - [anon_sym_db_column] = ACTIONS(49), - [anon_sym_db_database] = ACTIONS(49), - [anon_sym_db_language] = ACTIONS(49), - [anon_sym_db_procedure] = ACTIONS(49), - [anon_sym_db_schema] = ACTIONS(49), - [anon_sym_db_sequence] = ACTIONS(49), - [anon_sym_db_table] = ACTIONS(49), - [anon_sym_db_tuple] = ACTIONS(49), - [anon_sym_db_view] = ACTIONS(49), - [anon_sym_dbus] = ACTIONS(49), - [anon_sym_dccp_socket] = ACTIONS(49), - [anon_sym_dir] = ACTIONS(49), - [anon_sym_fd] = ACTIONS(49), - [anon_sym_fifo_file] = ACTIONS(49), - [anon_sym_file] = ACTIONS(51), - [anon_sym_filesystem] = ACTIONS(49), - [anon_sym_icmp_socket] = ACTIONS(49), - [anon_sym_infiniband_endport] = ACTIONS(49), - [anon_sym_infiniband_pkey] = ACTIONS(49), - [anon_sym_io_uring] = ACTIONS(49), - [anon_sym_ipc] = ACTIONS(49), - [anon_sym_kernel_service] = ACTIONS(49), - [anon_sym_key] = ACTIONS(51), - [anon_sym_key_socket] = ACTIONS(49), - [anon_sym_lnk_file] = ACTIONS(49), - [anon_sym_lockdown] = ACTIONS(49), - [anon_sym_memprotect] = ACTIONS(49), - [anon_sym_msg] = ACTIONS(51), - [anon_sym_msgq] = ACTIONS(49), - [anon_sym_netif] = ACTIONS(49), - [anon_sym_netlink_audit_socket] = ACTIONS(49), - [anon_sym_netlink_connector_socket] = ACTIONS(49), - [anon_sym_netlink_crypto_socket] = ACTIONS(49), - [anon_sym_netlink_dnrt_socket] = ACTIONS(49), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(49), - [anon_sym_netlink_firewall_socket] = ACTIONS(49), - [anon_sym_netlink_generic_socket] = ACTIONS(49), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(49), - [anon_sym_netlink_iscsi_socket] = ACTIONS(49), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(49), - [anon_sym_netlink_netfilter_socket] = ACTIONS(49), - [anon_sym_netlink_nflog_socket] = ACTIONS(49), - [anon_sym_netlink_rdma_socket] = ACTIONS(49), - [anon_sym_netlink_route_socket] = ACTIONS(49), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(49), - [anon_sym_netlink_selinux_socket] = ACTIONS(49), - [anon_sym_netlink_socket] = ACTIONS(49), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(49), - [anon_sym_netlink_xfrm_socket] = ACTIONS(49), - [anon_sym_node] = ACTIONS(49), - [anon_sym_nscd] = ACTIONS(49), - [anon_sym_packet] = ACTIONS(51), - [anon_sym_packet_socket] = ACTIONS(49), - [anon_sym_passwd] = ACTIONS(49), - [anon_sym_peer] = ACTIONS(49), - [anon_sym_perf_event] = ACTIONS(49), - [anon_sym_process] = ACTIONS(51), - [anon_sym_process2] = ACTIONS(49), - [anon_sym_proxy] = ACTIONS(49), - [anon_sym_rawip_socket] = ACTIONS(49), - [anon_sym_sctp_socket] = ACTIONS(49), - [anon_sym_security] = ACTIONS(49), - [anon_sym_sem] = ACTIONS(49), - [anon_sym_service] = ACTIONS(49), - [anon_sym_shm] = ACTIONS(49), - [anon_sym_sock_file] = ACTIONS(49), - [anon_sym_socket] = ACTIONS(49), - [anon_sym_system] = ACTIONS(49), - [anon_sym_tcp_socket] = ACTIONS(49), - [anon_sym_tun_socket] = ACTIONS(49), - [anon_sym_udp_socket] = ACTIONS(49), - [anon_sym_unix_dgram_socket] = ACTIONS(49), - [anon_sym_unix_stream_socket] = ACTIONS(49), - [anon_sym_user_namespace] = ACTIONS(49), - [anon_sym_x_application_data] = ACTIONS(49), - [anon_sym_x_client] = ACTIONS(49), - [anon_sym_x_colormap] = ACTIONS(49), - [anon_sym_x_cursor] = ACTIONS(49), - [anon_sym_x_device] = ACTIONS(49), - [anon_sym_x_drawable] = ACTIONS(49), - [anon_sym_x_event] = ACTIONS(49), - [anon_sym_x_extension] = ACTIONS(49), - [anon_sym_x_font] = ACTIONS(49), - [anon_sym_x_gc] = ACTIONS(49), - [anon_sym_x_keyboard] = ACTIONS(49), - [anon_sym_x_pointer] = ACTIONS(49), - [anon_sym_x_property] = ACTIONS(49), - [anon_sym_x_resource] = ACTIONS(49), - [anon_sym_x_screen] = ACTIONS(49), - [anon_sym_x_selection] = ACTIONS(49), - [anon_sym_x_server] = ACTIONS(49), - [anon_sym_x_synthetic_event] = ACTIONS(49), + [anon_sym_RBRACE] = ACTIONS(51), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), }, - [9] = { + [6] = { [sym_classes] = STATE(10), - [aux_sym_class_repeat1] = STATE(8), - [sym_comment] = ACTIONS(3), - [anon_sym_anon_inode] = ACTIONS(49), - [anon_sym_appletalk_socket] = ACTIONS(49), - [anon_sym_association] = ACTIONS(49), - [anon_sym_binder] = ACTIONS(49), - [anon_sym_blk_file] = ACTIONS(49), - [anon_sym_bpf] = ACTIONS(49), - [anon_sym_cap2_userns] = ACTIONS(49), - [anon_sym_cap_userns] = ACTIONS(49), - [anon_sym_capability] = ACTIONS(51), - [anon_sym_capability2] = ACTIONS(49), - [anon_sym_chr_file] = ACTIONS(49), - [anon_sym_context] = ACTIONS(49), - [anon_sym_db_blob] = ACTIONS(49), - [anon_sym_db_column] = ACTIONS(49), - [anon_sym_db_database] = ACTIONS(49), - [anon_sym_db_language] = ACTIONS(49), - [anon_sym_db_procedure] = ACTIONS(49), - [anon_sym_db_schema] = ACTIONS(49), - [anon_sym_db_sequence] = ACTIONS(49), - [anon_sym_db_table] = ACTIONS(49), - [anon_sym_db_tuple] = ACTIONS(49), - [anon_sym_db_view] = ACTIONS(49), - [anon_sym_dbus] = ACTIONS(49), - [anon_sym_dccp_socket] = ACTIONS(49), - [anon_sym_dir] = ACTIONS(49), - [anon_sym_fd] = ACTIONS(49), - [anon_sym_fifo_file] = ACTIONS(49), - [anon_sym_file] = ACTIONS(51), - [anon_sym_filesystem] = ACTIONS(49), - [anon_sym_icmp_socket] = ACTIONS(49), - [anon_sym_infiniband_endport] = ACTIONS(49), - [anon_sym_infiniband_pkey] = ACTIONS(49), - [anon_sym_io_uring] = ACTIONS(49), - [anon_sym_ipc] = ACTIONS(49), - [anon_sym_kernel_service] = ACTIONS(49), - [anon_sym_key] = ACTIONS(51), - [anon_sym_key_socket] = ACTIONS(49), - [anon_sym_lnk_file] = ACTIONS(49), - [anon_sym_lockdown] = ACTIONS(49), - [anon_sym_memprotect] = ACTIONS(49), - [anon_sym_msg] = ACTIONS(51), - [anon_sym_msgq] = ACTIONS(49), - [anon_sym_netif] = ACTIONS(49), - [anon_sym_netlink_audit_socket] = ACTIONS(49), - [anon_sym_netlink_connector_socket] = ACTIONS(49), - [anon_sym_netlink_crypto_socket] = ACTIONS(49), - [anon_sym_netlink_dnrt_socket] = ACTIONS(49), - [anon_sym_netlink_fib_lookup_socket] = ACTIONS(49), - [anon_sym_netlink_firewall_socket] = ACTIONS(49), - [anon_sym_netlink_generic_socket] = ACTIONS(49), - [anon_sym_netlink_ip6fw_socket] = ACTIONS(49), - [anon_sym_netlink_iscsi_socket] = ACTIONS(49), - [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(49), - [anon_sym_netlink_netfilter_socket] = ACTIONS(49), - [anon_sym_netlink_nflog_socket] = ACTIONS(49), - [anon_sym_netlink_rdma_socket] = ACTIONS(49), - [anon_sym_netlink_route_socket] = ACTIONS(49), - [anon_sym_netlink_scsitransport_socket] = ACTIONS(49), - [anon_sym_netlink_selinux_socket] = ACTIONS(49), - [anon_sym_netlink_socket] = ACTIONS(49), - [anon_sym_netlink_tcpdiag_socket] = ACTIONS(49), - [anon_sym_netlink_xfrm_socket] = ACTIONS(49), - [anon_sym_node] = ACTIONS(49), - [anon_sym_nscd] = ACTIONS(49), - [anon_sym_packet] = ACTIONS(51), - [anon_sym_packet_socket] = ACTIONS(49), - [anon_sym_passwd] = ACTIONS(49), - [anon_sym_peer] = ACTIONS(49), - [anon_sym_perf_event] = ACTIONS(49), - [anon_sym_process] = ACTIONS(51), - [anon_sym_process2] = ACTIONS(49), - [anon_sym_proxy] = ACTIONS(49), - [anon_sym_rawip_socket] = ACTIONS(49), - [anon_sym_sctp_socket] = ACTIONS(49), - [anon_sym_security] = ACTIONS(49), - [anon_sym_sem] = ACTIONS(49), - [anon_sym_service] = ACTIONS(49), - [anon_sym_shm] = ACTIONS(49), - [anon_sym_sock_file] = ACTIONS(49), - [anon_sym_socket] = ACTIONS(49), - [anon_sym_system] = ACTIONS(49), - [anon_sym_tcp_socket] = ACTIONS(49), - [anon_sym_tun_socket] = ACTIONS(49), - [anon_sym_udp_socket] = ACTIONS(49), - [anon_sym_unix_dgram_socket] = ACTIONS(49), - [anon_sym_unix_stream_socket] = ACTIONS(49), - [anon_sym_user_namespace] = ACTIONS(49), - [anon_sym_x_application_data] = ACTIONS(49), - [anon_sym_x_client] = ACTIONS(49), - [anon_sym_x_colormap] = ACTIONS(49), - [anon_sym_x_cursor] = ACTIONS(49), - [anon_sym_x_device] = ACTIONS(49), - [anon_sym_x_drawable] = ACTIONS(49), - [anon_sym_x_event] = ACTIONS(49), - [anon_sym_x_extension] = ACTIONS(49), - [anon_sym_x_font] = ACTIONS(49), - [anon_sym_x_gc] = ACTIONS(49), - [anon_sym_x_keyboard] = ACTIONS(49), - [anon_sym_x_pointer] = ACTIONS(49), - [anon_sym_x_property] = ACTIONS(49), - [anon_sym_x_resource] = ACTIONS(49), - [anon_sym_x_screen] = ACTIONS(49), - [anon_sym_x_selection] = ACTIONS(49), - [anon_sym_x_server] = ACTIONS(49), - [anon_sym_x_synthetic_event] = ACTIONS(49), - }, - [10] = { + [aux_sym_class_repeat1] = STATE(6), [sym_comment] = ACTIONS(3), - [anon_sym_RBRACE] = ACTIONS(55), + [anon_sym_RBRACE] = ACTIONS(53), [anon_sym_anon_inode] = ACTIONS(55), [anon_sym_appletalk_socket] = ACTIONS(55), [anon_sym_association] = ACTIONS(55), @@ -6064,7 +5857,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_bpf] = ACTIONS(55), [anon_sym_cap2_userns] = ACTIONS(55), [anon_sym_cap_userns] = ACTIONS(55), - [anon_sym_capability] = ACTIONS(57), + [anon_sym_capability] = ACTIONS(58), [anon_sym_capability2] = ACTIONS(55), [anon_sym_chr_file] = ACTIONS(55), [anon_sym_context] = ACTIONS(55), @@ -6083,7 +5876,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_dir] = ACTIONS(55), [anon_sym_fd] = ACTIONS(55), [anon_sym_fifo_file] = ACTIONS(55), - [anon_sym_file] = ACTIONS(57), + [anon_sym_file] = ACTIONS(58), [anon_sym_filesystem] = ACTIONS(55), [anon_sym_icmp_socket] = ACTIONS(55), [anon_sym_infiniband_endport] = ACTIONS(55), @@ -6091,12 +5884,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_io_uring] = ACTIONS(55), [anon_sym_ipc] = ACTIONS(55), [anon_sym_kernel_service] = ACTIONS(55), - [anon_sym_key] = ACTIONS(57), + [anon_sym_key] = ACTIONS(58), [anon_sym_key_socket] = ACTIONS(55), [anon_sym_lnk_file] = ACTIONS(55), [anon_sym_lockdown] = ACTIONS(55), [anon_sym_memprotect] = ACTIONS(55), - [anon_sym_msg] = ACTIONS(57), + [anon_sym_msg] = ACTIONS(58), [anon_sym_msgq] = ACTIONS(55), [anon_sym_netif] = ACTIONS(55), [anon_sym_netlink_audit_socket] = ACTIONS(55), @@ -6120,12 +5913,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_netlink_xfrm_socket] = ACTIONS(55), [anon_sym_node] = ACTIONS(55), [anon_sym_nscd] = ACTIONS(55), - [anon_sym_packet] = ACTIONS(57), + [anon_sym_packet] = ACTIONS(58), [anon_sym_packet_socket] = ACTIONS(55), [anon_sym_passwd] = ACTIONS(55), [anon_sym_peer] = ACTIONS(55), [anon_sym_perf_event] = ACTIONS(55), - [anon_sym_process] = ACTIONS(57), + [anon_sym_process] = ACTIONS(58), [anon_sym_process2] = ACTIONS(55), [anon_sym_proxy] = ACTIONS(55), [anon_sym_rawip_socket] = ACTIONS(55), @@ -6162,48 +5955,604 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_x_server] = ACTIONS(55), [anon_sym_x_synthetic_event] = ACTIONS(55), }, + [7] = { + [sym_class] = STATE(119), + [sym_classes] = STATE(86), + [sym_comment] = ACTIONS(3), + [anon_sym_LBRACE] = ACTIONS(45), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), + }, + [8] = { + [sym_class] = STATE(118), + [sym_classes] = STATE(86), + [sym_comment] = ACTIONS(3), + [anon_sym_LBRACE] = ACTIONS(45), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), + }, + [9] = { + [sym_classes] = STATE(10), + [aux_sym_class_repeat1] = STATE(5), + [sym_comment] = ACTIONS(3), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), + }, + [10] = { + [sym_comment] = ACTIONS(3), + [anon_sym_RBRACE] = ACTIONS(61), + [anon_sym_anon_inode] = ACTIONS(61), + [anon_sym_appletalk_socket] = ACTIONS(61), + [anon_sym_association] = ACTIONS(61), + [anon_sym_binder] = ACTIONS(61), + [anon_sym_blk_file] = ACTIONS(61), + [anon_sym_bpf] = ACTIONS(61), + [anon_sym_cap2_userns] = ACTIONS(61), + [anon_sym_cap_userns] = ACTIONS(61), + [anon_sym_capability] = ACTIONS(63), + [anon_sym_capability2] = ACTIONS(61), + [anon_sym_chr_file] = ACTIONS(61), + [anon_sym_context] = ACTIONS(61), + [anon_sym_db_blob] = ACTIONS(61), + [anon_sym_db_column] = ACTIONS(61), + [anon_sym_db_database] = ACTIONS(61), + [anon_sym_db_language] = ACTIONS(61), + [anon_sym_db_procedure] = ACTIONS(61), + [anon_sym_db_schema] = ACTIONS(61), + [anon_sym_db_sequence] = ACTIONS(61), + [anon_sym_db_table] = ACTIONS(61), + [anon_sym_db_tuple] = ACTIONS(61), + [anon_sym_db_view] = ACTIONS(61), + [anon_sym_dbus] = ACTIONS(61), + [anon_sym_dccp_socket] = ACTIONS(61), + [anon_sym_dir] = ACTIONS(61), + [anon_sym_fd] = ACTIONS(61), + [anon_sym_fifo_file] = ACTIONS(61), + [anon_sym_file] = ACTIONS(63), + [anon_sym_filesystem] = ACTIONS(61), + [anon_sym_icmp_socket] = ACTIONS(61), + [anon_sym_infiniband_endport] = ACTIONS(61), + [anon_sym_infiniband_pkey] = ACTIONS(61), + [anon_sym_io_uring] = ACTIONS(61), + [anon_sym_ipc] = ACTIONS(61), + [anon_sym_kernel_service] = ACTIONS(61), + [anon_sym_key] = ACTIONS(63), + [anon_sym_key_socket] = ACTIONS(61), + [anon_sym_lnk_file] = ACTIONS(61), + [anon_sym_lockdown] = ACTIONS(61), + [anon_sym_memprotect] = ACTIONS(61), + [anon_sym_msg] = ACTIONS(63), + [anon_sym_msgq] = ACTIONS(61), + [anon_sym_netif] = ACTIONS(61), + [anon_sym_netlink_audit_socket] = ACTIONS(61), + [anon_sym_netlink_connector_socket] = ACTIONS(61), + [anon_sym_netlink_crypto_socket] = ACTIONS(61), + [anon_sym_netlink_dnrt_socket] = ACTIONS(61), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(61), + [anon_sym_netlink_firewall_socket] = ACTIONS(61), + [anon_sym_netlink_generic_socket] = ACTIONS(61), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(61), + [anon_sym_netlink_iscsi_socket] = ACTIONS(61), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(61), + [anon_sym_netlink_netfilter_socket] = ACTIONS(61), + [anon_sym_netlink_nflog_socket] = ACTIONS(61), + [anon_sym_netlink_rdma_socket] = ACTIONS(61), + [anon_sym_netlink_route_socket] = ACTIONS(61), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(61), + [anon_sym_netlink_selinux_socket] = ACTIONS(61), + [anon_sym_netlink_socket] = ACTIONS(61), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(61), + [anon_sym_netlink_xfrm_socket] = ACTIONS(61), + [anon_sym_node] = ACTIONS(61), + [anon_sym_nscd] = ACTIONS(61), + [anon_sym_packet] = ACTIONS(63), + [anon_sym_packet_socket] = ACTIONS(61), + [anon_sym_passwd] = ACTIONS(61), + [anon_sym_peer] = ACTIONS(61), + [anon_sym_perf_event] = ACTIONS(61), + [anon_sym_process] = ACTIONS(63), + [anon_sym_process2] = ACTIONS(61), + [anon_sym_proxy] = ACTIONS(61), + [anon_sym_rawip_socket] = ACTIONS(61), + [anon_sym_sctp_socket] = ACTIONS(61), + [anon_sym_security] = ACTIONS(61), + [anon_sym_sem] = ACTIONS(61), + [anon_sym_service] = ACTIONS(61), + [anon_sym_shm] = ACTIONS(61), + [anon_sym_sock_file] = ACTIONS(61), + [anon_sym_socket] = ACTIONS(61), + [anon_sym_system] = ACTIONS(61), + [anon_sym_tcp_socket] = ACTIONS(61), + [anon_sym_tun_socket] = ACTIONS(61), + [anon_sym_udp_socket] = ACTIONS(61), + [anon_sym_unix_dgram_socket] = ACTIONS(61), + [anon_sym_unix_stream_socket] = ACTIONS(61), + [anon_sym_user_namespace] = ACTIONS(61), + [anon_sym_x_application_data] = ACTIONS(61), + [anon_sym_x_client] = ACTIONS(61), + [anon_sym_x_colormap] = ACTIONS(61), + [anon_sym_x_cursor] = ACTIONS(61), + [anon_sym_x_device] = ACTIONS(61), + [anon_sym_x_drawable] = ACTIONS(61), + [anon_sym_x_event] = ACTIONS(61), + [anon_sym_x_extension] = ACTIONS(61), + [anon_sym_x_font] = ACTIONS(61), + [anon_sym_x_gc] = ACTIONS(61), + [anon_sym_x_keyboard] = ACTIONS(61), + [anon_sym_x_pointer] = ACTIONS(61), + [anon_sym_x_property] = ACTIONS(61), + [anon_sym_x_resource] = ACTIONS(61), + [anon_sym_x_screen] = ACTIONS(61), + [anon_sym_x_selection] = ACTIONS(61), + [anon_sym_x_server] = ACTIONS(61), + [anon_sym_x_synthetic_event] = ACTIONS(61), + }, + [11] = { + [sym_classes] = STATE(112), + [sym_comment] = ACTIONS(3), + [anon_sym_anon_inode] = ACTIONS(47), + [anon_sym_appletalk_socket] = ACTIONS(47), + [anon_sym_association] = ACTIONS(47), + [anon_sym_binder] = ACTIONS(47), + [anon_sym_blk_file] = ACTIONS(47), + [anon_sym_bpf] = ACTIONS(47), + [anon_sym_cap2_userns] = ACTIONS(47), + [anon_sym_cap_userns] = ACTIONS(47), + [anon_sym_capability] = ACTIONS(49), + [anon_sym_capability2] = ACTIONS(47), + [anon_sym_chr_file] = ACTIONS(47), + [anon_sym_context] = ACTIONS(47), + [anon_sym_db_blob] = ACTIONS(47), + [anon_sym_db_column] = ACTIONS(47), + [anon_sym_db_database] = ACTIONS(47), + [anon_sym_db_language] = ACTIONS(47), + [anon_sym_db_procedure] = ACTIONS(47), + [anon_sym_db_schema] = ACTIONS(47), + [anon_sym_db_sequence] = ACTIONS(47), + [anon_sym_db_table] = ACTIONS(47), + [anon_sym_db_tuple] = ACTIONS(47), + [anon_sym_db_view] = ACTIONS(47), + [anon_sym_dbus] = ACTIONS(47), + [anon_sym_dccp_socket] = ACTIONS(47), + [anon_sym_dir] = ACTIONS(47), + [anon_sym_fd] = ACTIONS(47), + [anon_sym_fifo_file] = ACTIONS(47), + [anon_sym_file] = ACTIONS(49), + [anon_sym_filesystem] = ACTIONS(47), + [anon_sym_icmp_socket] = ACTIONS(47), + [anon_sym_infiniband_endport] = ACTIONS(47), + [anon_sym_infiniband_pkey] = ACTIONS(47), + [anon_sym_io_uring] = ACTIONS(47), + [anon_sym_ipc] = ACTIONS(47), + [anon_sym_kernel_service] = ACTIONS(47), + [anon_sym_key] = ACTIONS(49), + [anon_sym_key_socket] = ACTIONS(47), + [anon_sym_lnk_file] = ACTIONS(47), + [anon_sym_lockdown] = ACTIONS(47), + [anon_sym_memprotect] = ACTIONS(47), + [anon_sym_msg] = ACTIONS(49), + [anon_sym_msgq] = ACTIONS(47), + [anon_sym_netif] = ACTIONS(47), + [anon_sym_netlink_audit_socket] = ACTIONS(47), + [anon_sym_netlink_connector_socket] = ACTIONS(47), + [anon_sym_netlink_crypto_socket] = ACTIONS(47), + [anon_sym_netlink_dnrt_socket] = ACTIONS(47), + [anon_sym_netlink_fib_lookup_socket] = ACTIONS(47), + [anon_sym_netlink_firewall_socket] = ACTIONS(47), + [anon_sym_netlink_generic_socket] = ACTIONS(47), + [anon_sym_netlink_ip6fw_socket] = ACTIONS(47), + [anon_sym_netlink_iscsi_socket] = ACTIONS(47), + [anon_sym_netlink_kobject_uevent_socket] = ACTIONS(47), + [anon_sym_netlink_netfilter_socket] = ACTIONS(47), + [anon_sym_netlink_nflog_socket] = ACTIONS(47), + [anon_sym_netlink_rdma_socket] = ACTIONS(47), + [anon_sym_netlink_route_socket] = ACTIONS(47), + [anon_sym_netlink_scsitransport_socket] = ACTIONS(47), + [anon_sym_netlink_selinux_socket] = ACTIONS(47), + [anon_sym_netlink_socket] = ACTIONS(47), + [anon_sym_netlink_tcpdiag_socket] = ACTIONS(47), + [anon_sym_netlink_xfrm_socket] = ACTIONS(47), + [anon_sym_node] = ACTIONS(47), + [anon_sym_nscd] = ACTIONS(47), + [anon_sym_packet] = ACTIONS(49), + [anon_sym_packet_socket] = ACTIONS(47), + [anon_sym_passwd] = ACTIONS(47), + [anon_sym_peer] = ACTIONS(47), + [anon_sym_perf_event] = ACTIONS(47), + [anon_sym_process] = ACTIONS(49), + [anon_sym_process2] = ACTIONS(47), + [anon_sym_proxy] = ACTIONS(47), + [anon_sym_rawip_socket] = ACTIONS(47), + [anon_sym_sctp_socket] = ACTIONS(47), + [anon_sym_security] = ACTIONS(47), + [anon_sym_sem] = ACTIONS(47), + [anon_sym_service] = ACTIONS(47), + [anon_sym_shm] = ACTIONS(47), + [anon_sym_sock_file] = ACTIONS(47), + [anon_sym_socket] = ACTIONS(47), + [anon_sym_system] = ACTIONS(47), + [anon_sym_tcp_socket] = ACTIONS(47), + [anon_sym_tun_socket] = ACTIONS(47), + [anon_sym_udp_socket] = ACTIONS(47), + [anon_sym_unix_dgram_socket] = ACTIONS(47), + [anon_sym_unix_stream_socket] = ACTIONS(47), + [anon_sym_user_namespace] = ACTIONS(47), + [anon_sym_x_application_data] = ACTIONS(47), + [anon_sym_x_client] = ACTIONS(47), + [anon_sym_x_colormap] = ACTIONS(47), + [anon_sym_x_cursor] = ACTIONS(47), + [anon_sym_x_device] = ACTIONS(47), + [anon_sym_x_drawable] = ACTIONS(47), + [anon_sym_x_event] = ACTIONS(47), + [anon_sym_x_extension] = ACTIONS(47), + [anon_sym_x_font] = ACTIONS(47), + [anon_sym_x_gc] = ACTIONS(47), + [anon_sym_x_keyboard] = ACTIONS(47), + [anon_sym_x_pointer] = ACTIONS(47), + [anon_sym_x_property] = ACTIONS(47), + [anon_sym_x_resource] = ACTIONS(47), + [anon_sym_x_screen] = ACTIONS(47), + [anon_sym_x_selection] = ACTIONS(47), + [anon_sym_x_server] = ACTIONS(47), + [anon_sym_x_synthetic_event] = ACTIONS(47), + }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 18, + [0] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(65), 1, + ts_builtin_sym_end, + ACTIONS(67), 1, sym_word, - ACTIONS(9), 1, + ACTIONS(70), 1, anon_sym_type, - ACTIONS(11), 1, + ACTIONS(73), 1, anon_sym_attribute, - ACTIONS(13), 1, + ACTIONS(76), 1, anon_sym_expandattribute, - ACTIONS(15), 1, + ACTIONS(79), 1, anon_sym_typeattribute, - ACTIONS(17), 1, + ACTIONS(82), 1, anon_sym_typealias, - ACTIONS(19), 1, + ACTIONS(85), 1, anon_sym_permissive, - ACTIONS(21), 1, + ACTIONS(88), 1, anon_sym_type_transition, - ACTIONS(23), 1, + ACTIONS(91), 1, anon_sym_type_change, - ACTIONS(25), 1, + ACTIONS(94), 1, anon_sym_type_member, - ACTIONS(27), 1, + ACTIONS(97), 1, anon_sym_role, - ACTIONS(29), 1, + ACTIONS(100), 1, + anon_sym_attribute_role, + ACTIONS(103), 1, + anon_sym_roleattribute, + ACTIONS(106), 1, + anon_sym_role_transition, + ACTIONS(109), 1, anon_sym_bool, - ACTIONS(31), 1, + ACTIONS(112), 1, anon_sym_interface, - ACTIONS(59), 1, - ts_builtin_sym_end, - STATE(46), 1, + STATE(58), 1, sym_rule_name, - ACTIONS(33), 4, + ACTIONS(115), 4, anon_sym_allow, anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - STATE(12), 16, + STATE(12), 19, sym__definition, sym_type_declaration, sym_attribute_declaration, @@ -6215,50 +6564,59 @@ static const uint16_t ts_small_parse_table[] = { sym_type_change_declaration, sym_type_member_declaration, sym_role_declaration, + sym_attribute_role_declaration, + sym_roleattribute_declaration, + sym_role_transition_declaration, sym_rule_declaration, sym_boolean_declaration, sym_macro_declaration, sym_macro_usage, aux_sym_source_file_repeat1, - [73] = 18, + [85] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(61), 1, - ts_builtin_sym_end, - ACTIONS(63), 1, + ACTIONS(7), 1, sym_word, - ACTIONS(66), 1, + ACTIONS(9), 1, anon_sym_type, - ACTIONS(69), 1, + ACTIONS(11), 1, anon_sym_attribute, - ACTIONS(72), 1, + ACTIONS(13), 1, anon_sym_expandattribute, - ACTIONS(75), 1, + ACTIONS(15), 1, anon_sym_typeattribute, - ACTIONS(78), 1, + ACTIONS(17), 1, anon_sym_typealias, - ACTIONS(81), 1, + ACTIONS(19), 1, anon_sym_permissive, - ACTIONS(84), 1, + ACTIONS(21), 1, anon_sym_type_transition, - ACTIONS(87), 1, + ACTIONS(23), 1, anon_sym_type_change, - ACTIONS(90), 1, + ACTIONS(25), 1, anon_sym_type_member, - ACTIONS(93), 1, + ACTIONS(27), 1, anon_sym_role, - ACTIONS(96), 1, + ACTIONS(29), 1, + anon_sym_attribute_role, + ACTIONS(31), 1, + anon_sym_roleattribute, + ACTIONS(33), 1, + anon_sym_role_transition, + ACTIONS(35), 1, anon_sym_bool, - ACTIONS(99), 1, + ACTIONS(37), 1, anon_sym_interface, - STATE(46), 1, + ACTIONS(118), 1, + ts_builtin_sym_end, + STATE(58), 1, sym_rule_name, - ACTIONS(102), 4, + ACTIONS(39), 4, anon_sym_allow, anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - STATE(12), 16, + STATE(12), 19, sym__definition, sym_type_declaration, sym_attribute_declaration, @@ -6270,18 +6628,21 @@ static const uint16_t ts_small_parse_table[] = { sym_type_change_declaration, sym_type_member_declaration, sym_role_declaration, + sym_attribute_role_declaration, + sym_roleattribute_declaration, + sym_role_transition_declaration, sym_rule_declaration, sym_boolean_declaration, sym_macro_declaration, sym_macro_usage, aux_sym_source_file_repeat1, - [146] = 3, + [170] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(105), 2, + ACTIONS(120), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(107), 17, + ACTIONS(122), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6292,6 +6653,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6299,13 +6663,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [173] = 3, + [200] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(109), 2, + ACTIONS(124), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(111), 17, + ACTIONS(126), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6316,6 +6680,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6323,13 +6690,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [200] = 3, + [230] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(113), 2, + ACTIONS(128), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(115), 17, + ACTIONS(130), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6340,6 +6707,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6347,13 +6717,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [227] = 3, + [260] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(117), 2, + ACTIONS(132), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(119), 17, + ACTIONS(134), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6364,6 +6734,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6371,13 +6744,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [254] = 3, + [290] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(121), 2, + ACTIONS(136), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(123), 17, + ACTIONS(138), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6388,6 +6761,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6395,13 +6771,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [281] = 3, + [320] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(125), 2, + ACTIONS(140), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(127), 17, + ACTIONS(142), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6412,6 +6788,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6419,13 +6798,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [308] = 3, + [350] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(129), 2, + ACTIONS(144), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(131), 17, + ACTIONS(146), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6436,6 +6815,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6443,13 +6825,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [335] = 3, + [380] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(133), 2, + ACTIONS(148), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(135), 17, + ACTIONS(150), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6460,6 +6842,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6467,13 +6852,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [362] = 3, + [410] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(137), 2, + ACTIONS(152), 2, ts_builtin_sym_end, anon_sym_SQUOTE, - ACTIONS(139), 17, + ACTIONS(154), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6484,6 +6869,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6491,12 +6879,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [389] = 3, + [440] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(141), 1, + ACTIONS(156), 1, ts_builtin_sym_end, - ACTIONS(143), 17, + ACTIONS(158), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6507,6 +6895,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6514,12 +6905,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [415] = 3, + [469] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(145), 1, + ACTIONS(160), 1, ts_builtin_sym_end, - ACTIONS(147), 17, + ACTIONS(162), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6530,6 +6921,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6537,12 +6931,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [441] = 3, + [498] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(149), 1, + ACTIONS(164), 1, ts_builtin_sym_end, - ACTIONS(151), 17, + ACTIONS(166), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6553,6 +6947,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6560,12 +6957,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [467] = 3, + [527] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(153), 1, + ACTIONS(168), 1, ts_builtin_sym_end, - ACTIONS(155), 17, + ACTIONS(170), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6576,6 +6973,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6583,12 +6983,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [493] = 3, + [556] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(157), 1, + ACTIONS(172), 1, ts_builtin_sym_end, - ACTIONS(159), 17, + ACTIONS(174), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6599,6 +6999,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6606,12 +7009,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [519] = 3, + [585] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(161), 1, + ACTIONS(176), 1, ts_builtin_sym_end, - ACTIONS(163), 17, + ACTIONS(178), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6622,6 +7025,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6629,12 +7035,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [545] = 3, + [614] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(165), 1, + ACTIONS(180), 1, ts_builtin_sym_end, - ACTIONS(167), 17, + ACTIONS(182), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6645,6 +7051,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6652,12 +7061,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [571] = 3, + [643] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(169), 1, + ACTIONS(184), 1, ts_builtin_sym_end, - ACTIONS(171), 17, + ACTIONS(186), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6668,6 +7077,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6675,12 +7087,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [597] = 3, + [672] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(173), 1, + ACTIONS(188), 1, ts_builtin_sym_end, - ACTIONS(175), 17, + ACTIONS(190), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6691,6 +7103,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6698,12 +7113,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [623] = 3, + [701] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(177), 1, + ACTIONS(192), 1, ts_builtin_sym_end, - ACTIONS(179), 17, + ACTIONS(194), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6714,6 +7129,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6721,12 +7139,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [649] = 3, + [730] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(181), 1, + ACTIONS(196), 1, ts_builtin_sym_end, - ACTIONS(183), 17, + ACTIONS(198), 20, anon_sym_type, anon_sym_attribute, anon_sym_expandattribute, @@ -6737,6 +7155,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type_change, anon_sym_type_member, anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, anon_sym_bool, anon_sym_interface, sym_word, @@ -6744,36 +7165,192 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - [675] = 3, + [759] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 5, - anon_sym_alias, - anon_sym_types, - anon_sym_true, - anon_sym_false, + ACTIONS(200), 1, + ts_builtin_sym_end, + ACTIONS(202), 20, + anon_sym_type, + anon_sym_attribute, + anon_sym_expandattribute, + anon_sym_typeattribute, + anon_sym_typealias, + anon_sym_permissive, + anon_sym_type_transition, + anon_sym_type_change, + anon_sym_type_member, + anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, + anon_sym_bool, + anon_sym_interface, sym_word, - ACTIONS(187), 10, - anon_sym_COMMA, - anon_sym_SEMI, - anon_sym_COLON, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_negative, - sym_complement, - anon_sym_DOLLAR, - anon_sym_STAR, - [698] = 3, + anon_sym_allow, + anon_sym_auditallow, + anon_sym_dontaudit, + anon_sym_neverallow, + [788] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(189), 5, - anon_sym_alias, - anon_sym_types, - anon_sym_true, - anon_sym_false, + ACTIONS(204), 1, + ts_builtin_sym_end, + ACTIONS(206), 20, + anon_sym_type, + anon_sym_attribute, + anon_sym_expandattribute, + anon_sym_typeattribute, + anon_sym_typealias, + anon_sym_permissive, + anon_sym_type_transition, + anon_sym_type_change, + anon_sym_type_member, + anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, + anon_sym_bool, + anon_sym_interface, + sym_word, + anon_sym_allow, + anon_sym_auditallow, + anon_sym_dontaudit, + anon_sym_neverallow, + [817] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(208), 1, + ts_builtin_sym_end, + ACTIONS(210), 20, + anon_sym_type, + anon_sym_attribute, + anon_sym_expandattribute, + anon_sym_typeattribute, + anon_sym_typealias, + anon_sym_permissive, + anon_sym_type_transition, + anon_sym_type_change, + anon_sym_type_member, + anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, + anon_sym_bool, + anon_sym_interface, + sym_word, + anon_sym_allow, + anon_sym_auditallow, + anon_sym_dontaudit, + anon_sym_neverallow, + [846] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(212), 1, + ts_builtin_sym_end, + ACTIONS(214), 20, + anon_sym_type, + anon_sym_attribute, + anon_sym_expandattribute, + anon_sym_typeattribute, + anon_sym_typealias, + anon_sym_permissive, + anon_sym_type_transition, + anon_sym_type_change, + anon_sym_type_member, + anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, + anon_sym_bool, + anon_sym_interface, + sym_word, + anon_sym_allow, + anon_sym_auditallow, + anon_sym_dontaudit, + anon_sym_neverallow, + [875] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(216), 1, + ts_builtin_sym_end, + ACTIONS(218), 20, + anon_sym_type, + anon_sym_attribute, + anon_sym_expandattribute, + anon_sym_typeattribute, + anon_sym_typealias, + anon_sym_permissive, + anon_sym_type_transition, + anon_sym_type_change, + anon_sym_type_member, + anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, + anon_sym_bool, + anon_sym_interface, + sym_word, + anon_sym_allow, + anon_sym_auditallow, + anon_sym_dontaudit, + anon_sym_neverallow, + [904] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(220), 1, + ts_builtin_sym_end, + ACTIONS(222), 20, + anon_sym_type, + anon_sym_attribute, + anon_sym_expandattribute, + anon_sym_typeattribute, + anon_sym_typealias, + anon_sym_permissive, + anon_sym_type_transition, + anon_sym_type_change, + anon_sym_type_member, + anon_sym_role, + anon_sym_attribute_role, + anon_sym_roleattribute, + anon_sym_role_transition, + anon_sym_bool, + anon_sym_interface, + sym_word, + anon_sym_allow, + anon_sym_auditallow, + anon_sym_dontaudit, + anon_sym_neverallow, + [933] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(224), 5, + anon_sym_alias, + anon_sym_types, + anon_sym_true, + anon_sym_false, + sym_word, + ACTIONS(226), 10, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_negative, + sym_complement, + anon_sym_DOLLAR, + anon_sym_STAR, + [956] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(228), 5, + anon_sym_alias, + anon_sym_types, + anon_sym_true, + anon_sym_false, sym_word, - ACTIONS(191), 10, + ACTIONS(230), 10, anon_sym_COMMA, anon_sym_SEMI, anon_sym_COLON, @@ -6784,7 +7361,7 @@ static const uint16_t ts_small_parse_table[] = { sym_complement, anon_sym_DOLLAR, anon_sym_STAR, - [721] = 7, + [979] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -6793,1424 +7370,1648 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(15), 1, anon_sym_typeattribute, - STATE(46), 1, + STATE(58), 1, sym_rule_name, - ACTIONS(33), 4, + ACTIONS(39), 4, anon_sym_allow, anon_sym_auditallow, anon_sym_dontaudit, anon_sym_neverallow, - STATE(150), 4, + STATE(175), 4, sym_type_declaration, sym_typeattribute_declaration, sym_rule_declaration, sym_macro_usage, - [749] = 10, + [1007] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(195), 1, + ACTIONS(234), 1, anon_sym_LBRACE, - ACTIONS(197), 1, + ACTIONS(236), 1, sym_complement, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, + ACTIONS(240), 1, anon_sym_STAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(79), 1, + STATE(87), 1, sym_identifier, - STATE(136), 1, + STATE(160), 1, sym_permission, - STATE(137), 1, + STATE(161), 1, sym_permissions, - [780] = 9, + [1038] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, + ACTIONS(240), 1, anon_sym_STAR, - ACTIONS(203), 1, + ACTIONS(242), 1, anon_sym_RBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(38), 1, + STATE(45), 1, aux_sym_permission_repeat1, - STATE(79), 1, + STATE(87), 1, sym_identifier, - STATE(82), 1, + STATE(95), 1, sym_permissions, - [808] = 9, + [1066] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(205), 1, + ACTIONS(244), 1, sym_word, - ACTIONS(208), 1, + ACTIONS(247), 1, anon_sym_RBRACE, - ACTIONS(210), 1, + ACTIONS(249), 1, anon_sym_DOLLAR, - ACTIONS(213), 1, + ACTIONS(252), 1, anon_sym_STAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(38), 1, + STATE(45), 1, aux_sym_permission_repeat1, - STATE(79), 1, + STATE(87), 1, sym_identifier, - STATE(82), 1, + STATE(95), 1, sym_permissions, - [836] = 9, + [1094] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, + ACTIONS(255), 1, + anon_sym_LBRACE, + ACTIONS(257), 1, + anon_sym_RPAREN, + STATE(41), 1, + sym_expansion, + STATE(133), 1, + sym_argument, + STATE(140), 1, + sym_identifier, + STATE(170), 1, + sym_arguments, + [1122] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(240), 1, anon_sym_STAR, - ACTIONS(216), 1, + ACTIONS(259), 1, anon_sym_RBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(38), 1, + STATE(45), 1, aux_sym_permission_repeat1, - STATE(79), 1, + STATE(87), 1, sym_identifier, - STATE(82), 1, + STATE(95), 1, sym_permissions, - [864] = 9, + [1150] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(218), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(220), 1, - anon_sym_RPAREN, - STATE(34), 1, + ACTIONS(263), 1, + sym_complement, + STATE(41), 1, sym_expansion, - STATE(107), 1, - sym_argument, - STATE(125), 1, + STATE(67), 1, sym_identifier, - STATE(157), 1, - sym_arguments, - [892] = 8, + STATE(169), 1, + sym_type, + [1175] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(265), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(268), 1, + anon_sym_RBRACE, + ACTIONS(270), 1, + sym_negative, + ACTIONS(273), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, - anon_sym_LBRACE, - ACTIONS(224), 1, - sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(75), 1, + STATE(49), 1, + aux_sym_argument_repeat1, + STATE(109), 1, sym_identifier, - STATE(156), 1, - sym_type, - [917] = 8, + [1200] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, - anon_sym_STAR, - ACTIONS(226), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - STATE(34), 1, + ACTIONS(263), 1, + sym_complement, + STATE(41), 1, sym_expansion, - STATE(79), 1, + STATE(67), 1, sym_identifier, - STATE(147), 1, - sym_permissions, - [942] = 8, + STATE(174), 1, + sym_type, + [1225] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, - anon_sym_STAR, - STATE(34), 1, + ACTIONS(261), 1, + anon_sym_LBRACE, + ACTIONS(263), 1, + sym_complement, + STATE(41), 1, sym_expansion, - STATE(39), 1, - aux_sym_permission_repeat1, - STATE(79), 1, + STATE(67), 1, sym_identifier, - STATE(82), 1, - sym_permissions, - [967] = 8, + STATE(177), 1, + sym_type, + [1250] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, STATE(50), 1, sym_type, - STATE(75), 1, + STATE(67), 1, sym_identifier, - [992] = 8, + [1275] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(53), 1, - sym_type, - STATE(75), 1, + STATE(67), 1, sym_identifier, - [1017] = 8, + STATE(176), 1, + sym_type, + [1300] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, - sym_expansion, STATE(41), 1, + sym_expansion, + STATE(53), 1, sym_type, - STATE(75), 1, + STATE(67), 1, sym_identifier, - [1042] = 8, + [1325] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(54), 1, - sym_type, - STATE(75), 1, + STATE(67), 1, sym_identifier, - [1067] = 8, + STATE(90), 1, + sym_type, + [1350] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(231), 1, - anon_sym_RBRACE, - ACTIONS(233), 1, - sym_negative, - ACTIONS(236), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + ACTIONS(240), 1, + anon_sym_STAR, + ACTIONS(276), 1, + anon_sym_LBRACE, + STATE(41), 1, sym_expansion, - STATE(48), 1, - aux_sym_type_repeat1, - STATE(89), 1, + STATE(87), 1, sym_identifier, - [1092] = 8, + STATE(172), 1, + sym_permissions, + [1375] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(239), 1, + ACTIONS(278), 1, anon_sym_RBRACE, - ACTIONS(241), 1, + ACTIONS(280), 1, sym_negative, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(48), 1, - aux_sym_type_repeat1, - STATE(89), 1, + STATE(49), 1, + aux_sym_argument_repeat1, + STATE(109), 1, sym_identifier, - [1117] = 8, + [1400] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(75), 1, - sym_identifier, - STATE(151), 1, + STATE(48), 1, sym_type, - [1142] = 8, + STATE(67), 1, + sym_identifier, + [1425] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, + ACTIONS(240), 1, anon_sym_STAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(37), 1, + STATE(44), 1, aux_sym_permission_repeat1, - STATE(79), 1, + STATE(87), 1, sym_identifier, - STATE(82), 1, + STATE(95), 1, sym_permissions, - [1167] = 8, + [1450] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(241), 1, + ACTIONS(282), 1, + anon_sym_RBRACE, + ACTIONS(284), 1, sym_negative, - ACTIONS(243), 1, + STATE(41), 1, + sym_expansion, + STATE(62), 1, + aux_sym_type_repeat1, + STATE(116), 1, + sym_identifier, + [1475] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(284), 1, + sym_negative, + ACTIONS(286), 1, anon_sym_RBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(48), 1, + STATE(62), 1, aux_sym_type_repeat1, - STATE(89), 1, + STATE(116), 1, sym_identifier, - [1192] = 8, + [1500] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(288), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(291), 1, + anon_sym_RBRACE, + ACTIONS(293), 1, + sym_negative, + ACTIONS(296), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + STATE(41), 1, + sym_expansion, + STATE(62), 1, + aux_sym_type_repeat1, + STATE(116), 1, + sym_identifier, + [1525] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(75), 1, + STATE(67), 1, sym_identifier, - STATE(133), 1, + STATE(149), 1, sym_type, - [1217] = 8, + [1550] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(222), 1, + ACTIONS(240), 1, + anon_sym_STAR, + STATE(41), 1, + sym_expansion, + STATE(47), 1, + aux_sym_permission_repeat1, + STATE(87), 1, + sym_identifier, + STATE(95), 1, + sym_permissions, + [1575] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(261), 1, anon_sym_LBRACE, - ACTIONS(224), 1, + ACTIONS(263), 1, sym_complement, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(75), 1, - sym_identifier, - STATE(146), 1, + STATE(51), 1, sym_type, - [1242] = 8, + STATE(67), 1, + sym_identifier, + [1600] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(245), 1, - anon_sym_RBRACE, - ACTIONS(247), 1, - sym_negative, - STATE(34), 1, + ACTIONS(299), 1, + anon_sym_LBRACE, + STATE(41), 1, sym_expansion, - STATE(56), 1, - aux_sym_argument_repeat1, - STATE(85), 1, + STATE(142), 1, sym_identifier, - [1267] = 8, + STATE(164), 1, + sym_alias, + [1622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(249), 1, + ACTIONS(301), 6, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_LBRACE, + sym_complement, sym_word, - ACTIONS(252), 1, - anon_sym_RBRACE, - ACTIONS(254), 1, - sym_negative, - ACTIONS(257), 1, anon_sym_DOLLAR, - STATE(34), 1, + [1634] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(284), 1, + sym_negative, + STATE(41), 1, sym_expansion, - STATE(56), 1, - aux_sym_argument_repeat1, - STATE(85), 1, + STATE(60), 1, + aux_sym_type_repeat1, + STATE(116), 1, sym_identifier, - [1292] = 7, + [1656] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(260), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(263), 1, - anon_sym_RBRACE, - ACTIONS(265), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + ACTIONS(303), 1, + anon_sym_RBRACE, + STATE(41), 1, sym_expansion, - STATE(57), 1, + STATE(81), 1, aux_sym_alias_repeat1, - STATE(110), 1, + STATE(129), 1, sym_identifier, - [1314] = 7, + [1678] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(268), 1, + ACTIONS(305), 6, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_LBRACE, + sym_complement, sym_word, - ACTIONS(271), 1, - anon_sym_RBRACE, - ACTIONS(273), 1, anon_sym_DOLLAR, - STATE(34), 1, + [1690] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(307), 1, + anon_sym_LBRACE, + STATE(41), 1, sym_expansion, - STATE(58), 1, - aux_sym_attribute_repeat1, - STATE(105), 1, + STATE(55), 1, + sym_roles, + STATE(102), 1, sym_identifier, - [1336] = 7, + [1712] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(276), 1, + ACTIONS(255), 1, anon_sym_LBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(116), 1, - sym_attribute, + STATE(140), 1, + sym_identifier, + STATE(148), 1, + sym_argument, + [1734] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(309), 1, + sym_word, + ACTIONS(312), 1, + anon_sym_RBRACE, + ACTIONS(314), 1, + anon_sym_DOLLAR, + STATE(41), 1, + sym_expansion, + STATE(73), 1, + aux_sym_attribute_repeat1, STATE(124), 1, sym_identifier, - [1358] = 7, + [1756] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(317), 6, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_LBRACE, + sym_complement, sym_word, - ACTIONS(199), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, - anon_sym_STAR, - STATE(34), 1, + [1768] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(280), 1, + sym_negative, + STATE(41), 1, sym_expansion, - STATE(51), 1, - sym_permissions, - STATE(79), 1, + STATE(57), 1, + aux_sym_argument_repeat1, + STATE(109), 1, sym_identifier, - [1380] = 7, + [1790] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(201), 1, + ACTIONS(240), 1, anon_sym_STAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(43), 1, + STATE(59), 1, sym_permissions, - STATE(79), 1, + STATE(87), 1, sym_identifier, - [1402] = 7, + [1812] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(241), 1, - sym_negative, - STATE(34), 1, + ACTIONS(319), 1, + anon_sym_RBRACE, + STATE(41), 1, sym_expansion, - STATE(52), 1, - aux_sym_type_repeat1, - STATE(89), 1, + STATE(84), 1, + aux_sym_roles_repeat1, + STATE(132), 1, sym_identifier, - [1424] = 7, + [1834] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(247), 1, - sym_negative, - STATE(34), 1, + ACTIONS(240), 1, + anon_sym_STAR, + STATE(41), 1, sym_expansion, - STATE(55), 1, - aux_sym_argument_repeat1, - STATE(85), 1, + STATE(64), 1, + sym_permissions, + STATE(87), 1, sym_identifier, - [1446] = 7, + [1856] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(218), 1, - anon_sym_LBRACE, - STATE(34), 1, + ACTIONS(321), 1, + anon_sym_RBRACE, + STATE(41), 1, sym_expansion, - STATE(120), 1, - sym_argument, - STATE(125), 1, + STATE(73), 1, + aux_sym_attribute_repeat1, + STATE(124), 1, sym_identifier, - [1468] = 7, + [1878] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(278), 1, + ACTIONS(299), 1, anon_sym_LBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(117), 1, + STATE(134), 1, sym_alias, - STATE(123), 1, + STATE(142), 1, sym_identifier, - [1490] = 7, + [1900] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(323), 1, sym_word, - ACTIONS(199), 1, - anon_sym_DOLLAR, - ACTIONS(280), 1, + ACTIONS(326), 1, anon_sym_RBRACE, - STATE(34), 1, + ACTIONS(328), 1, + anon_sym_DOLLAR, + STATE(41), 1, sym_expansion, - STATE(58), 1, - aux_sym_attribute_repeat1, - STATE(105), 1, + STATE(81), 1, + aux_sym_alias_repeat1, + STATE(129), 1, sym_identifier, - [1512] = 7, + [1922] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(282), 1, + ACTIONS(284), 1, + sym_negative, + STATE(41), 1, + sym_expansion, + STATE(61), 1, + aux_sym_type_repeat1, + STATE(116), 1, + sym_identifier, + [1944] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 6, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_LBRACE, + sym_complement, + sym_word, + anon_sym_DOLLAR, + [1956] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(333), 1, + sym_word, + ACTIONS(336), 1, anon_sym_RBRACE, - STATE(34), 1, + ACTIONS(338), 1, + anon_sym_DOLLAR, + STATE(41), 1, sym_expansion, - STATE(57), 1, - aux_sym_alias_repeat1, - STATE(110), 1, + STATE(84), 1, + aux_sym_roles_repeat1, + STATE(132), 1, sym_identifier, - [1534] = 7, + [1978] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(241), 1, - sym_negative, - STATE(34), 1, + ACTIONS(341), 1, + anon_sym_LBRACE, + STATE(41), 1, sym_expansion, - STATE(49), 1, - aux_sym_type_repeat1, - STATE(89), 1, + STATE(126), 1, + sym_attribute, + STATE(141), 1, sym_identifier, - [1556] = 7, + [2000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(343), 5, + anon_sym_LBRACE, + sym_complement, sym_word, - ACTIONS(199), 1, anon_sym_DOLLAR, - ACTIONS(278), 1, + anon_sym_STAR, + [2011] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(345), 5, + anon_sym_SEMI, + anon_sym_RBRACE, + sym_word, + anon_sym_DOLLAR, + anon_sym_STAR, + [2022] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + sym_word, + ACTIONS(238), 1, + anon_sym_DOLLAR, + ACTIONS(347), 1, anon_sym_LBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(123), 1, + STATE(70), 1, sym_identifier, - STATE(153), 1, - sym_alias, - [1578] = 6, + [2041] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(349), 5, + anon_sym_LBRACE, + sym_complement, + sym_word, + anon_sym_DOLLAR, + anon_sym_STAR, + [2052] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + ACTIONS(351), 1, + anon_sym_COLON, + STATE(41), 1, sym_expansion, - STATE(66), 1, - aux_sym_attribute_repeat1, - STATE(105), 1, + STATE(162), 1, sym_identifier, - [1597] = 2, + [2071] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(284), 5, - anon_sym_COLON, - anon_sym_LBRACE, - sym_complement, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - [1608] = 2, + STATE(41), 1, + sym_expansion, + STATE(69), 1, + aux_sym_alias_repeat1, + STATE(129), 1, + sym_identifier, + [2090] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(286), 5, - anon_sym_LBRACE, - sym_complement, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - anon_sym_STAR, - [1619] = 2, + ACTIONS(353), 1, + anon_sym_SEMI, + STATE(41), 1, + sym_expansion, + STATE(165), 1, + sym_identifier, + [2109] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 5, - anon_sym_COLON, - anon_sym_LBRACE, - sym_complement, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - [1630] = 2, + STATE(41), 1, + sym_expansion, + STATE(79), 1, + aux_sym_attribute_repeat1, + STATE(124), 1, + sym_identifier, + [2128] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(290), 5, - anon_sym_COLON, - anon_sym_LBRACE, - sym_complement, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - [1641] = 2, + STATE(41), 1, + sym_expansion, + STATE(77), 1, + aux_sym_roles_repeat1, + STATE(132), 1, + sym_identifier, + [2147] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(292), 5, - anon_sym_COLON, - anon_sym_LBRACE, - sym_complement, + ACTIONS(355), 4, + anon_sym_RBRACE, sym_word, anon_sym_DOLLAR, - [1652] = 2, + anon_sym_STAR, + [2157] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(294), 5, - anon_sym_LBRACE, - sym_complement, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - anon_sym_STAR, - [1663] = 6, + STATE(41), 1, + sym_expansion, + STATE(152), 1, + sym_identifier, + [2173] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(296), 1, - anon_sym_LBRACE, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(74), 1, + STATE(121), 1, sym_identifier, - [1682] = 6, + [2189] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - ACTIONS(298), 1, - anon_sym_SEMI, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(141), 1, + STATE(150), 1, sym_identifier, - [1701] = 2, + [2205] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(300), 5, - anon_sym_SEMI, - anon_sym_RBRACE, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - anon_sym_STAR, - [1712] = 6, + STATE(41), 1, + sym_expansion, + STATE(122), 1, + sym_identifier, + [2221] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(67), 1, - aux_sym_alias_repeat1, - STATE(110), 1, + STATE(131), 1, sym_identifier, - [1731] = 5, + [2237] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(131), 1, + STATE(100), 1, sym_identifier, - [1747] = 2, + [2253] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(302), 4, - anon_sym_RBRACE, + ACTIONS(357), 4, + anon_sym_LBRACE, + sym_complement, sym_word, anon_sym_DOLLAR, - anon_sym_STAR, - [1757] = 5, + [2263] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(112), 1, + STATE(183), 1, sym_identifier, - [1773] = 5, + [2279] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(359), 4, + anon_sym_LBRACE, + sym_complement, sym_word, - ACTIONS(199), 1, anon_sym_DOLLAR, - STATE(34), 1, - sym_expansion, - STATE(62), 1, - sym_identifier, - [1789] = 2, + [2289] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 4, - anon_sym_RBRACE, - sym_negative, + ACTIONS(361), 4, + anon_sym_LBRACE, + sym_complement, sym_word, anon_sym_DOLLAR, - [1799] = 5, + [2299] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(100), 1, + STATE(146), 1, sym_identifier, - [1815] = 5, + [2315] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, STATE(68), 1, sym_identifier, - [1831] = 5, + [2331] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(102), 1, + STATE(115), 1, sym_identifier, - [1847] = 2, + [2347] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(306), 4, + ACTIONS(363), 4, anon_sym_RBRACE, sym_negative, sym_word, anon_sym_DOLLAR, - [1857] = 5, + [2357] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(95), 1, + STATE(75), 1, sym_identifier, - [1873] = 5, + [2373] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(126), 1, + STATE(117), 1, sym_identifier, - [1889] = 5, + [2389] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(130), 1, + STATE(153), 1, sym_identifier, - [1905] = 5, + [2405] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(138), 1, + STATE(144), 1, sym_identifier, - [1921] = 2, + [2421] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(308), 4, - anon_sym_LBRACE, - sym_complement, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - [1931] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(310), 1, - anon_sym_alias, - ACTIONS(312), 1, - anon_sym_COMMA, - ACTIONS(314), 1, - anon_sym_SEMI, - STATE(109), 1, - aux_sym_type_declaration_repeat1, - [1947] = 5, + STATE(41), 1, + sym_expansion, + STATE(159), 1, + sym_identifier, + [2437] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(128), 1, + STATE(125), 1, sym_identifier, - [1963] = 5, + [2453] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(365), 4, + anon_sym_RBRACE, + sym_negative, sym_word, - ACTIONS(199), 1, anon_sym_DOLLAR, - STATE(34), 1, - sym_expansion, - STATE(127), 1, - sym_identifier, - [1979] = 5, + [2463] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(367), 4, + anon_sym_RBRACE, + sym_negative, sym_word, - ACTIONS(199), 1, anon_sym_DOLLAR, - STATE(34), 1, - sym_expansion, - STATE(83), 1, - sym_identifier, - [1995] = 5, + [2473] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(78), 1, + STATE(151), 1, sym_identifier, - [2011] = 2, + [2489] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(316), 4, - anon_sym_RBRACE, - sym_negative, + ACTIONS(232), 1, sym_word, + ACTIONS(238), 1, anon_sym_DOLLAR, - [2021] = 5, + STATE(41), 1, + sym_expansion, + STATE(92), 1, + sym_identifier, + [2505] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(122), 1, + STATE(82), 1, sym_identifier, - [2037] = 2, + [2521] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(318), 4, + ACTIONS(369), 4, anon_sym_RBRACE, sym_negative, sym_word, anon_sym_DOLLAR, - [2047] = 5, + [2531] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, - sym_word, - ACTIONS(199), 1, - anon_sym_DOLLAR, - STATE(34), 1, - sym_expansion, - STATE(63), 1, - sym_identifier, - [2063] = 5, + ACTIONS(371), 1, + anon_sym_alias, + ACTIONS(373), 1, + anon_sym_COMMA, + ACTIONS(375), 1, + anon_sym_SEMI, + STATE(127), 1, + aux_sym_type_declaration_repeat1, + [2547] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(232), 1, sym_word, - ACTIONS(199), 1, + ACTIONS(238), 1, anon_sym_DOLLAR, - STATE(34), 1, + STATE(41), 1, sym_expansion, - STATE(134), 1, + STATE(157), 1, sym_identifier, - [2079] = 2, + [2563] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(320), 3, + ACTIONS(377), 3, anon_sym_RBRACE, sym_word, anon_sym_DOLLAR, - [2088] = 3, + [2572] = 4, ACTIONS(3), 1, sym_comment, - STATE(132), 1, + ACTIONS(373), 1, + anon_sym_COMMA, + ACTIONS(379), 1, + anon_sym_SEMI, + STATE(139), 1, + aux_sym_type_declaration_repeat1, + [2585] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(178), 1, sym_boolean, - ACTIONS(322), 2, + ACTIONS(381), 2, anon_sym_true, anon_sym_false, - [2099] = 4, + [2596] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(324), 1, + ACTIONS(373), 1, anon_sym_COMMA, - ACTIONS(326), 1, - anon_sym_RPAREN, - STATE(111), 1, - aux_sym_arguments_repeat1, - [2112] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(312), 1, - anon_sym_COMMA, - ACTIONS(328), 1, + ACTIONS(383), 1, anon_sym_SEMI, - STATE(114), 1, + STATE(138), 1, aux_sym_type_declaration_repeat1, - [2125] = 4, + [2609] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, + ACTIONS(373), 1, anon_sym_COMMA, - ACTIONS(330), 1, + ACTIONS(385), 1, anon_sym_SEMI, - STATE(114), 1, + STATE(138), 1, aux_sym_type_declaration_repeat1, - [2138] = 2, + [2622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(332), 3, + ACTIONS(387), 3, anon_sym_RBRACE, sym_word, anon_sym_DOLLAR, - [2147] = 4, + [2631] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(324), 1, + ACTIONS(389), 1, anon_sym_COMMA, - ACTIONS(334), 1, + ACTIONS(391), 1, anon_sym_RPAREN, - STATE(115), 1, + STATE(135), 1, aux_sym_arguments_repeat1, - [2160] = 4, + [2644] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, + ACTIONS(373), 1, anon_sym_COMMA, - ACTIONS(336), 1, + ACTIONS(393), 1, anon_sym_SEMI, - STATE(113), 1, + STATE(136), 1, aux_sym_type_declaration_repeat1, - [2173] = 4, + [2657] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, + ACTIONS(395), 3, + anon_sym_RBRACE, + sym_word, + anon_sym_DOLLAR, + [2666] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(389), 1, anon_sym_COMMA, - ACTIONS(338), 1, - anon_sym_SEMI, - STATE(114), 1, - aux_sym_type_declaration_repeat1, - [2186] = 4, + ACTIONS(397), 1, + anon_sym_RPAREN, + STATE(130), 1, + aux_sym_arguments_repeat1, + [2679] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(340), 1, + ACTIONS(373), 1, anon_sym_COMMA, - ACTIONS(343), 1, + ACTIONS(399), 1, anon_sym_SEMI, - STATE(114), 1, + STATE(128), 1, aux_sym_type_declaration_repeat1, - [2199] = 4, + [2692] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(345), 1, + ACTIONS(401), 1, anon_sym_COMMA, - ACTIONS(348), 1, + ACTIONS(404), 1, anon_sym_RPAREN, - STATE(115), 1, + STATE(135), 1, aux_sym_arguments_repeat1, - [2212] = 3, + [2705] = 4, ACTIONS(3), 1, sym_comment, - STATE(152), 1, + ACTIONS(373), 1, + anon_sym_COMMA, + ACTIONS(406), 1, + anon_sym_SEMI, + STATE(138), 1, + aux_sym_type_declaration_repeat1, + [2718] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(173), 1, sym_boolean, - ACTIONS(322), 2, + ACTIONS(381), 2, anon_sym_true, anon_sym_false, - [2223] = 4, + [2729] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, + ACTIONS(408), 1, anon_sym_COMMA, - ACTIONS(350), 1, + ACTIONS(411), 1, anon_sym_SEMI, - STATE(108), 1, + STATE(138), 1, + aux_sym_type_declaration_repeat1, + [2742] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 1, + anon_sym_COMMA, + ACTIONS(413), 1, + anon_sym_SEMI, + STATE(138), 1, aux_sym_type_declaration_repeat1, - [2236] = 2, + [2755] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(352), 2, + ACTIONS(415), 2, anon_sym_COMMA, anon_sym_RPAREN, - [2244] = 2, + [2763] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(354), 2, + ACTIONS(417), 2, anon_sym_true, anon_sym_false, - [2252] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(356), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [2260] = 2, + [2771] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(358), 2, + ACTIONS(419), 2, anon_sym_COMMA, anon_sym_SEMI, - [2268] = 2, + [2779] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(360), 2, + ACTIONS(421), 2, anon_sym_COMMA, anon_sym_SEMI, - [2276] = 2, + [2787] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 2, + ACTIONS(423), 2, anon_sym_COMMA, anon_sym_SEMI, - [2284] = 2, + [2795] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(364), 2, + ACTIONS(425), 2, anon_sym_true, anon_sym_false, - [2292] = 2, + [2803] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 1, + anon_sym_SEMI, + ACTIONS(429), 1, + anon_sym_types, + [2813] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(366), 2, + ACTIONS(431), 2, anon_sym_COMMA, anon_sym_RPAREN, - [2300] = 2, + [2821] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(368), 1, - anon_sym_SEMI, - [2307] = 2, + ACTIONS(433), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2829] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(370), 1, + ACTIONS(435), 1, anon_sym_SEMI, - [2314] = 2, + [2836] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(372), 1, + ACTIONS(437), 1, anon_sym_SEMI, - [2321] = 2, + [2843] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(374), 1, - anon_sym_BQUOTE, - [2328] = 2, + ACTIONS(439), 1, + anon_sym_SEMI, + [2850] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(376), 1, - anon_sym_alias, - [2335] = 2, + ACTIONS(441), 1, + anon_sym_SEMI, + [2857] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(378), 1, + ACTIONS(443), 1, anon_sym_SEMI, - [2342] = 2, + [2864] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(380), 1, - anon_sym_SEMI, - [2349] = 2, + ACTIONS(445), 1, + anon_sym_BQUOTE, + [2871] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(382), 1, - anon_sym_COLON, - [2356] = 2, + ACTIONS(447), 1, + anon_sym_COMMA, + [2878] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(384), 1, - anon_sym_SEMI, - [2363] = 2, + ACTIONS(449), 1, + anon_sym_LPAREN, + [2885] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 1, - anon_sym_COMMA, - [2370] = 2, + ACTIONS(451), 1, + anon_sym_alias, + [2892] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 1, + anon_sym_SQUOTE, + [2899] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(388), 1, + ACTIONS(455), 1, anon_sym_SEMI, - [2377] = 2, + [2906] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(390), 1, + ACTIONS(457), 1, anon_sym_SEMI, - [2384] = 2, + [2913] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(392), 1, - anon_sym_types, - [2391] = 2, + ACTIONS(459), 1, + anon_sym_SEMI, + [2920] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(394), 1, - anon_sym_BQUOTE, - [2398] = 2, + ACTIONS(461), 1, + anon_sym_SEMI, + [2927] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(396), 1, - aux_sym_expansion_token1, - [2405] = 2, + ACTIONS(463), 1, + ts_builtin_sym_end, + [2934] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(398), 1, + ACTIONS(465), 1, anon_sym_SEMI, - [2412] = 2, + [2941] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(400), 1, - ts_builtin_sym_end, - [2419] = 2, + ACTIONS(467), 1, + anon_sym_SEMI, + [2948] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(402), 1, - anon_sym_SQUOTE, - [2426] = 2, + ACTIONS(469), 1, + sym_word, + [2955] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(404), 1, + ACTIONS(471), 1, anon_sym_LPAREN, - [2433] = 2, + [2962] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(406), 1, - anon_sym_LPAREN, - [2440] = 2, + ACTIONS(473), 1, + aux_sym_expansion_token1, + [2969] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(408), 1, + ACTIONS(475), 1, anon_sym_COLON, - [2447] = 2, + [2976] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(410), 1, - anon_sym_SEMI, - [2454] = 2, + ACTIONS(477), 1, + anon_sym_RPAREN, + [2983] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(412), 1, + ACTIONS(479), 1, sym_word, - [2461] = 2, + [2990] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(481), 1, + anon_sym_SEMI, + [2997] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(414), 1, + ACTIONS(483), 1, anon_sym_SEMI, - [2468] = 2, + [3004] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(485), 1, + anon_sym_COLON, + [3011] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(416), 1, + ACTIONS(487), 1, anon_sym_SQUOTE, - [2475] = 2, + [3018] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(418), 1, + ACTIONS(489), 1, anon_sym_COLON, - [2482] = 2, + [3025] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(420), 1, - anon_sym_SEMI, - [2489] = 2, + ACTIONS(491), 1, + anon_sym_COLON, + [3032] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(422), 1, + ACTIONS(493), 1, anon_sym_SEMI, - [2496] = 2, + [3039] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(424), 1, + ACTIONS(495), 1, anon_sym_RPAREN, - [2503] = 2, + [3046] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(426), 1, + ACTIONS(497), 1, anon_sym_SEMI, - [2510] = 2, + [3053] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(428), 1, - anon_sym_COLON, - [2517] = 2, + ACTIONS(499), 1, + anon_sym_SEMI, + [3060] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(430), 1, - anon_sym_RPAREN, - [2524] = 2, + ACTIONS(501), 1, + anon_sym_BQUOTE, + [3067] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(432), 1, - sym_word, - [2531] = 2, + ACTIONS(503), 1, + anon_sym_SEMI, + [3074] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(434), 1, + ACTIONS(505), 1, anon_sym_SEMI, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(11)] = 0, - [SMALL_STATE(12)] = 73, - [SMALL_STATE(13)] = 146, - [SMALL_STATE(14)] = 173, + [SMALL_STATE(12)] = 0, + [SMALL_STATE(13)] = 85, + [SMALL_STATE(14)] = 170, [SMALL_STATE(15)] = 200, - [SMALL_STATE(16)] = 227, - [SMALL_STATE(17)] = 254, - [SMALL_STATE(18)] = 281, - [SMALL_STATE(19)] = 308, - [SMALL_STATE(20)] = 335, - [SMALL_STATE(21)] = 362, - [SMALL_STATE(22)] = 389, - [SMALL_STATE(23)] = 415, - [SMALL_STATE(24)] = 441, - [SMALL_STATE(25)] = 467, - [SMALL_STATE(26)] = 493, - [SMALL_STATE(27)] = 519, - [SMALL_STATE(28)] = 545, - [SMALL_STATE(29)] = 571, - [SMALL_STATE(30)] = 597, - [SMALL_STATE(31)] = 623, - [SMALL_STATE(32)] = 649, - [SMALL_STATE(33)] = 675, - [SMALL_STATE(34)] = 698, - [SMALL_STATE(35)] = 721, - [SMALL_STATE(36)] = 749, - [SMALL_STATE(37)] = 780, - [SMALL_STATE(38)] = 808, - [SMALL_STATE(39)] = 836, - [SMALL_STATE(40)] = 864, - [SMALL_STATE(41)] = 892, - [SMALL_STATE(42)] = 917, - [SMALL_STATE(43)] = 942, - [SMALL_STATE(44)] = 967, - [SMALL_STATE(45)] = 992, - [SMALL_STATE(46)] = 1017, - [SMALL_STATE(47)] = 1042, - [SMALL_STATE(48)] = 1067, - [SMALL_STATE(49)] = 1092, - [SMALL_STATE(50)] = 1117, - [SMALL_STATE(51)] = 1142, - [SMALL_STATE(52)] = 1167, - [SMALL_STATE(53)] = 1192, - [SMALL_STATE(54)] = 1217, - [SMALL_STATE(55)] = 1242, - [SMALL_STATE(56)] = 1267, - [SMALL_STATE(57)] = 1292, - [SMALL_STATE(58)] = 1314, - [SMALL_STATE(59)] = 1336, - [SMALL_STATE(60)] = 1358, - [SMALL_STATE(61)] = 1380, - [SMALL_STATE(62)] = 1402, - [SMALL_STATE(63)] = 1424, - [SMALL_STATE(64)] = 1446, - [SMALL_STATE(65)] = 1468, - [SMALL_STATE(66)] = 1490, - [SMALL_STATE(67)] = 1512, - [SMALL_STATE(68)] = 1534, - [SMALL_STATE(69)] = 1556, - [SMALL_STATE(70)] = 1578, - [SMALL_STATE(71)] = 1597, - [SMALL_STATE(72)] = 1608, - [SMALL_STATE(73)] = 1619, - [SMALL_STATE(74)] = 1630, - [SMALL_STATE(75)] = 1641, - [SMALL_STATE(76)] = 1652, - [SMALL_STATE(77)] = 1663, - [SMALL_STATE(78)] = 1682, - [SMALL_STATE(79)] = 1701, - [SMALL_STATE(80)] = 1712, - [SMALL_STATE(81)] = 1731, - [SMALL_STATE(82)] = 1747, - [SMALL_STATE(83)] = 1757, - [SMALL_STATE(84)] = 1773, - [SMALL_STATE(85)] = 1789, - [SMALL_STATE(86)] = 1799, - [SMALL_STATE(87)] = 1815, - [SMALL_STATE(88)] = 1831, - [SMALL_STATE(89)] = 1847, - [SMALL_STATE(90)] = 1857, - [SMALL_STATE(91)] = 1873, - [SMALL_STATE(92)] = 1889, - [SMALL_STATE(93)] = 1905, - [SMALL_STATE(94)] = 1921, - [SMALL_STATE(95)] = 1931, - [SMALL_STATE(96)] = 1947, - [SMALL_STATE(97)] = 1963, - [SMALL_STATE(98)] = 1979, - [SMALL_STATE(99)] = 1995, - [SMALL_STATE(100)] = 2011, - [SMALL_STATE(101)] = 2021, - [SMALL_STATE(102)] = 2037, - [SMALL_STATE(103)] = 2047, - [SMALL_STATE(104)] = 2063, - [SMALL_STATE(105)] = 2079, - [SMALL_STATE(106)] = 2088, - [SMALL_STATE(107)] = 2099, - [SMALL_STATE(108)] = 2112, - [SMALL_STATE(109)] = 2125, - [SMALL_STATE(110)] = 2138, - [SMALL_STATE(111)] = 2147, - [SMALL_STATE(112)] = 2160, - [SMALL_STATE(113)] = 2173, - [SMALL_STATE(114)] = 2186, - [SMALL_STATE(115)] = 2199, - [SMALL_STATE(116)] = 2212, - [SMALL_STATE(117)] = 2223, - [SMALL_STATE(118)] = 2236, - [SMALL_STATE(119)] = 2244, - [SMALL_STATE(120)] = 2252, - [SMALL_STATE(121)] = 2260, - [SMALL_STATE(122)] = 2268, - [SMALL_STATE(123)] = 2276, - [SMALL_STATE(124)] = 2284, - [SMALL_STATE(125)] = 2292, - [SMALL_STATE(126)] = 2300, - [SMALL_STATE(127)] = 2307, - [SMALL_STATE(128)] = 2314, - [SMALL_STATE(129)] = 2321, - [SMALL_STATE(130)] = 2328, - [SMALL_STATE(131)] = 2335, - [SMALL_STATE(132)] = 2342, - [SMALL_STATE(133)] = 2349, - [SMALL_STATE(134)] = 2356, - [SMALL_STATE(135)] = 2363, - [SMALL_STATE(136)] = 2370, - [SMALL_STATE(137)] = 2377, - [SMALL_STATE(138)] = 2384, - [SMALL_STATE(139)] = 2391, - [SMALL_STATE(140)] = 2398, - [SMALL_STATE(141)] = 2405, - [SMALL_STATE(142)] = 2412, - [SMALL_STATE(143)] = 2419, - [SMALL_STATE(144)] = 2426, - [SMALL_STATE(145)] = 2433, - [SMALL_STATE(146)] = 2440, - [SMALL_STATE(147)] = 2447, - [SMALL_STATE(148)] = 2454, - [SMALL_STATE(149)] = 2461, - [SMALL_STATE(150)] = 2468, - [SMALL_STATE(151)] = 2475, - [SMALL_STATE(152)] = 2482, - [SMALL_STATE(153)] = 2489, - [SMALL_STATE(154)] = 2496, - [SMALL_STATE(155)] = 2503, - [SMALL_STATE(156)] = 2510, - [SMALL_STATE(157)] = 2517, - [SMALL_STATE(158)] = 2524, - [SMALL_STATE(159)] = 2531, + [SMALL_STATE(16)] = 230, + [SMALL_STATE(17)] = 260, + [SMALL_STATE(18)] = 290, + [SMALL_STATE(19)] = 320, + [SMALL_STATE(20)] = 350, + [SMALL_STATE(21)] = 380, + [SMALL_STATE(22)] = 410, + [SMALL_STATE(23)] = 440, + [SMALL_STATE(24)] = 469, + [SMALL_STATE(25)] = 498, + [SMALL_STATE(26)] = 527, + [SMALL_STATE(27)] = 556, + [SMALL_STATE(28)] = 585, + [SMALL_STATE(29)] = 614, + [SMALL_STATE(30)] = 643, + [SMALL_STATE(31)] = 672, + [SMALL_STATE(32)] = 701, + [SMALL_STATE(33)] = 730, + [SMALL_STATE(34)] = 759, + [SMALL_STATE(35)] = 788, + [SMALL_STATE(36)] = 817, + [SMALL_STATE(37)] = 846, + [SMALL_STATE(38)] = 875, + [SMALL_STATE(39)] = 904, + [SMALL_STATE(40)] = 933, + [SMALL_STATE(41)] = 956, + [SMALL_STATE(42)] = 979, + [SMALL_STATE(43)] = 1007, + [SMALL_STATE(44)] = 1038, + [SMALL_STATE(45)] = 1066, + [SMALL_STATE(46)] = 1094, + [SMALL_STATE(47)] = 1122, + [SMALL_STATE(48)] = 1150, + [SMALL_STATE(49)] = 1175, + [SMALL_STATE(50)] = 1200, + [SMALL_STATE(51)] = 1225, + [SMALL_STATE(52)] = 1250, + [SMALL_STATE(53)] = 1275, + [SMALL_STATE(54)] = 1300, + [SMALL_STATE(55)] = 1325, + [SMALL_STATE(56)] = 1350, + [SMALL_STATE(57)] = 1375, + [SMALL_STATE(58)] = 1400, + [SMALL_STATE(59)] = 1425, + [SMALL_STATE(60)] = 1450, + [SMALL_STATE(61)] = 1475, + [SMALL_STATE(62)] = 1500, + [SMALL_STATE(63)] = 1525, + [SMALL_STATE(64)] = 1550, + [SMALL_STATE(65)] = 1575, + [SMALL_STATE(66)] = 1600, + [SMALL_STATE(67)] = 1622, + [SMALL_STATE(68)] = 1634, + [SMALL_STATE(69)] = 1656, + [SMALL_STATE(70)] = 1678, + [SMALL_STATE(71)] = 1690, + [SMALL_STATE(72)] = 1712, + [SMALL_STATE(73)] = 1734, + [SMALL_STATE(74)] = 1756, + [SMALL_STATE(75)] = 1768, + [SMALL_STATE(76)] = 1790, + [SMALL_STATE(77)] = 1812, + [SMALL_STATE(78)] = 1834, + [SMALL_STATE(79)] = 1856, + [SMALL_STATE(80)] = 1878, + [SMALL_STATE(81)] = 1900, + [SMALL_STATE(82)] = 1922, + [SMALL_STATE(83)] = 1944, + [SMALL_STATE(84)] = 1956, + [SMALL_STATE(85)] = 1978, + [SMALL_STATE(86)] = 2000, + [SMALL_STATE(87)] = 2011, + [SMALL_STATE(88)] = 2022, + [SMALL_STATE(89)] = 2041, + [SMALL_STATE(90)] = 2052, + [SMALL_STATE(91)] = 2071, + [SMALL_STATE(92)] = 2090, + [SMALL_STATE(93)] = 2109, + [SMALL_STATE(94)] = 2128, + [SMALL_STATE(95)] = 2147, + [SMALL_STATE(96)] = 2157, + [SMALL_STATE(97)] = 2173, + [SMALL_STATE(98)] = 2189, + [SMALL_STATE(99)] = 2205, + [SMALL_STATE(100)] = 2221, + [SMALL_STATE(101)] = 2237, + [SMALL_STATE(102)] = 2253, + [SMALL_STATE(103)] = 2263, + [SMALL_STATE(104)] = 2279, + [SMALL_STATE(105)] = 2289, + [SMALL_STATE(106)] = 2299, + [SMALL_STATE(107)] = 2315, + [SMALL_STATE(108)] = 2331, + [SMALL_STATE(109)] = 2347, + [SMALL_STATE(110)] = 2357, + [SMALL_STATE(111)] = 2373, + [SMALL_STATE(112)] = 2389, + [SMALL_STATE(113)] = 2405, + [SMALL_STATE(114)] = 2421, + [SMALL_STATE(115)] = 2437, + [SMALL_STATE(116)] = 2453, + [SMALL_STATE(117)] = 2463, + [SMALL_STATE(118)] = 2473, + [SMALL_STATE(119)] = 2489, + [SMALL_STATE(120)] = 2505, + [SMALL_STATE(121)] = 2521, + [SMALL_STATE(122)] = 2531, + [SMALL_STATE(123)] = 2547, + [SMALL_STATE(124)] = 2563, + [SMALL_STATE(125)] = 2572, + [SMALL_STATE(126)] = 2585, + [SMALL_STATE(127)] = 2596, + [SMALL_STATE(128)] = 2609, + [SMALL_STATE(129)] = 2622, + [SMALL_STATE(130)] = 2631, + [SMALL_STATE(131)] = 2644, + [SMALL_STATE(132)] = 2657, + [SMALL_STATE(133)] = 2666, + [SMALL_STATE(134)] = 2679, + [SMALL_STATE(135)] = 2692, + [SMALL_STATE(136)] = 2705, + [SMALL_STATE(137)] = 2718, + [SMALL_STATE(138)] = 2729, + [SMALL_STATE(139)] = 2742, + [SMALL_STATE(140)] = 2755, + [SMALL_STATE(141)] = 2763, + [SMALL_STATE(142)] = 2771, + [SMALL_STATE(143)] = 2779, + [SMALL_STATE(144)] = 2787, + [SMALL_STATE(145)] = 2795, + [SMALL_STATE(146)] = 2803, + [SMALL_STATE(147)] = 2813, + [SMALL_STATE(148)] = 2821, + [SMALL_STATE(149)] = 2829, + [SMALL_STATE(150)] = 2836, + [SMALL_STATE(151)] = 2843, + [SMALL_STATE(152)] = 2850, + [SMALL_STATE(153)] = 2857, + [SMALL_STATE(154)] = 2864, + [SMALL_STATE(155)] = 2871, + [SMALL_STATE(156)] = 2878, + [SMALL_STATE(157)] = 2885, + [SMALL_STATE(158)] = 2892, + [SMALL_STATE(159)] = 2899, + [SMALL_STATE(160)] = 2906, + [SMALL_STATE(161)] = 2913, + [SMALL_STATE(162)] = 2920, + [SMALL_STATE(163)] = 2927, + [SMALL_STATE(164)] = 2934, + [SMALL_STATE(165)] = 2941, + [SMALL_STATE(166)] = 2948, + [SMALL_STATE(167)] = 2955, + [SMALL_STATE(168)] = 2962, + [SMALL_STATE(169)] = 2969, + [SMALL_STATE(170)] = 2976, + [SMALL_STATE(171)] = 2983, + [SMALL_STATE(172)] = 2990, + [SMALL_STATE(173)] = 2997, + [SMALL_STATE(174)] = 3004, + [SMALL_STATE(175)] = 3011, + [SMALL_STATE(176)] = 3018, + [SMALL_STATE(177)] = 3025, + [SMALL_STATE(178)] = 3032, + [SMALL_STATE(179)] = 3039, + [SMALL_STATE(180)] = 3046, + [SMALL_STATE(181)] = 3053, + [SMALL_STATE(182)] = 3060, + [SMALL_STATE(183)] = 3067, + [SMALL_STATE(184)] = 3074, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -8218,205 +9019,238 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [35] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_classes, 1), - [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classes, 1), - [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_repeat1, 2, .production_id = 36), - [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_repeat1, 2, .production_id = 36), SHIFT_REPEAT(2), - [44] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_repeat1, 2, .production_id = 36), SHIFT_REPEAT(2), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_repeat1, 1, .production_id = 23), - [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_class_repeat1, 1, .production_id = 23), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(144), - [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(90), - [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(104), - [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(59), - [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(98), - [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(92), - [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(81), - [84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(47), - [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(45), - [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(44), - [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(93), - [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(148), - [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(145), - [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(94), - [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 5, .production_id = 19), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 5, .production_id = 19), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeattribute_declaration, 5, .production_id = 20), - [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typeattribute_declaration, 5, .production_id = 20), - [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeattribute_declaration, 4, .production_id = 15), - [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typeattribute_declaration, 4, .production_id = 15), - [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_declaration, 7, .production_id = 41), - [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rule_declaration, 7, .production_id = 41), - [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_usage, 3, .production_id = 6), - [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_usage, 3, .production_id = 6), - [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 3, .production_id = 3), - [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 3, .production_id = 3), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_usage, 4, .production_id = 18), - [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_usage, 4, .production_id = 18), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 10), - [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 4, .production_id = 10), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 6, .production_id = 29), - [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 6, .production_id = 29), - [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_change_declaration, 7, .production_id = 38), - [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_change_declaration, 7, .production_id = 38), - [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expandattribute_declaration, 4, .production_id = 14), - [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expandattribute_declaration, 4, .production_id = 14), - [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_role_declaration, 5, .production_id = 24), - [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_role_declaration, 5, .production_id = 24), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 10, .production_id = 45), - [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_declaration, 10, .production_id = 45), - [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permissive_declaration, 3, .production_id = 3), - [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_permissive_declaration, 3, .production_id = 3), - [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_transition_declaration, 7, .production_id = 37), - [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_transition_declaration, 7, .production_id = 37), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_transition_declaration, 8, .production_id = 42), - [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_transition_declaration, 8, .production_id = 42), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_declaration, 4, .production_id = 16), - [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_declaration, 4, .production_id = 16), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, .production_id = 4), - [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, .production_id = 4), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typealias_declaration, 5, .production_id = 19), - [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typealias_declaration, 5, .production_id = 19), - [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_member_declaration, 7, .production_id = 39), - [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_member_declaration, 7, .production_id = 39), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expansion, 2), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expansion, 2), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 44), SHIFT_REPEAT(34), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 44), - [210] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 44), SHIFT_REPEAT(140), - [213] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 44), SHIFT_REPEAT(79), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 22), SHIFT_REPEAT(34), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 22), - [233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 22), SHIFT_REPEAT(88), - [236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 22), SHIFT_REPEAT(140), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 33), SHIFT_REPEAT(34), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 33), - [254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 33), SHIFT_REPEAT(86), - [257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 33), SHIFT_REPEAT(140), - [260] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 2, .production_id = 28), SHIFT_REPEAT(34), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 2, .production_id = 28), - [265] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 2, .production_id = 28), SHIFT_REPEAT(140), - [268] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 13), SHIFT_REPEAT(34), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 13), - [273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 13), SHIFT_REPEAT(140), - [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5, .production_id = 30), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 3, .production_id = 35), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, .production_id = 21), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2, .production_id = 5), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, .production_id = 2), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 1, .production_id = 23), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permissions, 1), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 1, .production_id = 34), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 1, .production_id = 8), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1, .production_id = 2), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_name, 1), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 31), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 5), - [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 1, .production_id = 1), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1, .production_id = 7), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 1, .production_id = 9), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, .production_id = 17), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2, .production_id = 11), SHIFT_REPEAT(101), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2, .production_id = 11), - [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, .production_id = 26), SHIFT_REPEAT(64), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, .production_id = 26), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 4, .production_id = 32), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 12), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, .production_id = 25), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias, 3, .production_id = 27), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2, .production_id = 4), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias, 1, .production_id = 9), - [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, .production_id = 1), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1, .production_id = 8), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 1, .production_id = 34), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [400] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 2, .production_id = 40), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 4, .production_id = 43), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 5, .production_id = 46), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_classes, 1), + [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_classes, 1), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_repeat1, 2, .production_id = 43), + [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_repeat1, 2, .production_id = 43), SHIFT_REPEAT(2), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_repeat1, 2, .production_id = 43), SHIFT_REPEAT(2), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_repeat1, 1, .production_id = 28), + [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_class_repeat1, 1, .production_id = 28), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(167), + [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(99), + [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(98), + [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(85), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(108), + [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(123), + [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(114), + [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(65), + [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(54), + [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(52), + [97] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(106), + [100] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(103), + [103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(101), + [106] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(71), + [109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(166), + [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(156), + [115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(104), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeattribute_declaration, 4, .production_id = 17), + [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typeattribute_declaration, 4, .production_id = 17), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_declaration, 7, .production_id = 49), + [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_rule_declaration, 7, .production_id = 49), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 12), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 4, .production_id = 12), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 6, .production_id = 36), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 6, .production_id = 36), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_usage, 4, .production_id = 23), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_usage, 4, .production_id = 23), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 3, .production_id = 4), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 3, .production_id = 4), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 5, .production_id = 24), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 5, .production_id = 24), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeattribute_declaration, 5, .production_id = 25), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typeattribute_declaration, 5, .production_id = 25), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_usage, 3, .production_id = 8), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_usage, 3, .production_id = 8), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_transition_declaration, 7, .production_id = 44), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_transition_declaration, 7, .production_id = 44), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_role_declaration, 3, .production_id = 7), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_role_declaration, 3, .production_id = 7), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typealias_declaration, 5, .production_id = 24), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typealias_declaration, 5, .production_id = 24), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 10, .production_id = 53), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_declaration, 10, .production_id = 53), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_role_declaration, 5, .production_id = 29), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_role_declaration, 5, .production_id = 29), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_roleattribute_declaration, 5, .production_id = 30), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_roleattribute_declaration, 5, .production_id = 30), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_role_transition_declaration, 5, .production_id = 31), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_role_transition_declaration, 5, .production_id = 31), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_declaration, 4, .production_id = 21), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_declaration, 4, .production_id = 21), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_role_declaration, 3, .production_id = 5), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_role_declaration, 3, .production_id = 5), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_roleattribute_declaration, 4, .production_id = 18), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_roleattribute_declaration, 4, .production_id = 18), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_change_declaration, 7, .production_id = 45), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_change_declaration, 7, .production_id = 45), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_member_declaration, 7, .production_id = 46), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_member_declaration, 7, .production_id = 46), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_role_transition_declaration, 7, .production_id = 47), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_role_transition_declaration, 7, .production_id = 47), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, .production_id = 5), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, .production_id = 5), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expandattribute_declaration, 4, .production_id = 16), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expandattribute_declaration, 4, .production_id = 16), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permissive_declaration, 3, .production_id = 4), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_permissive_declaration, 3, .production_id = 4), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_transition_declaration, 8, .production_id = 50), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_transition_declaration, 8, .production_id = 50), + [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expansion, 2), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expansion, 2), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 52), SHIFT_REPEAT(41), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 52), + [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 52), SHIFT_REPEAT(168), + [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 2, .production_id = 52), SHIFT_REPEAT(87), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [265] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 40), SHIFT_REPEAT(41), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 40), + [270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 40), SHIFT_REPEAT(111), + [273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 40), SHIFT_REPEAT(168), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 27), SHIFT_REPEAT(41), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 27), + [293] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 27), SHIFT_REPEAT(97), + [296] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 27), SHIFT_REPEAT(168), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, .production_id = 2), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2, .production_id = 6), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 15), SHIFT_REPEAT(41), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 15), + [314] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, .production_id = 15), SHIFT_REPEAT(168), + [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, .production_id = 26), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 2, .production_id = 35), SHIFT_REPEAT(41), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 2, .production_id = 35), + [328] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 2, .production_id = 35), SHIFT_REPEAT(168), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5, .production_id = 37), + [333] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_roles_repeat1, 2, .production_id = 20), SHIFT_REPEAT(41), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_roles_repeat1, 2, .production_id = 20), + [338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_roles_repeat1, 2, .production_id = 20), SHIFT_REPEAT(168), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 1, .production_id = 28), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permissions, 1), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 3, .production_id = 42), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_permission_repeat1, 1, .production_id = 41), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_roles, 1, .production_id = 3), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rule_name, 1), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_roles, 3, .production_id = 19), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 1, .production_id = 10), + [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1, .production_id = 2), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_repeat1, 2, .production_id = 38), + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, .production_id = 6), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 1, .production_id = 1), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alias_repeat1, 1, .production_id = 11), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, .production_id = 22), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_roles_repeat1, 1, .production_id = 3), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1, .production_id = 9), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, .production_id = 33), SHIFT_REPEAT(72), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, .production_id = 33), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [408] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2, .production_id = 13), SHIFT_REPEAT(113), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2, .production_id = 13), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1, .production_id = 10), + [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, .production_id = 1), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias, 1, .production_id = 11), + [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias, 3, .production_id = 34), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2, .production_id = 5), + [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 14), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 4, .production_id = 39), + [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, .production_id = 32), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 1, .production_id = 41), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [463] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 2, .production_id = 48), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 4, .production_id = 51), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_permission, 5, .production_id = 54), }; #ifdef __cplusplus diff --git a/test/corpus/roles.txt b/test/corpus/roles.txt new file mode 100644 index 0000000..5343b75 --- /dev/null +++ b/test/corpus/roles.txt @@ -0,0 +1,108 @@ +================ +Role declaration +================ + +role system_r; +role user_r types user_t; +role user_r types { var_log_t test_t }; +role user_r types { var_log_t -test_t }; + +--- + +(source_file + (role_declaration + (identifier + (word))) + (role_declaration + (identifier + (word)) + (type + (identifier + (word)))) + (role_declaration + (identifier + (word)) + (type + (identifier + (word)) + (identifier + (word)))) + (role_declaration + (identifier + (word)) + (type + (identifier + (word)) + (negative) + (identifier + (word))))) + +========================== +Attribute-role declaration +========================== + +attribute_role role_list_1; +attribute_role srole_list_2; + +--- + +(source_file + (attribute_role_declaration + (identifier + (word))) + (attribute_role_declaration + (identifier + (word)))) + +========================= +roleattribute declaration +========================= + +roleattribute service_r role_list_1; +roleattribute service_r role_list_1, role_list_2; + +--- + +(source_file + (roleattribute_declaration + (identifier + (word)) + (identifier + (word))) + (roleattribute_declaration + (identifier + (word)) + (identifier + (word)) + (identifier + (word)))) + +=========================== +Role-transition declaration +=========================== + +role_transition current_role_id type_id new_role_id; +role_transition current_role_id type_id : dir new_role_id; + +--- + +(source_file + (role_transition_declaration + (roles + (identifier + (word))) + (type + (identifier + (word))) + (identifier + (word))) + (role_transition_declaration + (roles + (identifier + (word))) + (type + (identifier + (word))) + (classes) + (identifier + (word))))