Commit 145ddb8104

Veikka Tuominen <git@vexu.eu>
2023-11-15 10:26:49
sync Aro dependency
ref: 0c8c251e336148413ceca7b345c0b6f7255b009b
1 parent c327489
deps/aro/Attribute/names.def → deps/aro/aro/Attribute/names.def
@@ -1,18 +1,18 @@
 # multiple
 deprecated
     .tag = .deprecated
-    .c2x = true
+    .c23 = true
     .gnu = true
     .declspec = true
 
 fallthrough
     .tag = .fallthrough
-    .c2x = true
+    .c23 = true
     .gnu = true
 
 noreturn
     .tag = .@"noreturn"
-    .c2x = true
+    .c23 = true
     .gnu = true
     .declspec = true
 
@@ -26,22 +26,22 @@ noinline
     .gnu = true
     .declspec = true
 
-# c2x only
+# c23 only
 nodiscard
     .tag = .nodiscard
-    .c2x = true
+    .c23 = true
 
 reproducible
     .tag = .reproducible
-    .c2x = true
+    .c23 = true
 
 unsequenced
     .tag = .unsequenced
-    .c2x = true
+    .c23 = true
 
 maybe_unused
     .tag = .unused
-    .c2x = true
+    .c23 = true
 
 # gnu only
 access
deps/aro/Builtins/Builtin.def → deps/aro/aro/Builtins/Builtin.def
File renamed without changes
deps/aro/Builtins/Properties.zig → deps/aro/aro/Builtins/Properties.zig
File renamed without changes
deps/aro/Builtins/TypeDescription.zig → deps/aro/aro/Builtins/TypeDescription.zig
File renamed without changes
deps/aro/aro/char_info/identifier_tables.zig
@@ -0,0 +1,627 @@
+//! Adapted from the `unicode-ident` crate: https://github.com/dtolnay/unicode-ident
+//! and Unicode Standard Annex #31 https://www.unicode.org/reports/tr31/
+//! Licensed under the MIT License and the Unicode license
+
+pub const chunk = 64;
+
+pub const trie_start: [402]u8 align(8) = .{
+    0x04, 0x0B, 0x0F, 0x13, 0x17, 0x1B, 0x1F, 0x23, 0x27, 0x2D, 0x31, 0x34, 0x38, 0x3C, 0x40, 0x02,
+    0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x4D, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x51, 0x54, 0x58, 0x5C, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x60, 0x64, 0x66,
+    0x6A, 0x6E, 0x72, 0x28, 0x76, 0x78, 0x7C, 0x80, 0x84, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9E, 0xA2,
+    0x05, 0x2B, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x99, 0x05, 0x05, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x05, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x05, 0xB1, 0x00, 0xB5, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x43, 0xBB, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC8, 0x00, 0x00, 0x00, 0xAF,
+    0xCE, 0xD2, 0xD6, 0xBC, 0xDA, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0xE0, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x52, 0xE3, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE6, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x05, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEB, 0x00, 0x00,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE4, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0xE7,
+};
+
+pub const trie_continue: [1793]u8 align(8) = .{
+    0x08, 0x0D, 0x11, 0x15, 0x19, 0x1D, 0x21, 0x25, 0x2A, 0x2F, 0x31, 0x36, 0x3A, 0x3E, 0x42, 0x02,
+    0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x4F, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x51, 0x56, 0x5A, 0x5E, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62, 0x64, 0x68,
+    0x6C, 0x70, 0x74, 0x28, 0x76, 0x7A, 0x7E, 0x82, 0x86, 0x8A, 0x8E, 0x92, 0x96, 0x9B, 0xA0, 0xA4,
+    0x05, 0x2B, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x99, 0x05, 0x05, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x05, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x05, 0xB3, 0x00, 0xB7, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x43, 0xBB, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xAC, 0xC4, 0xC6, 0xCA, 0x00, 0xCC, 0x00, 0xAF,
+    0xD0, 0xD4, 0xD8, 0xBC, 0xDC, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0xE0, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x52, 0xE3, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE6, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x05, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEB, 0x00, 0x00,
+    0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE4, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+    0x05, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xC2,
+};
+
+pub const leaf: [7584]u8 align(64) = .{
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0xFF, 0xAA, 0xFF, 0xFF, 0xFF, 0x3F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x5F, 0xDC, 0x1F, 0xCF, 0x0F, 0xFF, 0x1F, 0xDC, 0x1F,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x04, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xA0, 0x04, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0x7F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0x03, 0x00, 0x1F, 0x50, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xB8,
+    0x40, 0xD7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0x03, 0x00, 0x1F, 0x50, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB8,
+    0xC0, 0xD7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x02, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x87, 0x07, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFB, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x02, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xB6, 0x00, 0xFF, 0xFF, 0xFF, 0x87, 0x07, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xC0, 0xFE, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F, 0x00, 0x60, 0xC0, 0x00, 0x9C,
+    0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x02, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x07, 0x30, 0x04,
+    0x00, 0x00, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x9F, 0xFF, 0xFD, 0xFF, 0x9F,
+    0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x24,
+    0xFF, 0xFF, 0x3F, 0x04, 0x10, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0x07, 0xFF, 0xFF,
+    0xFF, 0x7E, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x01, 0xFF, 0x03, 0x00, 0xFE, 0xFF,
+    0xE1, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xC5, 0x23, 0x00, 0x40, 0x00, 0xB0, 0x03, 0x00, 0x03, 0x10,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x07, 0xFF, 0xFF,
+    0xFF, 0x7E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0xFF,
+    0xEF, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xC5, 0xF3, 0x9F, 0x79, 0x80, 0xB0, 0xCF, 0xFF, 0x03, 0x50,
+    0xE0, 0x87, 0xF9, 0xFF, 0xFF, 0xFD, 0x6D, 0x03, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x1C, 0x00,
+    0xE0, 0xBF, 0xFB, 0xFF, 0xFF, 0xFD, 0xED, 0x23, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02,
+    0xE0, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0x23, 0x00, 0x00, 0x00, 0xB0, 0x03, 0x00, 0x02, 0x00,
+    0xE8, 0xC7, 0x3D, 0xD6, 0x18, 0xC7, 0xFF, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xEE, 0x87, 0xF9, 0xFF, 0xFF, 0xFD, 0x6D, 0xD3, 0x87, 0x39, 0x02, 0x5E, 0xC0, 0xFF, 0x3F, 0x00,
+    0xEE, 0xBF, 0xFB, 0xFF, 0xFF, 0xFD, 0xED, 0xF3, 0xBF, 0x3B, 0x01, 0x00, 0xCF, 0xFF, 0x00, 0xFE,
+    0xEE, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0xF3, 0x9F, 0x39, 0xE0, 0xB0, 0xCF, 0xFF, 0x02, 0x00,
+    0xEC, 0xC7, 0x3D, 0xD6, 0x18, 0xC7, 0xFF, 0xC3, 0xC7, 0x3D, 0x81, 0x00, 0xC0, 0xFF, 0x00, 0x00,
+    0xE0, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xFF, 0x23, 0x00, 0x00, 0x00, 0x27, 0x03, 0x00, 0x00, 0x00,
+    0xE1, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xEF, 0x23, 0x00, 0x00, 0x00, 0x60, 0x03, 0x00, 0x06, 0x00,
+    0xF0, 0xDF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x27, 0x00, 0x40, 0x70, 0x80, 0x03, 0x00, 0x00, 0xFC,
+    0xE0, 0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0xFB, 0x2F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xFF, 0xF3, 0xDF, 0x3D, 0x60, 0x27, 0xCF, 0xFF, 0x00, 0x00,
+    0xEF, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xEF, 0xF3, 0xDF, 0x3D, 0x60, 0x60, 0xCF, 0xFF, 0x0E, 0x00,
+    0xFF, 0xDF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x7D, 0xF0, 0x80, 0xCF, 0xFF, 0x00, 0xFC,
+    0xEE, 0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0xFB, 0x2F, 0x7F, 0x84, 0x5F, 0xFF, 0xC0, 0xFF, 0x0C, 0x00,
+    0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xD6, 0xF7, 0xFF, 0xFF, 0xAF, 0xFF, 0x05, 0x20, 0x5F, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00,
+    0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x7F, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0xD6, 0xF7, 0xFF, 0xFF, 0xAF, 0xFF, 0xFF, 0x3F, 0x5F, 0x7F, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x03, 0xFF, 0x03, 0xA0, 0xC2, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF,
+    0xDF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x80, 0x00, 0x00, 0x3F, 0x3C, 0x62, 0xC0, 0xE1, 0xFF,
+    0x03, 0x40, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0x00, 0x00, 0x00,
+    0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0xFE, 0x03, 0x00,
+    0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F,
+    0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF,
+    0xFE, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0x01,
+    0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xDF, 0x01, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF,
+    0xFE, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0x01,
+    0xFF, 0xFF, 0x3F, 0x80, 0xFF, 0xFF, 0x1F, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xDF, 0x0D, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0xFF, 0x03, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
+    0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0xB8, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
+    0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x0F, 0xFF, 0x0F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xF8, 0xFF, 0xFF, 0xFF, 0x01, 0xC0, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x9F,
+    0xFF, 0x03, 0xFF, 0x03, 0x80, 0x00, 0xFF, 0xBF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0x03, 0x00, 0xF8, 0x0F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F,
+    0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x6F, 0x04,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
+    0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0xF0, 0x00, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
+    0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x84, 0xFC, 0x2F, 0x3F, 0x50, 0xFD, 0xFF, 0xF3, 0xE0, 0x43, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x80,
+    0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x1F, 0xE2, 0xFF, 0x01, 0x00,
+    0x84, 0xFC, 0x2F, 0x3F, 0x50, 0xFD, 0xFF, 0xF3, 0xE0, 0x43, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x78, 0x0C, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00,
+    0xFF, 0xFF, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x0F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x80,
+    0xFF, 0xFF, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xE0, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x3E, 0x1F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0x7F, 0xE0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
+    0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+    0xE0, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x3E, 0x1F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0x7F, 0xE6, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x1F, 0xFF, 0xFF, 0x00, 0x0C, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x80,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+    0x00, 0x00, 0x80, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xEB, 0x03, 0x00, 0x00, 0xFC, 0xFF,
+    0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xBF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
+    0x00, 0x00, 0x80, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xEB, 0x03, 0x00, 0x00, 0xFC, 0xFF,
+    0xBB, 0xF7, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00,
+    0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x68,
+    0x00, 0xFC, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+    0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x80, 0x00, 0x00, 0xDF, 0xFF, 0x00, 0x7C,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xE8,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x7F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xF7, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0xC4,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x62, 0x3E, 0x05, 0x00, 0x00, 0x38, 0xFF, 0x07, 0x1C, 0x00,
+    0x7E, 0x7E, 0x7E, 0x00, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x03, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0x3F, 0xFF, 0x03, 0xFF, 0xFF, 0x7F, 0xFC,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x38, 0xFF, 0xFF, 0x7C, 0x00,
+    0x7E, 0x7E, 0x7E, 0x00, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x03, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0xFF, 0x03,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0x00, 0xF8, 0xA0, 0xFF, 0xFD, 0x7F, 0x5F, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0x00, 0xF8, 0xE0, 0xFF, 0xFD, 0x7F, 0x5F, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF0, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAA,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+    0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x07, 0xFE, 0xFF, 0xFF, 0x07, 0xC0, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAA,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+    0x00, 0x00, 0xFF, 0x03, 0xFE, 0xFF, 0xFF, 0x87, 0xFE, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xB7, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xB7, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xF7,
+    0xFF, 0xF7, 0xB7, 0xFF, 0xFB, 0xFF, 0xFB, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xF7,
+    0xFF, 0xF7, 0xB7, 0xFF, 0xFB, 0xFF, 0xFB, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x3F, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x91, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+    0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x37, 0x00,
+    0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0xEF, 0xFE, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+    0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x07, 0x00,
+    0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x6F, 0xF0, 0xEF, 0xFE, 0xFF, 0xFF, 0x3F, 0x87, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+    0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x07, 0x00,
+    0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+    0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+    0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+    0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00,
+    0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00,
+    0xF8, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x90, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x47, 0x00,
+    0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x1E, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x3F, 0x80,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x04, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0x03,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xDE, 0xFF, 0x17, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0x0F, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0xBD, 0xFF, 0xBF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00,
+    0xE0, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0x23, 0x00, 0x00, 0x01, 0xE0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0xBD, 0xFF, 0xBF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x03,
+    0xEF, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0xFB, 0x9F, 0x39, 0x81, 0xE0, 0xCF, 0x1F, 0x1F, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xC3, 0x03, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0x01, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x11, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0x0F, 0xFF, 0x03, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80,
+    0x7F, 0xF2, 0x6F, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80,
+    0x7F, 0xF2, 0x6F, 0xFF, 0xFF, 0xFF, 0xBF, 0xF9, 0x0F, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x1B, 0x00, 0x00, 0x00,
+    0x01, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x04, 0x00, 0x00, 0x01, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x03, 0x00, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x6F,
+    0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF,
+    0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0xBF, 0xFD, 0xFF, 0xFF,
+    0xFF, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x01, 0x00, 0xFF, 0x03, 0x00, 0x00, 0xFC, 0xFF,
+    0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xB4, 0xFF, 0x00, 0xFF, 0x03, 0xBF, 0xFD, 0xFF, 0xFF,
+    0xFF, 0x7F, 0xFB, 0x01, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x07, 0x00,
+    0xF4, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+    0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x07, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE3, 0x07, 0xF8,
+    0xE7, 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x7F, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xE0,
+    0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x03, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0xF8, 0xFF, 0xFF, 0xE0,
+    0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0xF8, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x6F, 0xFF, 0x7F,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x1F,
+    0xFF, 0x01, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x1F,
+    0xFF, 0x01, 0xFF, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xDF, 0x64, 0xDE, 0xFF, 0xEB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xBF, 0xE7, 0xDF, 0xDF, 0xFF, 0xFF, 0xFF, 0x7B, 0x5F, 0xFC, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xF7,
+    0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
+    0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xF7,
+    0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
+    0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x20, 0x00,
+    0x10, 0x00, 0x00, 0xF8, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0x3F, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x7F, 0xFF, 0xFF, 0xF9, 0xDB, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
+    0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0x3F, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xEF, 0xFF, 0xFF, 0xFF, 0x96, 0xFE, 0xF7, 0x0A, 0x84, 0xEA, 0x96, 0xAA, 0x96, 0xF7, 0xF7, 0x5E,
+    0xFF, 0xFB, 0xFF, 0x0F, 0xEE, 0xFB, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
deps/aro/aro/Diagnostics/messages.def
@@ -0,0 +1,2446 @@
+const W = Properties.makeOpt;
+
+const pointer_sign_message = " converts between pointers to integer types with different sign";
+
+# Maybe someday this will no longer be needed.
+todo
+    .msg = "TODO: {s}"
+    .extra = .str
+    .kind = .@"error"
+
+error_directive
+    .msg = "{s}"
+    .extra = .str
+    .kind = .@"error"
+
+warning_directive
+    .msg = "{s}"
+    .opt = W("#warnings")
+    .extra = .str
+    .kind = .warning
+
+elif_without_if
+    .msg = "#elif without #if"
+    .kind = .@"error"
+
+elif_after_else
+    .msg = "#elif after #else"
+    .kind = .@"error"
+
+elifdef_without_if
+    .msg = "#elifdef without #if"
+    .kind = .@"error"
+
+elifdef_after_else
+    .msg = "#elifdef after #else"
+    .kind = .@"error"
+
+elifndef_without_if
+    .msg = "#elifndef without #if"
+    .kind = .@"error"
+
+elifndef_after_else
+    .msg = "#elifndef after #else"
+    .kind = .@"error"
+
+else_without_if
+    .msg = "#else without #if"
+    .kind = .@"error"
+
+else_after_else
+    .msg = "#else after #else"
+    .kind = .@"error"
+
+endif_without_if
+    .msg = "#endif without #if"
+    .kind = .@"error"
+
+unknown_pragma
+    .msg = "unknown pragma ignored"
+    .opt = W("unknown-pragmas")
+    .kind = .off
+    .all = true
+
+line_simple_digit
+    .msg = "#line directive requires a simple digit sequence"
+    .kind = .@"error"
+
+line_invalid_filename
+    .msg = "invalid filename for #line directive"
+    .kind = .@"error"
+
+unterminated_conditional_directive
+    .msg = "unterminated conditional directive"
+    .kind = .@"error"
+
+invalid_preprocessing_directive
+    .msg = "invalid preprocessing directive"
+    .kind = .@"error"
+
+macro_name_missing
+    .msg = "macro name missing"
+    .kind = .@"error"
+
+extra_tokens_directive_end
+    .msg = "extra tokens at end of macro directive"
+    .kind = .@"error"
+
+expected_value_in_expr
+    .msg = "expected value in expression"
+    .kind = .@"error"
+
+closing_paren
+    .msg = "expected closing ')'"
+    .kind = .@"error"
+
+to_match_paren
+    .msg = "to match this '('"
+    .kind = .note
+
+to_match_brace
+    .msg = "to match this '{'"
+    .kind = .note
+
+to_match_bracket
+    .msg = "to match this '['"
+    .kind = .note
+
+header_str_closing
+    .msg = "expected closing '>'"
+    .kind = .@"error"
+
+header_str_match
+    .msg = "to match this '<'"
+    .kind = .note
+
+string_literal_in_pp_expr
+    .msg = "string literal in preprocessor expression"
+    .kind = .@"error"
+
+float_literal_in_pp_expr
+    .msg = "floating point literal in preprocessor expression"
+    .kind = .@"error"
+
+defined_as_macro_name
+    .msg = "'defined' cannot be used as a macro name"
+    .kind = .@"error"
+
+macro_name_must_be_identifier
+    .msg = "macro name must be an identifier"
+    .kind = .@"error"
+
+whitespace_after_macro_name
+    .msg = "ISO C99 requires whitespace after the macro name"
+    .opt = W("c99-extensions")
+    .kind = .warning
+
+hash_hash_at_start
+    .msg = "'##' cannot appear at the start of a macro expansion"
+    .kind = .@"error"
+
+hash_hash_at_end
+    .msg = "'##' cannot appear at the end of a macro expansion"
+    .kind = .@"error"
+
+pasting_formed_invalid
+    .msg = "pasting formed '{s}', an invalid preprocessing token"
+    .extra = .str
+    .kind = .@"error"
+
+missing_paren_param_list
+    .msg = "missing ')' in macro parameter list"
+    .kind = .@"error"
+
+unterminated_macro_param_list
+    .msg = "unterminated macro param list"
+    .kind = .@"error"
+
+invalid_token_param_list
+    .msg = "invalid token in macro parameter list"
+    .kind = .@"error"
+
+expected_comma_param_list
+    .msg = "expected comma in macro parameter list"
+    .kind = .@"error"
+
+hash_not_followed_param
+    .msg = "'#' is not followed by a macro parameter"
+    .kind = .@"error"
+
+expected_filename
+    .msg = "expected \"FILENAME\" or <FILENAME>"
+    .kind = .@"error"
+
+empty_filename
+    .msg = "empty filename"
+    .kind = .@"error"
+
+expected_invalid
+    .msg = "expected '{s}', found invalid bytes"
+    .extra = .tok_id_expected
+    .kind = .@"error"
+
+expected_eof
+    .msg = "expected '{s}' before end of file"
+    .extra = .tok_id_expected
+    .kind = .@"error"
+
+expected_token
+    .msg = "expected '{s}', found '{s}'"
+    .extra = .tok_id
+    .kind = .@"error"
+
+expected_expr
+    .msg = "expected expression"
+    .kind = .@"error"
+
+expected_integer_constant_expr
+    .msg = "expression is not an integer constant expression"
+    .kind = .@"error"
+
+missing_type_specifier
+    .msg = "type specifier missing, defaults to 'int'"
+    .opt = W("implicit-int")
+    .kind = .warning
+    .all = true
+
+missing_type_specifier_c23
+    .msg = "a type specifier is required for all declarations"
+    .kind = .@"error"
+
+multiple_storage_class
+    .msg = "cannot combine with previous '{s}' declaration specifier"
+    .extra = .str
+    .kind = .@"error"
+
+static_assert_failure
+    .msg = "static assertion failed"
+    .kind = .@"error"
+
+static_assert_failure_message
+    .msg = "static assertion failed {s}"
+    .extra = .str
+    .kind = .@"error"
+
+expected_type
+    .msg = "expected a type"
+    .kind = .@"error"
+
+cannot_combine_spec
+    .msg = "cannot combine with previous '{s}' specifier"
+    .extra = .str
+    .kind = .@"error"
+
+duplicate_decl_spec
+    .msg = "duplicate '{s}' declaration specifier"
+    .extra = .str
+    .opt = W("duplicate-decl-specifier")
+    .kind = .warning
+    .all = true
+
+restrict_non_pointer
+    .msg = "restrict requires a pointer or reference ('{s}' is invalid)"
+    .extra = .str
+    .kind = .@"error"
+
+expected_external_decl
+    .msg = "expected external declaration"
+    .kind = .@"error"
+
+expected_ident_or_l_paren
+    .msg = "expected identifier or '('"
+    .kind = .@"error"
+
+missing_declaration
+    .msg = "declaration does not declare anything"
+    .opt = W("missing-declaration")
+    .kind = .warning
+
+func_not_in_root
+    .msg = "function definition is not allowed here"
+    .kind = .@"error"
+
+illegal_initializer
+    .msg = "illegal initializer (only variables can be initialized)"
+    .kind = .@"error"
+
+extern_initializer
+    .msg = "extern variable has initializer"
+    .opt = W("extern-initializer")
+    .kind = .warning
+
+spec_from_typedef
+    .msg = "'{s}' came from typedef"
+    .extra = .str
+    .kind = .note
+
+param_before_var_args
+    .msg = "ISO C requires a named parameter before '...'"
+    .kind = .@"error"
+    .suppress_version = .c23
+
+void_only_param
+    .msg = "'void' must be the only parameter if specified"
+    .kind = .@"error"
+
+void_param_qualified
+    .msg = "'void' parameter cannot be qualified"
+    .kind = .@"error"
+
+void_must_be_first_param
+    .msg = "'void' must be the first parameter if specified"
+    .kind = .@"error"
+
+invalid_storage_on_param
+    .msg = "invalid storage class on function parameter"
+    .kind = .@"error"
+
+threadlocal_non_var
+    .msg = "_Thread_local only allowed on variables"
+    .kind = .@"error"
+
+func_spec_non_func
+    .msg = "'{s}' can only appear on functions"
+    .extra = .str
+    .kind = .@"error"
+
+illegal_storage_on_func
+    .msg = "illegal storage class on function"
+    .kind = .@"error"
+
+illegal_storage_on_global
+    .msg = "illegal storage class on global variable"
+    .kind = .@"error"
+
+expected_stmt
+    .msg = "expected statement"
+    .kind = .@"error"
+
+func_cannot_return_func
+    .msg = "function cannot return a function"
+    .kind = .@"error"
+
+func_cannot_return_array
+    .msg = "function cannot return an array"
+    .kind = .@"error"
+
+undeclared_identifier
+    .msg = "use of undeclared identifier '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+not_callable
+    .msg = "cannot call non function type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+unsupported_str_cat
+    .msg = "unsupported string literal concatenation"
+    .kind = .@"error"
+
+static_func_not_global
+    .msg = "static functions must be global"
+    .kind = .@"error"
+
+implicit_func_decl
+    .msg = "call to undeclared function '{s}'; ISO C99 and later do not support implicit function declarations"
+    .extra = .str
+    .opt = W("implicit-function-declaration")
+    .kind = .@"error"
+    .all = true
+
+unknown_builtin
+    .msg = "use of unknown builtin '{s}'"
+    .extra = .str
+    .opt = W("implicit-function-declaration")
+    .kind = .@"error"
+    .all = true
+
+implicit_builtin
+    .msg = "implicitly declaring library function '{s}'"
+    .extra = .str
+    .opt = W("implicit-function-declaration")
+    .kind = .@"error"
+    .all = true
+
+implicit_builtin_header_note
+    .msg = "include the header <{s}.h> or explicitly provide a declaration for '{s}'"
+    .extra = .builtin_with_header
+    .opt = W("implicit-function-declaration")
+    .kind = .note
+    .all = true
+
+expected_param_decl
+    .msg = "expected parameter declaration"
+    .kind = .@"error"
+
+invalid_old_style_params
+    .msg = "identifier parameter lists are only allowed in function definitions"
+    .kind = .@"error"
+
+expected_fn_body
+    .msg = "expected function body after function declaration"
+    .kind = .@"error"
+
+invalid_void_param
+    .msg = "parameter cannot have void type"
+    .kind = .@"error"
+
+unused_value
+    .msg = "expression result unused"
+    .opt = W("unused-value")
+    .kind = .warning
+    .all = true
+
+continue_not_in_loop
+    .msg = "'continue' statement not in a loop"
+    .kind = .@"error"
+
+break_not_in_loop_or_switch
+    .msg = "'break' statement not in a loop or a switch"
+    .kind = .@"error"
+
+unreachable_code
+    .msg = "unreachable code"
+    .opt = W("unreachable-code")
+    .kind = .warning
+    .all = true
+
+duplicate_label
+    .msg = "duplicate label '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+previous_label
+    .msg = "previous definition of label '{s}' was here"
+    .extra = .str
+    .kind = .note
+
+undeclared_label
+    .msg = "use of undeclared label '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+case_not_in_switch
+    .msg = "'{s}' statement not in a switch statement"
+    .extra = .str
+    .kind = .@"error"
+
+duplicate_switch_case
+    .msg = "duplicate case value '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+multiple_default
+    .msg = "multiple default cases in the same switch"
+    .kind = .@"error"
+
+previous_case
+    .msg = "previous case defined here"
+    .kind = .note
+
+const expected_arguments = "expected {d} argument(s) got {d}";
+
+expected_arguments
+    .msg = expected_arguments
+    .extra = .arguments
+    .kind = .@"error"
+
+expected_arguments_old
+    .msg = expected_arguments
+    .extra = .arguments
+    .kind = .warning
+
+expected_at_least_arguments
+    .msg = "expected at least {d} argument(s) got {d}"
+    .extra = .arguments
+    .kind = .warning
+
+invalid_static_star
+    .msg = "'static' may not be used with an unspecified variable length array size"
+    .kind = .@"error"
+
+static_non_param
+    .msg = "'static' used outside of function parameters"
+    .kind = .@"error"
+
+array_qualifiers
+    .msg = "type qualifier in non parameter array type"
+    .kind = .@"error"
+
+star_non_param
+    .msg = "star modifier used outside of function parameters"
+    .kind = .@"error"
+
+variable_len_array_file_scope
+    .msg = "variable length arrays not allowed at file scope"
+    .kind = .@"error"
+
+useless_static
+    .msg = "'static' useless without a constant size"
+    .kind = .warning
+    .w_extra = true
+
+negative_array_size
+    .msg = "array size must be 0 or greater"
+    .kind = .@"error"
+
+array_incomplete_elem
+    .msg = "array has incomplete element type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+array_func_elem
+    .msg = "arrays cannot have functions as their element type"
+    .kind = .@"error"
+
+static_non_outermost_array
+    .msg = "'static' used in non-outermost array type"
+    .kind = .@"error"
+
+qualifier_non_outermost_array
+    .msg = "type qualifier used in non-outermost array type"
+    .kind = .@"error"
+
+unterminated_macro_arg_list
+    .msg = "unterminated function macro argument list"
+    .kind = .@"error"
+
+unknown_warning
+    .msg = "unknown warning '{s}'"
+    .extra = .str
+    .opt = W("unknown-warning-option")
+    .kind = .warning
+
+overflow
+    .msg = "overflow in expression; result is '{s}'"
+    .extra = .str
+    .opt = W("integer-overflow")
+    .kind = .warning
+
+int_literal_too_big
+    .msg = "integer literal is too large to be represented in any integer type"
+    .kind = .@"error"
+
+indirection_ptr
+    .msg = "indirection requires pointer operand"
+    .kind = .@"error"
+
+addr_of_rvalue
+    .msg = "cannot take the address of an rvalue"
+    .kind = .@"error"
+
+addr_of_bitfield
+    .msg = "address of bit-field requested"
+    .kind = .@"error"
+
+not_assignable
+    .msg = "expression is not assignable"
+    .kind = .@"error"
+
+ident_or_l_brace
+    .msg = "expected identifier or '{'"
+    .kind = .@"error"
+
+empty_enum
+    .msg = "empty enum is invalid"
+    .kind = .@"error"
+
+redefinition
+    .msg = "redefinition of '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+previous_definition
+    .msg = "previous definition is here"
+    .kind = .note
+
+expected_identifier
+    .msg = "expected identifier"
+    .kind = .@"error"
+
+expected_str_literal
+    .msg = "expected string literal for diagnostic message in static_assert"
+    .kind = .@"error"
+
+expected_str_literal_in
+    .msg = "expected string literal in '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+parameter_missing
+    .msg = "parameter named '{s}' is missing"
+    .extra = .str
+    .kind = .@"error"
+
+empty_record
+    .msg = "empty {s} is a GNU extension"
+    .extra = .str
+    .opt = W("gnu-empty-struct")
+    .kind = .off
+    .pedantic = true
+
+empty_record_size
+    .msg = "empty {s} has size 0 in C, size 1 in C++"
+    .extra = .str
+    .opt = W("c++-compat")
+    .kind = .off
+
+wrong_tag
+    .msg = "use of '{s}' with tag type that does not match previous definition"
+    .extra = .str
+    .kind = .@"error"
+
+expected_parens_around_typename
+    .msg = "expected parentheses around type name"
+    .kind = .@"error"
+
+alignof_expr
+    .msg = "'_Alignof' applied to an expression is a GNU extension"
+    .opt = W("gnu-alignof-expression")
+    .kind = .warning
+    .suppress_gnu = true
+
+invalid_alignof
+    .msg = "invalid application of 'alignof' to an incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_sizeof
+    .msg = "invalid application of 'sizeof' to an incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+macro_redefined
+    .msg = "'{s}' macro redefined"
+    .extra = .str
+    .opt = W("macro-redefined")
+    .kind = .warning
+
+generic_qual_type
+    .msg = "generic association with qualifiers cannot be matched with"
+    .opt = W("generic-qual-type")
+    .kind = .warning
+
+generic_array_type
+    .msg = "generic association array type cannot be matched with"
+    .opt = W("generic-qual-type")
+    .kind = .warning
+
+generic_func_type
+    .msg = "generic association function type cannot be matched with"
+    .opt = W("generic-qual-type")
+    .kind = .warning
+
+generic_duplicate
+    .msg = "type '{s}' in generic association compatible with previously specified type"
+    .extra = .str
+    .kind = .@"error"
+
+generic_duplicate_here
+    .msg = "compatible type '{s}' specified here"
+    .extra = .str
+    .kind = .note
+
+generic_duplicate_default
+    .msg = "duplicate default generic association"
+    .kind = .@"error"
+
+generic_no_match
+    .msg = "controlling expression type '{s}' not compatible with any generic association type"
+    .extra = .str
+    .kind = .@"error"
+
+escape_sequence_overflow
+    .msg = "escape sequence out of range"
+    .kind = .@"error"
+
+invalid_universal_character
+    .msg = "invalid universal character"
+    .kind = .@"error"
+
+incomplete_universal_character
+    .msg = "incomplete universal character name"
+    .kind = .@"error"
+
+multichar_literal_warning
+    .msg = "multi-character character constant"
+    .opt = W("multichar")
+    .kind = .warning
+    .all = true
+
+invalid_multichar_literal
+    .msg = "{s} character literals may not contain multiple characters"
+    .kind = .@"error"
+    .extra = .str
+
+wide_multichar_literal
+    .msg = "extraneous characters in character constant ignored"
+    .kind = .warning
+
+char_lit_too_wide
+    .msg = "character constant too long for its type"
+    .kind = .warning
+    .all = true
+
+char_too_large
+    .msg = "character too large for enclosing character literal type"
+    .kind = .@"error"
+
+must_use_struct
+    .msg = "must use 'struct' tag to refer to type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+must_use_union
+    .msg = "must use 'union' tag to refer to type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+must_use_enum
+    .msg = "must use 'enum' tag to refer to type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+redefinition_different_sym
+    .msg = "redefinition of '{s}' as different kind of symbol"
+    .extra = .str
+    .kind = .@"error"
+
+redefinition_incompatible
+    .msg = "redefinition of '{s}' with a different type"
+    .extra = .str
+    .kind = .@"error"
+
+redefinition_of_parameter
+    .msg = "redefinition of parameter '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_bin_types
+    .msg = "invalid operands to binary expression ({s})"
+    .extra = .str
+    .kind = .@"error"
+
+comparison_ptr_int
+    .msg = "comparison between pointer and integer ({s})"
+    .extra = .str
+    .opt = W("pointer-integer-compare")
+    .kind = .warning
+
+comparison_distinct_ptr
+    .msg = "comparison of distinct pointer types ({s})"
+    .extra = .str
+    .opt = W("compare-distinct-pointer-types")
+    .kind = .warning
+
+incompatible_pointers
+    .msg = "incompatible pointer types ({s})"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_argument_un
+    .msg = "invalid argument type '{s}' to unary expression"
+    .extra = .str
+    .kind = .@"error"
+
+incompatible_assign
+    .msg = "assignment to {s}"
+    .extra = .str
+    .kind = .@"error"
+
+implicit_ptr_to_int
+    .msg = "implicit pointer to integer conversion from {s}"
+    .extra = .str
+    .opt = W("int-conversion")
+    .kind = .warning
+
+invalid_cast_to_float
+    .msg = "pointer cannot be cast to type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_cast_to_pointer
+    .msg = "operand of type '{s}' cannot be cast to a pointer type"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_cast_type
+    .msg = "cannot cast to non arithmetic or pointer type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+qual_cast
+    .msg = "cast to type '{s}' will not preserve qualifiers"
+    .extra = .str
+    .opt = W("cast-qualifiers")
+    .kind = .warning
+
+invalid_index
+    .msg = "array subscript is not an integer"
+    .kind = .@"error"
+
+invalid_subscript
+    .msg = "subscripted value is not an array or pointer"
+    .kind = .@"error"
+
+array_after
+    .msg = "array index {s} is past the end of the array"
+    .extra = .str
+    .opt = W("array-bounds")
+    .kind = .warning
+
+array_before
+    .msg = "array index {s} is before the beginning of the array"
+    .extra = .str
+    .opt = W("array-bounds")
+    .kind = .warning
+
+statement_int
+    .msg = "statement requires expression with integer type ('{s}' invalid)"
+    .extra = .str
+    .kind = .@"error"
+
+statement_scalar
+    .msg = "statement requires expression with scalar type ('{s}' invalid)"
+    .extra = .str
+    .kind = .@"error"
+
+func_should_return
+    .msg = "non-void function '{s}' should return a value"
+    .extra = .str
+    .opt = W("return-type")
+    .kind = .@"error"
+    .all = true
+
+incompatible_return
+    .msg = "returning {s}"
+    .extra = .str
+    .kind = .@"error"
+
+incompatible_return_sign
+    .msg = "returning {s}" ++ pointer_sign_message
+    .extra = .str
+    .kind = .warning
+    .opt = W("pointer-sign")
+
+implicit_int_to_ptr
+    .msg = "implicit integer to pointer conversion from {s}"
+    .extra = .str
+    .opt = W("int-conversion")
+    .kind = .warning
+
+func_does_not_return
+    .msg = "non-void function '{s}' does not return a value"
+    .extra = .str
+    .opt = W("return-type")
+    .kind = .warning
+    .all = true
+
+void_func_returns_value
+    .msg = "void function '{s}' should not return a value"
+    .extra = .str
+    .opt = W("return-type")
+    .kind = .@"error"
+    .all = true
+
+incompatible_arg
+    .msg = "passing {s}"
+    .extra = .str
+    .kind = .@"error"
+
+incompatible_ptr_arg
+    .msg = "passing {s}"
+    .extra = .str
+    .kind = .warning
+    .opt = W("incompatible-pointer-types")
+
+incompatible_ptr_arg_sign
+    .msg = "passing {s}" ++ pointer_sign_message
+    .extra = .str
+    .kind = .warning
+    .opt = W("pointer-sign")
+
+parameter_here
+    .msg = "passing argument to parameter here"
+    .kind = .note
+
+atomic_array
+    .msg = "atomic cannot be applied to array type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+atomic_func
+    .msg = "atomic cannot be applied to function type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+atomic_incomplete
+    .msg = "atomic cannot be applied to incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+addr_of_register
+    .msg = "address of register variable requested"
+    .kind = .@"error"
+
+variable_incomplete_ty
+    .msg = "variable has incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+parameter_incomplete_ty
+    .msg = "parameter has incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+tentative_array
+    .msg = "tentative array definition assumed to have one element"
+    .kind = .warning
+
+deref_incomplete_ty_ptr
+    .msg = "dereferencing pointer to incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+alignas_on_func
+    .msg = "'_Alignas' attribute only applies to variables and fields"
+    .kind = .@"error"
+
+alignas_on_param
+    .msg = "'_Alignas' attribute cannot be applied to a function parameter"
+    .kind = .@"error"
+
+minimum_alignment
+    .msg = "requested alignment is less than minimum alignment of {d}"
+    .extra = .unsigned
+    .kind = .@"error"
+
+maximum_alignment
+    .msg = "requested alignment of {s} is too large"
+    .extra = .str
+    .kind = .@"error"
+
+negative_alignment
+    .msg = "requested negative alignment of {s} is invalid"
+    .extra = .str
+    .kind = .@"error"
+
+align_ignored
+    .msg = "'_Alignas' attribute is ignored here"
+    .kind = .warning
+
+zero_align_ignored
+    .msg = "requested alignment of zero is ignored"
+    .kind = .warning
+
+non_pow2_align
+    .msg = "requested alignment is not a power of 2"
+    .kind = .@"error"
+
+pointer_mismatch
+    .msg = "pointer type mismatch ({s})"
+    .extra = .str
+    .opt = W("pointer-type-mismatch")
+    .kind = .warning
+
+static_assert_not_constant
+    .msg = "static_assert expression is not an integral constant expression"
+    .kind = .@"error"
+
+static_assert_missing_message
+    .msg = "static_assert with no message is a C23 extension"
+    .opt = W("c23-extensions")
+    .kind = .warning
+    .suppress_version = .c23
+
+pre_c23_compat
+    .msg = "{s} is incompatible with C standards before C23"
+    .extra = .str
+    .kind = .off
+    .suppress_unless_version = .c23
+    .opt = W("pre-c23-compat")
+
+unbound_vla
+    .msg = "variable length array must be bound in function definition"
+    .kind = .@"error"
+
+array_too_large
+    .msg = "array is too large"
+    .kind = .@"error"
+
+incompatible_ptr_init
+    .msg = "incompatible pointer types initializing {s}"
+    .extra = .str
+    .opt = W("incompatible-pointer-types")
+    .kind = .warning
+
+incompatible_ptr_init_sign
+    .msg = "incompatible pointer types initializing {s}" ++ pointer_sign_message
+    .extra = .str
+    .opt = W("pointer-sign")
+    .kind = .warning
+
+incompatible_ptr_assign
+    .msg = "incompatible pointer types assigning to {s}"
+    .extra = .str
+    .opt = W("incompatible-pointer-types")
+    .kind = .warning
+
+incompatible_ptr_assign_sign
+    .msg = "incompatible pointer types assigning to {s} " ++ pointer_sign_message
+    .extra = .str
+    .opt = W("pointer-sign")
+    .kind = .warning
+
+vla_init
+    .msg = "variable-sized object may not be initialized"
+    .kind = .@"error"
+
+func_init
+    .msg = "illegal initializer type"
+    .kind = .@"error"
+
+incompatible_init
+    .msg = "initializing {s}"
+    .extra = .str
+    .kind = .@"error"
+
+empty_scalar_init
+    .msg = "scalar initializer cannot be empty"
+    .kind = .@"error"
+
+excess_scalar_init
+    .msg = "excess elements in scalar initializer"
+    .opt = W("excess-initializers")
+    .kind = .warning
+
+excess_str_init
+    .msg = "excess elements in string initializer"
+    .opt = W("excess-initializers")
+    .kind = .warning
+
+excess_struct_init
+    .msg = "excess elements in struct initializer"
+    .opt = W("excess-initializers")
+    .kind = .warning
+
+excess_array_init
+    .msg = "excess elements in array initializer"
+    .opt = W("excess-initializers")
+    .kind = .warning
+
+str_init_too_long
+    .msg = "initializer-string for char array is too long"
+    .opt = W("excess-initializers")
+    .kind = .warning
+
+arr_init_too_long
+    .msg = "cannot initialize type ({s})"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_typeof
+    .msg = "'{s} typeof' is invalid"
+    .extra = .str
+    .kind = .@"error"
+
+division_by_zero
+    .msg = "{s} by zero is undefined"
+    .extra = .str
+    .opt = W("division-by-zero")
+    .kind = .warning
+
+division_by_zero_macro
+    .msg = "{s} by zero in preprocessor expression"
+    .extra = .str
+    .kind = .@"error"
+
+builtin_choose_cond
+    .msg = "'__builtin_choose_expr' requires a constant expression"
+    .kind = .@"error"
+
+alignas_unavailable
+    .msg = "'_Alignas' attribute requires integer constant expression"
+    .kind = .@"error"
+
+case_val_unavailable
+    .msg = "case value must be an integer constant expression"
+    .kind = .@"error"
+
+enum_val_unavailable
+    .msg = "enum value must be an integer constant expression"
+    .kind = .@"error"
+
+incompatible_array_init
+    .msg = "cannot initialize array of type {s}"
+    .extra = .str
+    .kind = .@"error"
+
+array_init_str
+    .msg = "array initializer must be an initializer list or wide string literal"
+    .kind = .@"error"
+
+initializer_overrides
+    .msg = "initializer overrides previous initialization"
+    .opt = W("initializer-overrides")
+    .kind = .warning
+    .w_extra = true
+
+previous_initializer
+    .msg = "previous initialization"
+    .kind = .note
+
+invalid_array_designator
+    .msg = "array designator used for non-array type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+negative_array_designator
+    .msg = "array designator value {s} is negative"
+    .extra = .str
+    .kind = .@"error"
+
+oob_array_designator
+    .msg = "array designator index {s} exceeds array bounds"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_field_designator
+    .msg = "field designator used for non-record type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+no_such_field_designator
+    .msg = "record type has no field named '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+empty_aggregate_init_braces
+    .msg = "initializer for aggregate with no elements requires explicit braces"
+    .kind = .@"error"
+
+ptr_init_discards_quals
+    .msg = "initializing {s} discards qualifiers"
+    .extra = .str
+    .opt = W("incompatible-pointer-types-discards-qualifiers")
+    .kind = .warning
+
+ptr_assign_discards_quals
+    .msg = "assigning to {s} discards qualifiers"
+    .extra = .str
+    .opt = W("incompatible-pointer-types-discards-qualifiers")
+    .kind = .warning
+
+ptr_ret_discards_quals
+    .msg = "returning {s} discards qualifiers"
+    .extra = .str
+    .opt = W("incompatible-pointer-types-discards-qualifiers")
+    .kind = .warning
+
+ptr_arg_discards_quals
+    .msg = "passing {s} discards qualifiers"
+    .extra = .str
+    .opt = W("incompatible-pointer-types-discards-qualifiers")
+    .kind = .warning
+
+unknown_attribute
+    .msg = "unknown attribute '{s}' ignored"
+    .extra = .str
+    .opt = W("unknown-attributes")
+    .kind = .warning
+
+ignored_attribute
+    .msg = "{s}"
+    .extra = .str
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+invalid_fallthrough
+    .msg = "fallthrough annotation does not directly precede switch label"
+    .kind = .@"error"
+
+cannot_apply_attribute_to_statement
+    .msg = "'{s}' attribute cannot be applied to a statement"
+    .extra = .str
+    .kind = .@"error"
+
+builtin_macro_redefined
+    .msg = "redefining builtin macro"
+    .opt = W("builtin-macro-redefined")
+    .kind = .warning
+
+feature_check_requires_identifier
+    .msg = "builtin feature check macro requires a parenthesized identifier"
+    .kind = .@"error"
+
+missing_tok_builtin
+    .msg = "missing '{s}', after builtin feature-check macro"
+    .extra = .tok_id_expected
+    .kind = .@"error"
+
+gnu_label_as_value
+    .msg = "use of GNU address-of-label extension"
+    .opt = W("gnu-label-as-value")
+    .kind = .off
+    .pedantic = true
+
+expected_record_ty
+    .msg = "member reference base type '{s}' is not a structure or union"
+    .extra = .str
+    .kind = .@"error"
+
+member_expr_not_ptr
+    .msg = "member reference type '{s}' is not a pointer; did you mean to use '.'?"
+    .extra = .str
+    .kind = .@"error"
+
+member_expr_ptr
+    .msg = "member reference type '{s}' is a pointer; did you mean to use '->'?"
+    .extra = .str
+    .kind = .@"error"
+
+no_such_member
+    .msg = "no member named {s}"
+    .extra = .str
+    .kind = .@"error"
+
+malformed_warning_check
+    .msg = "{s} expected option name (e.g. \"-Wundef\")"
+    .extra = .str
+    .opt = W("malformed-warning-check")
+    .kind = .warning
+    .all = true
+
+invalid_computed_goto
+    .msg = "computed goto in function with no address-of-label expressions"
+    .kind = .@"error"
+
+pragma_warning_message
+    .msg = "{s}"
+    .extra = .str
+    .opt = W("#pragma-messages")
+    .kind = .warning
+
+pragma_error_message
+    .msg = "{s}"
+    .extra = .str
+    .kind = .@"error"
+
+pragma_message
+    .msg = "#pragma message: {s}"
+    .extra = .str
+    .kind = .note
+
+pragma_requires_string_literal
+    .msg = "pragma {s} requires string literal"
+    .extra = .str
+    .kind = .@"error"
+
+poisoned_identifier
+    .msg = "attempt to use a poisoned identifier"
+    .kind = .@"error"
+
+pragma_poison_identifier
+    .msg = "can only poison identifier tokens"
+    .kind = .@"error"
+
+pragma_poison_macro
+    .msg = "poisoning existing macro"
+    .kind = .warning
+
+newline_eof
+    .msg = "no newline at end of file"
+    .opt = W("newline-eof")
+    .kind = .off
+    .pedantic = true
+
+empty_translation_unit
+    .msg = "ISO C requires a translation unit to contain at least one declaration"
+    .opt = W("empty-translation-unit")
+    .kind = .off
+    .pedantic = true
+
+omitting_parameter_name
+    .msg = "omitting the parameter name in a function definition is a C23 extension"
+    .opt = W("c23-extensions")
+    .kind = .warning
+    .suppress_version = .c23
+
+non_int_bitfield
+    .msg = "bit-field has non-integer type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+negative_bitwidth
+    .msg = "bit-field has negative width ({s})"
+    .extra = .str
+    .kind = .@"error"
+
+zero_width_named_field
+    .msg = "named bit-field has zero width"
+    .kind = .@"error"
+
+bitfield_too_big
+    .msg = "width of bit-field exceeds width of its type"
+    .kind = .@"error"
+
+invalid_utf8
+    .msg = "source file is not valid UTF-8"
+    .kind = .@"error"
+
+implicitly_unsigned_literal
+    .msg = "integer literal is too large to be represented in a signed integer type, interpreting as unsigned"
+    .opt = W("implicitly-unsigned-literal")
+    .kind = .warning
+
+invalid_preproc_operator
+    .msg = "token is not a valid binary operator in a preprocessor subexpression"
+    .kind = .@"error"
+
+invalid_preproc_expr_start
+    .msg = "invalid token at start of a preprocessor expression"
+    .kind = .@"error"
+
+c99_compat
+    .msg = "using this character in an identifier is incompatible with C99"
+    .opt = W("c99-compat")
+    .kind = .off
+
+unexpected_character
+    .msg = "unexpected character <U+{X:0>4}>"
+    .extra = .actual_codepoint
+    .kind = .@"error"
+
+invalid_identifier_start_char
+    .msg = "character <U+{X:0>4}> not allowed at the start of an identifier"
+    .extra = .actual_codepoint
+    .kind = .@"error"
+
+unicode_zero_width
+    .msg = "identifier contains Unicode character <U+{X:0>4}> that is invisible in some environments"
+    .opt = W("unicode-homoglyph")
+    .extra = .actual_codepoint
+    .kind = .warning
+
+unicode_homoglyph
+    .msg = "treating Unicode character <U+{X:0>4}> as identifier character rather than as '{u}' symbol"
+    .extra = .codepoints
+    .opt = W("unicode-homoglyph")
+    .kind = .warning
+
+meaningless_asm_qual
+    .msg = "meaningless '{s}' on assembly outside function"
+    .extra = .str
+    .kind = .@"error"
+
+duplicate_asm_qual
+    .msg = "duplicate asm qualifier '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_asm_str
+    .msg = "cannot use {s} string literal in assembly"
+    .extra = .str
+    .kind = .@"error"
+
+dollar_in_identifier_extension
+    .msg = "'$' in identifier"
+    .opt = W("dollar-in-identifier-extension")
+    .kind = .off
+    .pedantic = true
+
+dollars_in_identifiers
+    .msg = "illegal character '$' in identifier"
+    .kind = .@"error"
+
+expanded_from_here
+    .msg = "expanded from here"
+    .kind = .note
+
+skipping_macro_backtrace
+    .msg = "(skipping {d} expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)"
+    .extra = .unsigned
+    .kind = .note
+
+pragma_operator_string_literal
+    .msg = "_Pragma requires exactly one string literal token"
+    .kind = .@"error"
+
+unknown_gcc_pragma
+    .msg = "pragma GCC expected 'error', 'warning', 'diagnostic', 'poison'"
+    .opt = W("unknown-pragmas")
+    .kind = .off
+    .all = true
+
+unknown_gcc_pragma_directive
+    .msg = "pragma GCC diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'"
+    .opt = W("unknown-pragmas")
+    .kind = .warning
+    .all = true
+
+predefined_top_level
+    .msg = "predefined identifier is only valid inside function"
+    .opt = W("predefined-identifier-outside-function")
+    .kind = .warning
+
+incompatible_va_arg
+    .msg = "first argument to va_arg, is of type '{s}' and not 'va_list'"
+    .extra = .str
+    .kind = .@"error"
+
+too_many_scalar_init_braces
+    .msg = "too many braces around scalar initializer"
+    .opt = W("many-braces-around-scalar-init")
+    .kind = .warning
+
+uninitialized_in_own_init
+    .msg = "variable '{s}' is uninitialized when used within its own initialization"
+    .extra = .str
+    .opt = W("uninitialized")
+    .kind = .off
+    .all = true
+
+gnu_statement_expression
+    .msg = "use of GNU statement expression extension"
+    .opt = W("gnu-statement-expression")
+    .kind = .off
+    .suppress_gnu = true
+    .pedantic = true
+
+stmt_expr_not_allowed_file_scope
+    .msg = "statement expression not allowed at file scope"
+    .kind = .@"error"
+
+gnu_imaginary_constant
+    .msg = "imaginary constants are a GNU extension"
+    .opt = W("gnu-imaginary-constant")
+    .kind = .off
+    .suppress_gnu = true
+    .pedantic = true
+
+plain_complex
+    .msg = "plain '_Complex' requires a type specifier; assuming '_Complex double'"
+    .kind = .warning
+
+complex_int
+    .msg = "complex integer types are a GNU extension"
+    .opt = W("gnu-complex-integer")
+    .suppress_gnu = true
+    .kind = .off
+
+qual_on_ret_type
+    .msg = "'{s}' type qualifier on return type has no effect"
+    .opt = W("ignored-qualifiers")
+    .extra = .str
+    .kind = .off
+    .all = true
+
+cli_invalid_standard
+    .msg = "invalid standard '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+cli_invalid_target
+    .msg = "invalid target '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+cli_invalid_emulate
+    .msg = "invalid compiler '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+cli_unknown_arg
+    .msg = "unknown argument '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+cli_error
+    .msg = "{s}"
+    .extra = .str
+    .kind = .@"error"
+
+cli_unused_link_object
+    .msg = "{s}: linker input file unused because linking not done"
+    .extra = .str
+    .kind = .warning
+
+cli_unknown_linker
+    .msg = "unrecognized linker '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+extra_semi
+    .msg = "extra ';' outside of a function"
+    .opt = W("extra-semi")
+    .kind = .off
+    .pedantic = true
+
+func_field
+    .msg = "field declared as a function"
+    .kind = .@"error"
+
+vla_field
+    .msg = "variable length array fields extension is not supported"
+    .kind = .@"error"
+
+field_incomplete_ty
+    .msg = "field has incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+flexible_in_union
+    .msg = "flexible array member in union is not allowed"
+    .kind = .@"error"
+    .suppress_msvc = true
+
+flexible_non_final
+    .msg = "flexible array member is not at the end of struct"
+    .kind = .@"error"
+
+flexible_in_empty
+    .msg = "flexible array member in otherwise empty struct"
+    .kind = .@"error"
+    .suppress_msvc = true
+
+duplicate_member
+    .msg = "duplicate member '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+binary_integer_literal
+    .msg = "binary integer literals are a GNU extension"
+    .kind = .off
+    .opt = W("gnu-binary-literal")
+    .pedantic = true
+
+gnu_va_macro
+    .msg = "named variadic macros are a GNU extension"
+    .opt = W("variadic-macros")
+    .kind = .off
+    .pedantic = true
+
+builtin_must_be_called
+    .msg = "builtin function must be directly called"
+    .kind = .@"error"
+
+va_start_not_in_func
+    .msg = "'va_start' cannot be used outside a function"
+    .kind = .@"error"
+
+va_start_fixed_args
+    .msg = "'va_start' used in a function with fixed args"
+    .kind = .@"error"
+
+va_start_not_last_param
+    .msg = "second argument to 'va_start' is not the last named parameter"
+    .opt = W("varargs")
+    .kind = .warning
+
+attribute_not_enough_args
+    .msg = "'{s}' attribute takes at least {d} argument(s)"
+    .kind = .@"error"
+    .extra = .attr_arg_count
+
+attribute_too_many_args
+    .msg = "'{s}' attribute takes at most {d} argument(s)"
+    .kind = .@"error"
+    .extra = .attr_arg_count
+
+attribute_arg_invalid
+    .msg = "Attribute argument is invalid, expected {s} but got {s}"
+    .kind = .@"error"
+    .extra = .attr_arg_type
+
+unknown_attr_enum
+    .msg = "Unknown `{s}` argument. Possible values are: {s}"
+    .kind = .@"error"
+    .extra = .attr_enum
+
+attribute_requires_identifier
+    .msg = "'{s}' attribute requires an identifier"
+    .kind = .@"error"
+    .extra = .str
+
+declspec_not_enabled
+    .msg = "'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes"
+    .kind = .@"error"
+
+declspec_attr_not_supported
+    .msg = "__declspec attribute '{s}' is not supported"
+    .extra = .str
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+deprecated_declarations
+    .msg = "{s}"
+    .extra = .str
+    .opt = W("deprecated-declarations")
+    .kind = .warning
+
+deprecated_note
+    .msg = "'{s}' has been explicitly marked deprecated here"
+    .extra = .str
+    .opt = W("deprecated-declarations")
+    .kind = .note
+
+unavailable
+    .msg = "{s}"
+    .extra = .str
+    .kind = .@"error"
+
+unavailable_note
+    .msg = "'{s}' has been explicitly marked unavailable here"
+    .extra = .str
+    .kind = .note
+
+warning_attribute
+    .msg = "{s}"
+    .extra = .str
+    .kind = .warning
+    .opt = W("attribute-warning")
+
+error_attribute
+    .msg = "{s}"
+    .extra = .str
+    .kind = .@"error"
+
+ignored_record_attr
+    .msg = "attribute '{s}' is ignored, place it after \"{s}\" to apply attribute to type declaration"
+    .extra = .ignored_record_attr
+    .kind = .warning
+    .opt = W("ignored-attributes")
+
+backslash_newline_escape
+    .msg = "backslash and newline separated by space"
+    .kind = .warning
+    .opt = W("backslash-newline-escape")
+
+array_size_non_int
+    .msg = "size of array has non-integer type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+cast_to_smaller_int
+    .msg = "cast to smaller integer type {s}"
+    .extra = .str
+    .kind = .warning
+    .opt = W("pointer-to-int-cast")
+
+gnu_switch_range
+    .msg = "use of GNU case range extension"
+    .opt = W("gnu-case-range")
+    .kind = .off
+    .pedantic = true
+
+empty_case_range
+    .msg = "empty case range specified"
+    .kind = .warning
+
+non_standard_escape_char
+    .msg = "use of non-standard escape character '\\{s}'"
+    .kind = .off
+    .opt = W("pedantic")
+    .extra = .invalid_escape
+
+invalid_pp_stringify_escape
+    .msg = "invalid string literal, ignoring final '\\'"
+    .kind = .warning
+
+vla
+    .msg = "variable length array used"
+    .kind = .off
+    .opt = W("vla")
+
+float_overflow_conversion
+    .msg = "implicit conversion of non-finite value from {s} is undefined"
+    .extra = .str
+    .kind = .off
+    .opt = W("float-overflow-conversion")
+
+float_out_of_range
+    .msg = "implicit conversion of out of range value from {s} is undefined"
+    .extra = .str
+    .kind = .warning
+    .opt = W("literal-conversion")
+
+float_zero_conversion
+    .msg = "implicit conversion from {s}"
+    .extra = .str
+    .kind = .off
+    .opt = W("float-zero-conversion")
+
+float_value_changed
+    .msg = "implicit conversion from {s}"
+    .extra = .str
+    .kind = .warning
+    .opt = W("float-conversion")
+
+float_to_int
+    .msg = "implicit conversion turns floating-point number into integer: {s}"
+    .extra = .str
+    .kind = .off
+    .opt = W("literal-conversion")
+
+const_decl_folded
+    .msg = "expression is not an integer constant expression; folding it to a constant is a GNU extension"
+    .kind = .off
+    .opt = W("gnu-folding-constant")
+    .pedantic = true
+
+const_decl_folded_vla
+    .msg = "variable length array folded to constant array as an extension"
+    .kind = .off
+    .opt = W("gnu-folding-constant")
+    .pedantic = true
+
+redefinition_of_typedef
+    .msg = "typedef redefinition with different types ({s})"
+    .extra = .str
+    .kind = .@"error"
+
+undefined_macro
+    .msg = "'{s}' is not defined, evaluates to 0"
+    .extra = .str
+    .kind = .off
+    .opt = W("undef")
+
+fn_macro_undefined
+    .msg = "function-like macro '{s}' is not defined"
+    .extra = .str
+    .kind = .@"error"
+
+preprocessing_directive_only
+    .msg = "'{s}' must be used within a preprocessing directive"
+    .extra = .tok_id_expected
+    .kind = .@"error"
+
+missing_lparen_after_builtin
+    .msg = "Missing '(' after built-in macro '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+offsetof_ty
+    .msg = "offsetof requires struct or union type, '{s}' invalid"
+    .extra = .str
+    .kind = .@"error"
+
+offsetof_incomplete
+    .msg = "offsetof of incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+offsetof_array
+    .msg = "offsetof requires array type, '{s}' invalid"
+    .extra = .str
+    .kind = .@"error"
+
+pragma_pack_lparen
+    .msg = "missing '(' after '#pragma pack' - ignoring"
+    .kind = .warning
+    .opt = W("ignored-pragmas")
+
+pragma_pack_rparen
+    .msg = "missing ')' after '#pragma pack' - ignoring"
+    .kind = .warning
+    .opt = W("ignored-pragmas")
+
+pragma_pack_unknown_action
+    .msg = "unknown action for '#pragma pack' - ignoring"
+    .opt = W("ignored-pragmas")
+    .kind = .warning
+
+pragma_pack_show
+    .msg = "value of #pragma pack(show) == {d}"
+    .extra = .unsigned
+    .kind = .warning
+
+pragma_pack_int
+    .msg = "expected #pragma pack parameter to be '1', '2', '4', '8', or '16'"
+    .opt = W("ignored-pragmas")
+    .kind = .warning
+
+pragma_pack_int_ident
+    .msg = "expected integer or identifier in '#pragma pack' - ignored"
+    .opt = W("ignored-pragmas")
+    .kind = .warning
+
+pragma_pack_undefined_pop
+    .msg = "specifying both a name and alignment to 'pop' is undefined"
+    .kind = .warning
+
+pragma_pack_empty_stack
+    .msg = "#pragma pack(pop, ...) failed: stack empty"
+    .opt = W("ignored-pragmas")
+    .kind = .warning
+
+cond_expr_type
+    .msg = "used type '{s}' where arithmetic or pointer type is required"
+    .extra = .str
+    .kind = .@"error"
+
+too_many_includes
+    .msg = "#include nested too deeply"
+    .kind = .@"error"
+
+enumerator_too_small
+    .msg = "ISO C restricts enumerator values to range of 'int' ({s} is too small)"
+    .extra = .str
+    .kind = .off
+    .opt = W("pedantic")
+
+enumerator_too_large
+    .msg = "ISO C restricts enumerator values to range of 'int' ({s} is too large)"
+    .extra = .str
+    .kind = .off
+    .opt = W("pedantic")
+
+include_next
+    .msg = "#include_next is a language extension"
+    .kind = .off
+    .pedantic = true
+    .opt = W("gnu-include-next")
+
+include_next_outside_header
+    .msg = "#include_next in primary source file; will search from start of include path"
+    .kind = .warning
+    .opt = W("include-next-outside-header")
+
+enumerator_overflow
+    .msg = "overflow in enumeration value"
+    .kind = .warning
+
+enum_not_representable
+    .msg = "incremented enumerator value {s} is not representable in the largest integer type"
+    .kind = .warning
+    .opt = W("enum-too-large")
+    .extra = .pow_2_as_string
+
+enum_too_large
+    .msg = "enumeration values exceed range of largest integer"
+    .kind = .warning
+    .opt = W("enum-too-large")
+
+enum_fixed
+    .msg = "enumeration types with a fixed underlying type are a Clang extension"
+    .kind = .off
+    .pedantic = true
+    .opt = W("fixed-enum-extension")
+
+enum_prev_nonfixed
+    .msg = "enumeration previously declared with nonfixed underlying type"
+    .kind = .@"error"
+
+enum_prev_fixed
+    .msg = "enumeration previously declared with fixed underlying type"
+    .kind = .@"error"
+
+enum_different_explicit_ty
+    # str will be like 'new' (was 'old'
+    .msg = "enumeration redeclared with different underlying type {s})"
+    .extra = .str
+    .kind = .@"error"
+
+enum_not_representable_fixed
+    .msg = "enumerator value is not representable in the underlying type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+transparent_union_wrong_type
+    .msg = "'transparent_union' attribute only applies to unions"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+transparent_union_one_field
+    .msg = "transparent union definition must contain at least one field; transparent_union attribute ignored"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+transparent_union_size
+    .msg = "size of field {s} bits) does not match the size of the first field in transparent union; transparent_union attribute ignored"
+    .extra = .str
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+transparent_union_size_note
+    .msg = "size of first field is {d}"
+    .extra = .unsigned
+    .kind = .note
+
+designated_init_invalid
+    .msg = "'designated_init' attribute is only valid on 'struct' type'"
+    .kind = .@"error"
+
+designated_init_needed
+    .msg = "positional initialization of field in 'struct' declared with 'designated_init' attribute"
+    .opt = W("designated-init")
+    .kind = .warning
+
+ignore_common
+    .msg = "ignoring attribute 'common' because it conflicts with attribute 'nocommon'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+ignore_nocommon
+    .msg = "ignoring attribute 'nocommon' because it conflicts with attribute 'common'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+non_string_ignored
+    .msg = "'nonstring' attribute ignored on objects of type '{s}'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+local_variable_attribute
+    .msg = "'{s}' attribute only applies to local variables"
+    .extra = .str
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+ignore_cold
+    .msg = "ignoring attribute 'cold' because it conflicts with attribute 'hot'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+ignore_hot
+    .msg = "ignoring attribute 'hot' because it conflicts with attribute 'cold'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+ignore_noinline
+    .msg = "ignoring attribute 'noinline' because it conflicts with attribute 'always_inline'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+ignore_always_inline
+    .msg = "ignoring attribute 'always_inline' because it conflicts with attribute 'noinline'"
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+invalid_noreturn
+    .msg = "function '{s}' declared 'noreturn' should not return"
+    .extra = .str
+    .kind = .warning
+    .opt = W("invalid-noreturn")
+
+nodiscard_unused
+    .msg = "ignoring return value of '{s}', declared with 'nodiscard' attribute"
+    .extra = .str
+    .kind = .warning
+    .opt = W("unused-result")
+
+warn_unused_result
+    .msg = "ignoring return value of '{s}', declared with 'warn_unused_result' attribute"
+    .extra = .str
+    .kind = .warning
+    .opt = W("unused-result")
+
+invalid_vec_elem_ty
+    .msg = "invalid vector element type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+vec_size_not_multiple
+    .msg = "vector size not an integral multiple of component size"
+    .kind = .@"error"
+
+invalid_imag
+    .msg = "invalid type '{s}' to __imag operator"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_real
+    .msg = "invalid type '{s}' to __real operator"
+    .extra = .str
+    .kind = .@"error"
+
+zero_length_array
+    .msg = "zero size arrays are an extension"
+    .kind = .off
+    .pedantic = true
+    .opt = W("zero-length-array")
+
+old_style_flexible_struct
+    .msg = "array index {s} is past the end of the array"
+    .extra = .str
+    .kind = .off
+    .pedantic = true
+    .opt = W("old-style-flexible-struct")
+
+comma_deletion_va_args
+    .msg = "token pasting of ',' and __VA_ARGS__ is a GNU extension"
+    .kind = .off
+    .pedantic = true
+    .opt = W("gnu-zero-variadic-macro-arguments")
+    .suppress_gcc = true
+
+main_return_type
+    .msg = "return type of 'main' is not 'int'"
+    .kind = .warning
+    .opt = W("main-return-type")
+
+expansion_to_defined
+    .msg = "macro expansion producing 'defined' has undefined behavior"
+    .kind = .off
+    .pedantic = true
+    .opt = W("expansion-to-defined")
+
+invalid_int_suffix
+    .msg = "invalid suffix '{s}' on integer constant"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_float_suffix
+    .msg = "invalid suffix '{s}' on floating constant"
+    .extra = .str
+    .kind = .@"error"
+
+invalid_octal_digit
+    .msg = "invalid digit '{c}' in octal constant"
+    .extra = .ascii
+    .kind = .@"error"
+
+invalid_binary_digit
+    .msg = "invalid digit '{c}' in binary constant"
+    .extra = .ascii
+    .kind = .@"error"
+
+exponent_has_no_digits
+    .msg = "exponent has no digits"
+    .kind = .@"error"
+
+hex_floating_constant_requires_exponent
+    .msg = "hexadecimal floating constant requires an exponent"
+    .kind = .@"error"
+
+sizeof_returns_zero
+    .msg = "sizeof returns 0"
+    .kind = .warning
+    .suppress_gcc = true
+    .suppress_clang = true
+
+declspec_not_allowed_after_declarator
+    .msg = "'declspec' attribute not allowed after declarator"
+    .kind = .@"error"
+
+declarator_name_tok
+    .msg = "this declarator"
+    .kind = .note
+
+type_not_supported_on_target
+    .msg = "{s} is not supported on this target"
+    .extra = .str
+    .kind = .@"error"
+
+bit_int
+    .msg = "'_BitInt' in C17 and earlier is a Clang extension'"
+    .kind = .off
+    .pedantic = true
+    .opt = W("bit-int-extension")
+    .suppress_version = .c23
+
+unsigned_bit_int_too_small
+    .msg = "{s} must have a bit size of at least 1"
+    .extra = .str
+    .kind = .@"error"
+
+signed_bit_int_too_small
+    .msg = "{s} must have a bit size of at least 2"
+    .extra = .str
+    .kind = .@"error"
+
+bit_int_too_big
+    .msg = "{s} of bit sizes greater than " ++ std.fmt.comptimePrint("{d}", .{Properties.max_bits}) ++ " not supported"
+    .extra = .str
+    .kind = .@"error"
+
+keyword_macro
+    .msg = "keyword is hidden by macro definition"
+    .kind = .off
+    .pedantic = true
+    .opt = W("keyword-macro")
+
+ptr_arithmetic_incomplete
+    .msg = "arithmetic on a pointer to an incomplete type '{s}'"
+    .extra = .str
+    .kind = .@"error"
+
+callconv_not_supported
+    .msg = "'{s}' calling convention is not supported for this target"
+    .extra = .str
+    .opt = W("ignored-attributes")
+    .kind = .warning
+
+pointer_arith_void
+    .msg = "invalid application of '{s}' to a void type"
+    .extra = .str
+    .kind = .off
+    .pedantic = true
+    .opt = W("pointer-arith")
+
+sizeof_array_arg
+    .msg = "sizeof on array function parameter will return size of {s}"
+    .extra = .str
+    .kind = .warning
+    .opt = W("sizeof-array-argument")
+
+array_address_to_bool
+    .msg = "address of array '{s}' will always evaluate to 'true'"
+    .extra = .str
+    .kind = .warning
+    .opt = W("pointer-bool-conversion")
+
+string_literal_to_bool
+    .msg = "implicit conversion turns string literal into bool: {s}"
+    .extra = .str
+    .kind = .off
+    .opt = W("string-conversion")
+
+constant_expression_conversion_not_allowed
+    .msg = "this conversion is not allowed in a constant expression"
+    .kind = .note
+
+invalid_object_cast
+    .msg = "cannot cast an object of type {s}"
+    .extra = .str
+    .kind = .@"error"
+
+cli_invalid_fp_eval_method
+    .msg = "unsupported argument '{s}' to option '-ffp-eval-method='; expected 'source', 'double', or 'extended'"
+    .extra = .str
+    .kind = .@"error"
+
+suggest_pointer_for_invalid_fp16
+    .msg = "{s} cannot have __fp16 type; did you forget * ?"
+    .extra = .str
+    .kind = .@"error"
+
+bitint_suffix
+    .msg = "'_BitInt' suffix for literals is a C23 extension"
+    .opt = W("c23-extensions")
+    .kind = .warning
+    .suppress_version = .c23
+
+auto_type_extension
+    .msg = "'__auto_type' is a GNU extension"
+    .opt = W("gnu-auto-type")
+    .kind = .off
+    .pedantic = true
+
+auto_type_not_allowed
+    .msg = "'__auto_type' not allowed in {s}"
+    .kind = .@"error"
+    .extra = .str
+
+auto_type_requires_initializer
+    .msg = "declaration of variable '{s}' with deduced type requires an initializer"
+    .kind = .@"error"
+    .extra = .str
+
+auto_type_requires_single_declarator
+    .msg = "'__auto_type' may only be used with a single declarator"
+    .kind = .@"error"
+
+auto_type_requires_plain_declarator
+    .msg = "'__auto_type' requires a plain identifier as declarator"
+    .kind = .@"error"
+
+invalid_cast_to_auto_type
+    .msg = "invalid cast to '__auto_type'"
+    .kind = .@"error"
+
+auto_type_from_bitfield
+    .msg = "cannot use bit-field as '__auto_type' initializer"
+    .kind = .@"error"
+
+array_of_auto_type
+    .msg = "'{s}' declared as array of '__auto_type'"
+    .kind = .@"error"
+    .extra = .str
+
+auto_type_with_init_list
+    .msg = "cannot use '__auto_type' with initializer list"
+    .kind = .@"error"
+
+missing_semicolon
+    .msg = "expected ';' at end of declaration list"
+    .kind = .warning
+
+tentative_definition_incomplete
+    .msg = "tentative definition has type '{s}' that is never completed"
+    .kind = .@"error"
+    .extra = .str
+
+forward_declaration_here
+    .msg = "forward declaration of '{s}'"
+    .kind = .note
+    .extra = .str
+
+gnu_union_cast
+    .msg = "cast to union type is a GNU extension"
+    .opt = W("gnu-union-cast")
+    .kind = .off
+    .pedantic = true
+
+invalid_union_cast
+    .msg = "cast to union type from type '{s}' not present in union"
+    .kind = .@"error"
+    .extra = .str
+
+cast_to_incomplete_type
+    .msg = "cast to incomplete type '{s}'"
+    .kind = .@"error"
+    .extra = .str
+
+invalid_source_epoch
+    .msg = "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to 253402300799"
+    .kind = .@"error"
+
+fuse_ld_path
+    .msg = "'-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead"
+    .kind = .off
+    .opt = W("fuse-ld-path")
+
+invalid_rtlib
+    .msg = "invalid runtime library name '{s}'"
+    .kind = .@"error"
+    .extra = .str
+
+unsupported_rtlib_gcc
+    .msg = "unsupported runtime library 'libgcc' for platform '{s}'"
+    .kind = .@"error"
+    .extra = .str
+
+invalid_unwindlib
+    .msg = "invalid unwind library name '{s}'"
+    .kind = .@"error"
+    .extra = .str
+
+incompatible_unwindlib
+    .msg = "--rtlib=libgcc requires --unwindlib=libgcc"
+    .kind = .@"error"
+
+gnu_asm_disabled
+    .msg = "GNU-style inline assembly is disabled"
+    .kind = .@"error"
+
+extension_token_used
+    .msg = "extension used"
+    .kind = .off
+    .pedantic = true
+    .opt = W("language-extension-token")
+
+complex_component_init
+    .msg = "complex initialization specifying real and imaginary components is an extension"
+    .opt = W("complex-component-init")
+    .kind = .off
+    .pedantic = true
+
+complex_prefix_postfix_op
+    .msg = "ISO C does not support '++'/'--' on complex type '{s}'"
+    .opt = W("pedantic")
+    .extra = .str
+    .kind = .off
+
+not_floating_type
+    .msg = "argument type '{s}' is not a real floating point type"
+    .extra = .str
+    .kind = .@"error"
+
+argument_types_differ
+    .msg = "arguments are of different types ({s})"
+    .extra = .str
+    .kind = .@"error"
+
+ms_search_rule
+    .msg = "#include resolved using non-portable Microsoft search rules as: {s}"
+    .extra = .str
+    .opt = W("microsoft-include")
+    .kind = .warning
+
+ctrl_z_eof
+    .msg = "treating Ctrl-Z as end-of-file is a Microsoft extension"
+    .opt = W("microsoft-end-of-file")
+    .kind = .off
+    .pedantic = true
+
+illegal_char_encoding_warning
+    .msg = "illegal character encoding in character literal"
+    .opt = W("invalid-source-encoding")
+    .kind = .warning
+
+illegal_char_encoding_error
+    .msg = "illegal character encoding in character literal"
+    .kind = .@"error"
+
+ucn_basic_char_error
+    .msg = "character '{c}' cannot be specified by a universal character name"
+    .kind = .@"error"
+    .extra = .ascii
+
+ucn_basic_char_warning
+    .msg = "specifying character '{c}' with a universal character name is incompatible with C standards before C23"
+    .kind = .off
+    .extra = .ascii
+    .suppress_unless_version = .c23
+    .opt = W("pre-c23-compat")
+
+ucn_control_char_error
+    .msg = "universal character name refers to a control character"
+    .kind = .@"error"
+
+ucn_control_char_warning
+    .msg = "universal character name referring to a control character is incompatible with C standards before C23"
+    .kind = .off
+    .suppress_unless_version = .c23
+    .opt = W("pre-c23-compat")
+
+c89_ucn_in_literal
+    .msg = "universal character names are only valid in C99 or later"
+    .suppress_version = .c99
+    .kind = .warning
+    .opt = W("unicode")
+
+four_char_char_literal
+    .msg = "multi-character character constant"
+    .opt = W("four-char-constants")
+    .kind = .off
+
+multi_char_char_literal
+    .msg = "multi-character character constant"
+    .kind = .off
+
+missing_hex_escape
+    .msg = "\\{c} used with no following hex digits"
+    .kind = .@"error"
+    .extra = .ascii
+
+unknown_escape_sequence
+    .msg = "unknown escape sequence '\\{s}'"
+    .kind = .warning
+    .opt = W("unknown-escape-sequence")
+    .extra = .invalid_escape
+
+attribute_requires_string
+    .msg = "attribute '{s}' requires an ordinary string"
+    .kind = .@"error"
+    .extra = .str
+
+unterminated_string_literal_warning
+    .msg = "missing terminating '\"' character"
+    .kind = .warning
+    .opt = W("invalid-pp-token")
+
+unterminated_string_literal_error
+    .msg = "missing terminating '\"' character"
+    .kind = .@"error"
+
+empty_char_literal_warning
+    .msg = "empty character constant"
+    .kind = .warning
+    .opt = W("invalid-pp-token")
+
+empty_char_literal_error
+    .msg = "empty character constant"
+    .kind = .@"error"
+
+unterminated_char_literal_warning
+    .msg = "missing terminating ' character"
+    .kind = .warning
+    .opt = W("invalid-pp-token")
+
+unterminated_char_literal_error
+    .msg = "missing terminating ' character"
+    .kind = .@"error"
+
+unterminated_comment
+    .msg = "unterminated comment"
+    .kind = .@"error"
+
+def_no_proto_deprecated
+    .msg = "a function definition without a prototype is deprecated in all versions of C and is not supported in C23"
+    .kind = .warning
+    .opt = W("deprecated-non-prototype")
+
+passing_args_to_kr
+    .msg = "passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C23"
+    .kind = .warning
+    .opt = W("deprecated-non-prototype")
+
+unknown_type_name
+    .msg = "unknown type name '{s}'"
+    .kind = .@"error"
+    .extra = .str
+
+label_compound_end
+    .msg = "label at end of compound statement is a C23 extension"
+    .opt = W("c23-extensions")
+    .kind = .warning
+    .suppress_version = .c23
+
+u8_char_lit
+    .msg = "UTF-8 character literal is a C23 extension"
+    .opt = W("c23-extensions")
+    .kind = .warning
+    .suppress_version = .c23
+
+malformed_embed_param
+    .msg = "unexpected token in embed parameter"
+    .kind = .@"error"
+
+malformed_embed_limit
+    .msg = "the limit parameter expects one non-negative integer as a parameter"
+    .kind = .@"error"
+
+duplicate_embed_param
+    .msg = "duplicate embed parameter '{s}'"
+    .kind = .warning
+    .extra = .str
+    .opt = W("duplicate-embed-param")
+
+unsupported_embed_param
+    .msg = "unsupported embed parameter '{s}' embed parameter"
+    .kind = .warning
+    .extra = .str
+    .opt = W("unsupported-embed-param")
+
+invalid_compound_literal_storage_class
+    .msg = "compound literal cannot have {s} storage class"
+    .kind = .@"error"
+    .extra = .str
+
+va_opt_lparen
+    .msg = "missing '(' following __VA_OPT__"
+    .kind = .@"error"
+
+va_opt_rparen
+    .msg = "unterminated __VA_OPT__ argument list"
+    .kind = .@"error"
+
+attribute_int_out_of_range
+    .msg = "attribute value '{s}' out of range"
+    .kind = .@"error"
+    .extra = .str
+
+identifier_not_normalized
+    .msg = "'{s}' is not in NFC"
+    .kind = .warning
+    .extra = .normalized
+    .opt = W("normalized")
+
+c23_auto_plain_declarator
+    .msg = "'auto' requires a plain identifier declarator"
+    .kind = .@"error"
+
+c23_auto_single_declarator
+    .msg = "'auto' can only be used with a single declarator"
+    .kind = .@"error"
+
+c32_auto_requires_initializer
+    .msg = "'auto' requires an initializer"
+    .kind = .@"error"
+
+c23_auto_scalar_init
+    .msg = "'auto' requires a scalar initializer"
+    .kind = .@"error"
deps/aro/Driver/Distro.zig → deps/aro/aro/Driver/Distro.zig
@@ -2,7 +2,6 @@
 
 const std = @import("std");
 const mem = std.mem;
-const util = @import("../util.zig");
 const Filesystem = @import("Filesystem.zig").Filesystem;
 
 const MAX_BYTES = 1024; // TODO: Can we assume 1024 bytes enough for the info we need?
deps/aro/Driver/Filesystem.zig → deps/aro/aro/Driver/Filesystem.zig
@@ -1,7 +1,6 @@
 const std = @import("std");
 const mem = std.mem;
 const builtin = @import("builtin");
-const system_defaults = @import("system_defaults");
 const is_windows = builtin.os.tag == .windows;
 
 fn readFileFake(entries: []const Filesystem.Entry, path: []const u8, buf: []u8) ?[]const u8 {
@@ -25,7 +24,7 @@ fn findProgramByNameFake(entries: []const Filesystem.Entry, name: []const u8, pa
     const path_env = path orelse return null;
     var fib = std.heap.FixedBufferAllocator.init(buf);
 
-    var it = mem.tokenizeScalar(u8, path_env, system_defaults.path_sep);
+    var it = mem.tokenizeScalar(u8, path_env, std.fs.path.delimiter);
     while (it.next()) |path_dir| {
         defer fib.reset();
         const full_path = std.fs.path.join(fib.allocator(), &.{ path_dir, name }) catch continue;
@@ -86,7 +85,7 @@ fn findProgramByNamePosix(name: []const u8, path: ?[]const u8, buf: []u8) ?[]con
     const path_env = path orelse return null;
     var fib = std.heap.FixedBufferAllocator.init(buf);
 
-    var it = mem.tokenizeScalar(u8, path_env, system_defaults.path_sep);
+    var it = mem.tokenizeScalar(u8, path_env, std.fs.path.delimiter);
     while (it.next()) |path_dir| {
         defer fib.reset();
         const full_path = std.fs.path.join(fib.allocator(), &.{ path_dir, name }) catch continue;
@@ -122,8 +121,6 @@ pub const Filesystem = union(enum) {
             base: []const u8,
             i: usize = 0,
 
-            const Self = @This();
-
             fn next(self: *@This()) !?std.fs.IterableDir.Entry {
                 while (self.i < self.entries.len) {
                     const entry = self.entries[self.i];
deps/aro/Driver/GCCDetector.zig → deps/aro/aro/Driver/GCCDetector.zig
@@ -2,9 +2,9 @@ const std = @import("std");
 const Toolchain = @import("../Toolchain.zig");
 const target_util = @import("../target.zig");
 const system_defaults = @import("system_defaults");
-const util = @import("../util.zig");
 const GCCVersion = @import("GCCVersion.zig");
 const Multilib = @import("Multilib.zig");
+
 const GCCDetector = @This();
 
 is_valid: bool = false,
@@ -403,13 +403,22 @@ pub fn discover(self: *GCCDetector, tc: *Toolchain) !void {
     var fib = std.heap.FixedBufferAllocator.init(&path_buf);
 
     const target = tc.getTarget();
-    const biarch_variant_target = if (target.ptrBitWidth() == 32) target_util.get64BitArchVariant(target) else target_util.get32BitArchVariant(target);
+    const biarch_variant_target = if (target.ptrBitWidth() == 32)
+        target_util.get64BitArchVariant(target)
+    else
+        target_util.get32BitArchVariant(target);
 
     var candidate_lib_dirs: PathPrefixes = .{};
-    var candidate_biarch_lib_dirs: PathPrefixes = .{};
     var candidate_triple_aliases: PathPrefixes = .{};
+    var candidate_biarch_lib_dirs: PathPrefixes = .{};
     var candidate_biarch_triple_aliases: PathPrefixes = .{};
-    try collectLibDirsAndTriples(tc, &candidate_lib_dirs, &candidate_biarch_lib_dirs, &candidate_triple_aliases, &candidate_biarch_triple_aliases);
+    try collectLibDirsAndTriples(
+        tc,
+        &candidate_lib_dirs,
+        &candidate_triple_aliases,
+        &candidate_biarch_lib_dirs,
+        &candidate_biarch_triple_aliases,
+    );
 
     var target_buf: [64]u8 = undefined;
     const triple_str = target_util.toLLVMTriple(target, &target_buf);
@@ -476,7 +485,13 @@ pub fn discover(self: *GCCDetector, tc: *Toolchain) !void {
     }
 }
 
-fn findBiarchMultilibs(tc: *const Toolchain, result: *Multilib.Detected, target: std.Target, path: [2][]const u8, needs_biarch_suffix: bool) !bool {
+fn findBiarchMultilibs(
+    tc: *const Toolchain,
+    result: *Multilib.Detected,
+    target: std.Target,
+    path: [2][]const u8,
+    needs_biarch_suffix: bool,
+) !bool {
     const suff64 = if (target.os.tag == .solaris) switch (target.cpu.arch) {
         .x86, .x86_64 => "/amd64",
         .sparc => "/sparcv9",
@@ -531,7 +546,13 @@ fn findBiarchMultilibs(tc: *const Toolchain, result: *Multilib.Detected, target:
     return result.select(flags);
 }
 
-fn scanGCCForMultilibs(self: *GCCDetector, tc: *const Toolchain, target: std.Target, path: [2][]const u8, needs_biarch_suffix: bool) !bool {
+fn scanGCCForMultilibs(
+    self: *GCCDetector,
+    tc: *const Toolchain,
+    target: std.Target,
+    path: [2][]const u8,
+    needs_biarch_suffix: bool,
+) !bool {
     var detected: Multilib.Detected = .{};
     if (target.cpu.arch == .csky) {
         // TODO
deps/aro/Driver/GCCVersion.zig → deps/aro/aro/Driver/GCCVersion.zig
File renamed without changes
deps/aro/Driver/Multilib.zig → deps/aro/aro/Driver/Multilib.zig
@@ -1,5 +1,4 @@
 const std = @import("std");
-const util = @import("../util.zig");
 const Filesystem = @import("Filesystem.zig").Filesystem;
 
 pub const Flags = std.BoundedArray([]const u8, 6);
deps/aro/pragmas/gcc.zig → deps/aro/aro/pragmas/gcc.zig
@@ -38,18 +38,18 @@ const Directive = enum {
 
 fn beforePreprocess(pragma: *Pragma, comp: *Compilation) void {
     var self = @fieldParentPtr(GCC, "pragma", pragma);
-    self.original_options = comp.diag.options;
+    self.original_options = comp.diagnostics.options;
 }
 
 fn beforeParse(pragma: *Pragma, comp: *Compilation) void {
     var self = @fieldParentPtr(GCC, "pragma", pragma);
-    comp.diag.options = self.original_options;
+    comp.diagnostics.options = self.original_options;
     self.options_stack.items.len = 0;
 }
 
 fn afterParse(pragma: *Pragma, comp: *Compilation) void {
     var self = @fieldParentPtr(GCC, "pragma", pragma);
-    comp.diag.options = self.original_options;
+    comp.diagnostics.options = self.original_options;
     self.options_stack.items.len = 0;
 }
 
@@ -76,7 +76,7 @@ fn diagnosticHandler(self: *GCC, pp: *Preprocessor, start_idx: TokenIndex) Pragm
         .ignored, .warning, .@"error", .fatal => {
             const str = Pragma.pasteTokens(pp, start_idx + 1) catch |err| switch (err) {
                 error.ExpectedStringLiteral => {
-                    return pp.comp.diag.add(.{
+                    return pp.comp.addDiagnostic(.{
                         .tag = .pragma_requires_string_literal,
                         .loc = diagnostic_tok.loc,
                         .extra = .{ .str = "GCC diagnostic" },
@@ -86,24 +86,24 @@ fn diagnosticHandler(self: *GCC, pp: *Preprocessor, start_idx: TokenIndex) Pragm
             };
             if (!mem.startsWith(u8, str, "-W")) {
                 const next = pp.tokens.get(start_idx + 1);
-                return pp.comp.diag.add(.{
+                return pp.comp.addDiagnostic(.{
                     .tag = .malformed_warning_check,
                     .loc = next.loc,
                     .extra = .{ .str = "GCC diagnostic" },
                 }, next.expansionSlice());
             }
-            const new_kind = switch (diagnostic) {
-                .ignored => Diagnostics.Kind.off,
-                .warning => Diagnostics.Kind.warning,
-                .@"error" => Diagnostics.Kind.@"error",
-                .fatal => Diagnostics.Kind.@"fatal error",
+            const new_kind: Diagnostics.Kind = switch (diagnostic) {
+                .ignored => .off,
+                .warning => .warning,
+                .@"error" => .@"error",
+                .fatal => .@"fatal error",
                 else => unreachable,
             };
 
-            try pp.comp.diag.set(str[2..], new_kind);
+            try pp.comp.diagnostics.set(str[2..], new_kind);
         },
-        .push => try self.options_stack.append(pp.comp.gpa, pp.comp.diag.options),
-        .pop => pp.comp.diag.options = self.options_stack.popOrNull() orelse self.original_options,
+        .push => try self.options_stack.append(pp.comp.gpa, pp.comp.diagnostics.options),
+        .pop => pp.comp.diagnostics.options = self.options_stack.popOrNull() orelse self.original_options,
     }
 }
 
@@ -113,7 +113,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
     if (directive_tok.id == .nl) return;
 
     const gcc_pragma = std.meta.stringToEnum(Directive, pp.expandedSlice(directive_tok)) orelse
-        return pp.comp.diag.add(.{
+        return pp.comp.addDiagnostic(.{
         .tag = .unknown_gcc_pragma,
         .loc = directive_tok.loc,
     }, directive_tok.expansionSlice());
@@ -122,7 +122,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
         .warning, .@"error" => {
             const text = Pragma.pasteTokens(pp, start_idx + 2) catch |err| switch (err) {
                 error.ExpectedStringLiteral => {
-                    return pp.comp.diag.add(.{
+                    return pp.comp.addDiagnostic(.{
                         .tag = .pragma_requires_string_literal,
                         .loc = directive_tok.loc,
                         .extra = .{ .str = @tagName(gcc_pragma) },
@@ -130,9 +130,9 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
                 },
                 else => |e| return e,
             };
-            const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diag.arena.allocator().dupe(u8, text) };
+            const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diagnostics.arena.allocator().dupe(u8, text) };
             const diagnostic_tag: Diagnostics.Tag = if (gcc_pragma == .warning) .pragma_warning_message else .pragma_error_message;
-            return pp.comp.diag.add(
+            return pp.comp.addDiagnostic(
                 .{ .tag = diagnostic_tag, .loc = directive_tok.loc, .extra = extra },
                 directive_tok.expansionSlice(),
             );
@@ -140,7 +140,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
         .diagnostic => return self.diagnosticHandler(pp, start_idx + 2) catch |err| switch (err) {
             error.UnknownPragma => {
                 const tok = pp.tokens.get(start_idx + 2);
-                return pp.comp.diag.add(.{
+                return pp.comp.addDiagnostic(.{
                     .tag = .unknown_gcc_pragma_directive,
                     .loc = tok.loc,
                 }, tok.expansionSlice());
@@ -154,14 +154,14 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
                 if (tok.id == .nl) break;
 
                 if (!tok.id.isMacroIdentifier()) {
-                    return pp.comp.diag.add(.{
+                    return pp.comp.addDiagnostic(.{
                         .tag = .pragma_poison_identifier,
                         .loc = tok.loc,
                     }, tok.expansionSlice());
                 }
                 const str = pp.expandedSlice(tok);
                 if (pp.defines.get(str) != null) {
-                    try pp.comp.diag.add(.{
+                    try pp.comp.addDiagnostic(.{
                         .tag = .pragma_poison_macro,
                         .loc = tok.loc,
                     }, tok.expansionSlice());
deps/aro/pragmas/message.zig → deps/aro/aro/pragmas/message.zig
@@ -22,7 +22,7 @@ pub fn init(allocator: mem.Allocator) !*Pragma {
 }
 
 fn deinit(pragma: *Pragma, comp: *Compilation) void {
-    var self = @fieldParentPtr(Message, "pragma", pragma);
+    const self = @fieldParentPtr(Message, "pragma", pragma);
     comp.gpa.destroy(self);
 }
 
@@ -32,7 +32,7 @@ fn preprocessorHandler(_: *Pragma, pp: *Preprocessor, start_idx: TokenIndex) Pra
 
     const str = Pragma.pasteTokens(pp, start_idx + 1) catch |err| switch (err) {
         error.ExpectedStringLiteral => {
-            return pp.comp.diag.add(.{
+            return pp.comp.addDiagnostic(.{
                 .tag = .pragma_requires_string_literal,
                 .loc = message_tok.loc,
                 .extra = .{ .str = "message" },
@@ -45,6 +45,6 @@ fn preprocessorHandler(_: *Pragma, pp: *Preprocessor, start_idx: TokenIndex) Pra
         message_expansion_locs[message_expansion_locs.len - 1]
     else
         message_tok.loc;
-    const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diag.arena.allocator().dupe(u8, str) };
-    return pp.comp.diag.add(.{ .tag = .pragma_message, .loc = loc, .extra = extra }, &.{});
+    const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diagnostics.arena.allocator().dupe(u8, str) };
+    return pp.comp.addDiagnostic(.{ .tag = .pragma_message, .loc = loc, .extra = extra }, &.{});
 }
deps/aro/pragmas/once.zig → deps/aro/aro/pragmas/once.zig
@@ -42,7 +42,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
     const name_tok = pp.tokens.get(start_idx);
     const next = pp.tokens.get(start_idx + 1);
     if (next.id != .nl) {
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .extra_tokens_directive_end,
             .loc = name_tok.loc,
         }, next.expansionSlice());
deps/aro/pragmas/pack.zig → deps/aro/aro/pragmas/pack.zig
@@ -34,7 +34,7 @@ fn parserHandler(pragma: *Pragma, p: *Parser, start_idx: TokenIndex) Compilation
     var idx = start_idx + 1;
     const l_paren = p.pp.tokens.get(idx);
     if (l_paren.id != .l_paren) {
-        return p.comp.diag.add(.{
+        return p.comp.addDiagnostic(.{
             .tag = .pragma_pack_lparen,
             .loc = l_paren.loc,
         }, l_paren.expansionSlice());
@@ -127,7 +127,7 @@ fn packInt(p: *Parser, tok_i: TokenIndex) Compilation.Error!?u8 {
         },
         else => |e| return e,
     };
-    const int = if (res.val.tag == .int) res.val.getInt(u64) else 99;
+    const int = res.val.toInt(u64, p.comp) orelse 99;
     switch (int) {
         1, 2, 4, 8, 16 => return @intCast(int),
         else => {
deps/aro/toolchains/Linux.zig → deps/aro/aro/toolchains/Linux.zig
@@ -385,6 +385,7 @@ test Linux {
     comp.environment = .{
         .path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
     };
+    defer comp.environment = .{};
 
     const raw_triple = "x86_64-linux-gnu";
     const cross = std.zig.CrossTarget.parse(.{ .arch_os_abi = raw_triple }) catch unreachable;
deps/aro/Attribute.zig → deps/aro/aro/Attribute.zig
@@ -1,7 +1,7 @@
 const std = @import("std");
 const mem = std.mem;
 const ZigType = std.builtin.Type;
-const CallingConvention = @import("lib.zig").CallingConvention;
+const CallingConvention = @import("backend").CallingConvention;
 const Compilation = @import("Compilation.zig");
 const Diagnostics = @import("Diagnostics.zig");
 const Parser = @import("Parser.zig");
@@ -18,20 +18,20 @@ syntax: Syntax,
 args: Arguments,
 
 pub const Syntax = enum {
-    c2x,
+    c23,
     declspec,
     gnu,
     keyword,
 };
 
 pub const Kind = enum {
-    c2x,
+    c23,
     declspec,
     gnu,
 
     pub fn toSyntax(kind: Kind) Syntax {
         return switch (kind) {
-            .c2x => .c2x,
+            .c23 => .c23,
             .declspec => .declspec,
             .gnu => .gnu,
         };
@@ -57,30 +57,6 @@ pub const ArgumentType = enum {
             .expression => "an expression",
         };
     }
-
-    fn fromType(comptime T: type) ArgumentType {
-        return switch (T) {
-            Value.ByteRange => .string,
-            Identifier => .identifier,
-            u32 => .int,
-            Alignment => .alignment,
-            CallingConvention => .identifier,
-            else => switch (@typeInfo(T)) {
-                .Enum => if (T.opts.enum_kind == .string) .string else .identifier,
-                else => unreachable,
-            },
-        };
-    }
-
-    fn fromVal(value: Value) ArgumentType {
-        return switch (value.tag) {
-            .int => .int,
-            .bytes => .string,
-            .unavailable => .expression,
-            .float => .float,
-            .nullptr_t => .nullptr_t,
-        };
-    }
 };
 
 /// number of required arguments
@@ -216,7 +192,7 @@ pub fn wantsAlignment(attr: Tag, idx: usize) bool {
     }
 }
 
-pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, ty: Type, comp: *Compilation) ?Diagnostics.Message {
+pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, res: Parser.Result, p: *Parser) !?Diagnostics.Message {
     switch (attr) {
         inline else => |tag| {
             const arg_fields = std.meta.fields(@field(attributes, @tagName(tag)));
@@ -226,12 +202,12 @@ pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Va
                 inline 0...arg_fields.len - 1 => |arg_i| {
                     if (UnwrapOptional(arg_fields[arg_i].type) != Alignment) unreachable;
 
-                    if (val.tag != .int) return Diagnostics.Message{ .tag = .alignas_unavailable };
-                    if (val.compare(.lt, Value.int(0), ty, comp)) {
-                        return Diagnostics.Message{ .tag = .negative_alignment, .extra = .{ .signed = val.signExtend(ty, comp) } };
+                    if (!res.val.is(.int, p.comp)) return Diagnostics.Message{ .tag = .alignas_unavailable };
+                    if (res.val.compare(.lt, Value.zero, p.comp)) {
+                        return Diagnostics.Message{ .tag = .negative_alignment, .extra = .{ .str = try res.str(p) } };
                     }
-                    const requested = std.math.cast(u29, val.data.int) orelse {
-                        return Diagnostics.Message{ .tag = .maximum_alignment, .extra = .{ .unsigned = val.data.int } };
+                    const requested = res.val.toInt(u29, p.comp) orelse {
+                        return Diagnostics.Message{ .tag = .maximum_alignment, .extra = .{ .str = try res.str(p) } };
                     };
                     if (!std.mem.isValidAlign(requested)) return Diagnostics.Message{ .tag = .non_pow2_align };
 
@@ -247,59 +223,84 @@ pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Va
 fn diagnoseField(
     comptime decl: ZigType.Declaration,
     comptime field: ZigType.StructField,
-    comptime wanted: type,
+    comptime Wanted: type,
     arguments: *Arguments,
-    val: Value,
+    res: Parser.Result,
     node: Tree.Node,
-    strings: []const u8,
-) ?Diagnostics.Message {
-    switch (val.tag) {
+    p: *Parser,
+) !?Diagnostics.Message {
+    if (res.val.opt_ref == .none) {
+        if (Wanted == Identifier and node.tag == .decl_ref_expr) {
+            @field(@field(arguments, decl.name), field.name) = Identifier{ .tok = node.data.decl_ref };
+            return null;
+        }
+        return invalidArgMsg(Wanted, .expression);
+    }
+    const key = p.comp.interner.get(res.val.ref());
+    switch (key) {
         .int => {
-            if (@typeInfo(wanted) == .Int) {
-                @field(@field(arguments, decl.name), field.name) = val.getInt(wanted);
+            if (@typeInfo(Wanted) == .Int) {
+                @field(@field(arguments, decl.name), field.name) = res.val.toInt(Wanted, p.comp) orelse return .{
+                    .tag = .attribute_int_out_of_range,
+                    .extra = .{ .str = try res.str(p) },
+                };
                 return null;
             }
         },
-        .bytes => {
-            const bytes = val.data.bytes.trim(1); // remove null terminator
-            if (wanted == Value.ByteRange) {
+        .bytes => |bytes| {
+            if (Wanted == Value) {
                 std.debug.assert(node.tag == .string_literal_expr);
                 if (!node.ty.elemType().is(.char) and !node.ty.elemType().is(.uchar)) {
-                    return Diagnostics.Message{
+                    return .{
                         .tag = .attribute_requires_string,
                         .extra = .{ .str = decl.name },
                     };
                 }
-                @field(@field(arguments, decl.name), field.name) = bytes;
+                @field(@field(arguments, decl.name), field.name) = try p.removeNull(res.val);
                 return null;
-            } else if (@typeInfo(wanted) == .Enum and @hasDecl(wanted, "opts") and wanted.opts.enum_kind == .string) {
-                const str = bytes.slice(strings, .@"1");
-                if (std.meta.stringToEnum(wanted, str)) |enum_val| {
+            } else if (@typeInfo(Wanted) == .Enum and @hasDecl(Wanted, "opts") and Wanted.opts.enum_kind == .string) {
+                const str = bytes[0 .. bytes.len - 1];
+                if (std.meta.stringToEnum(Wanted, str)) |enum_val| {
                     @field(@field(arguments, decl.name), field.name) = enum_val;
                     return null;
                 } else {
                     @setEvalBranchQuota(3000);
-                    return Diagnostics.Message{
+                    return .{
                         .tag = .unknown_attr_enum,
                         .extra = .{ .attr_enum = .{ .tag = std.meta.stringToEnum(Tag, decl.name).? } },
                     };
                 }
             }
         },
-        else => {
-            if (wanted == Identifier and node.tag == .decl_ref_expr) {
-                @field(@field(arguments, decl.name), field.name) = Identifier{ .tok = node.data.decl_ref };
-                return null;
-            }
-        },
+        else => {},
     }
-    return Diagnostics.Message{
+    return invalidArgMsg(Wanted, switch (key) {
+        .int => .int,
+        .bytes => .string,
+        .float => .float,
+        .null => .nullptr_t,
+        else => unreachable,
+    });
+}
+
+fn invalidArgMsg(comptime Expected: type, actual: ArgumentType) Diagnostics.Message {
+    return .{
         .tag = .attribute_arg_invalid,
-        .extra = .{ .attr_arg_type = .{ .expected = ArgumentType.fromType(wanted), .actual = ArgumentType.fromVal(val) } },
+        .extra = .{ .attr_arg_type = .{ .expected = switch (Expected) {
+            Value => .string,
+            Identifier => .identifier,
+            u32 => .int,
+            Alignment => .alignment,
+            CallingConvention => .identifier,
+            else => switch (@typeInfo(Expected)) {
+                .Enum => if (Expected.opts.enum_kind == .string) .string else .identifier,
+                else => unreachable,
+            },
+        }, .actual = actual } },
     };
 }
 
-pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, node: Tree.Node, strings: []const u8) ?Diagnostics.Message {
+pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, res: Parser.Result, node: Tree.Node, p: *Parser) !?Diagnostics.Message {
     switch (attr) {
         inline else => |tag| {
             const decl = @typeInfo(attributes).Struct.decls[@intFromEnum(tag)];
@@ -311,7 +312,7 @@ pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, node
             const arg_fields = std.meta.fields(@field(attributes, decl.name));
             switch (arg_idx) {
                 inline 0...arg_fields.len - 1 => |arg_i| {
-                    return diagnoseField(decl, arg_fields[arg_i], UnwrapOptional(arg_fields[arg_i].type), arguments, val, node, strings);
+                    return diagnoseField(decl, arg_fields[arg_i], UnwrapOptional(arg_fields[arg_i].type), arguments, res, node, p);
                 },
                 else => unreachable,
             }
@@ -347,7 +348,7 @@ const attributes = struct {
         size_index: ?u32 = null,
     };
     pub const alias = struct {
-        alias: Value.ByteRange,
+        alias: Value,
     };
     pub const aligned = struct {
         alignment: ?Alignment = null,
@@ -361,7 +362,7 @@ const attributes = struct {
         position_2: ?u32 = null,
     };
     pub const allocate = struct {
-        segname: Value.ByteRange,
+        segname: Value,
     };
     pub const allocator = struct {};
     pub const always_inline = struct {};
@@ -375,7 +376,7 @@ const attributes = struct {
         function: Identifier,
     };
     pub const code_seg = struct {
-        segname: Value.ByteRange,
+        segname: Value,
     };
     pub const cold = struct {};
     pub const common = struct {};
@@ -387,7 +388,7 @@ const attributes = struct {
         function: Identifier,
     };
     pub const deprecated = struct {
-        msg: ?Value.ByteRange = null,
+        msg: ?Value = null,
         __name_tok: TokenIndex,
     };
     pub const designated_init = struct {};
@@ -397,7 +398,7 @@ const attributes = struct {
     pub const dllexport = struct {};
     pub const dllimport = struct {};
     pub const @"error" = struct {
-        msg: Value.ByteRange,
+        msg: Value,
         __name_tok: TokenIndex,
     };
     pub const externally_visible = struct {};
@@ -423,7 +424,7 @@ const attributes = struct {
     pub const gnu_inline = struct {};
     pub const hot = struct {};
     pub const ifunc = struct {
-        resolver: Value.ByteRange,
+        resolver: Value,
     };
     pub const interrupt = struct {};
     pub const interrupt_handler = struct {};
@@ -469,8 +470,8 @@ const attributes = struct {
     pub const no_reorder = struct {};
     pub const no_sanitize = struct {
         /// Todo: represent args as union?
-        alignment: Value.ByteRange,
-        object_size: ?Value.ByteRange = null,
+        alignment: Value,
+        object_size: ?Value = null,
     };
     pub const no_sanitize_address = struct {};
     pub const no_sanitize_coverage = struct {};
@@ -521,7 +522,7 @@ const attributes = struct {
         },
     };
     pub const section = struct {
-        name: Value.ByteRange,
+        name: Value,
     };
     pub const selectany = struct {};
     pub const sentinel = struct {
@@ -548,15 +549,15 @@ const attributes = struct {
     };
     pub const stack_protect = struct {};
     pub const symver = struct {
-        version: Value.ByteRange, // TODO: validate format "name2@nodename"
+        version: Value, // TODO: validate format "name2@nodename"
 
     };
     pub const target = struct {
-        options: Value.ByteRange, // TODO: multiple arguments
+        options: Value, // TODO: multiple arguments
 
     };
     pub const target_clones = struct {
-        options: Value.ByteRange, // TODO: multiple arguments
+        options: Value, // TODO: multiple arguments
 
     };
     pub const thread = struct {};
@@ -574,7 +575,7 @@ const attributes = struct {
     };
     pub const transparent_union = struct {};
     pub const unavailable = struct {
-        msg: ?Value.ByteRange = null,
+        msg: ?Value = null,
         __name_tok: TokenIndex,
     };
     pub const uninitialized = struct {};
@@ -582,7 +583,7 @@ const attributes = struct {
     pub const unused = struct {};
     pub const used = struct {};
     pub const uuid = struct {
-        uuid: Value.ByteRange,
+        uuid: Value,
     };
     pub const vector_size = struct {
         bytes: u32, // TODO: validate "The bytes argument must be a positive power-of-two multiple of the base type size"
@@ -605,12 +606,12 @@ const attributes = struct {
     };
     pub const warn_unused_result = struct {};
     pub const warning = struct {
-        msg: Value.ByteRange,
+        msg: Value,
         __name_tok: TokenIndex,
     };
     pub const weak = struct {};
     pub const weakref = struct {
-        target: ?Value.ByteRange = null,
+        target: ?Value = null,
     };
     pub const zero_call_used_regs = struct {
         choice: enum {
@@ -630,7 +631,7 @@ const attributes = struct {
         },
     };
     pub const asm_label = struct {
-        name: Value.ByteRange,
+        name: Value,
     };
     pub const calling_convention = struct {
         cc: CallingConvention,
@@ -684,7 +685,7 @@ pub fn fromString(kind: Kind, namespace: ?[]const u8, name: []const u8) ?Tag {
         tag: Tag,
         gnu: bool = false,
         declspec: bool = false,
-        c2x: bool = false,
+        c23: bool = false,
     };
     const attribute_names = @import("Attribute/names.def").with(Properties);
 
@@ -707,7 +708,7 @@ pub fn fromString(kind: Kind, namespace: ?[]const u8, name: []const u8) ?Tag {
     return null;
 }
 
-fn normalize(name: []const u8) []const u8 {
+pub fn normalize(name: []const u8) []const u8 {
     if (name.len >= 4 and mem.startsWith(u8, name, "__") and mem.endsWith(u8, name, "__")) {
         return name[2 .. name.len - 2];
     }
@@ -719,7 +720,7 @@ fn ignoredAttrErr(p: *Parser, tok: TokenIndex, attr: Attribute.Tag, context: []c
     defer p.strings.items.len = strings_top;
 
     try p.strings.writer().print("attribute '{s}' ignored on {s}", .{ @tagName(attr), context });
-    const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+    const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
     try p.errStr(.ignored_attribute, tok, str);
 }
 
@@ -1029,7 +1030,11 @@ fn applyTransparentUnion(attr: Attribute, p: *Parser, tok: TokenIndex, ty: Type)
         const field_size = field.ty.bitSizeof(p.comp).?;
         if (field_size == first_field_size) continue;
         const mapper = p.comp.string_interner.getSlowTypeMapper();
-        const str = try std.fmt.allocPrint(p.comp.diag.arena.allocator(), "'{s}' ({d}", .{ mapper.lookup(field.name), field_size });
+        const str = try std.fmt.allocPrint(
+            p.comp.diagnostics.arena.allocator(),
+            "'{s}' ({d}",
+            .{ mapper.lookup(field.name), field_size },
+        );
         try p.errStr(.transparent_union_size, field.name_tok, str);
         return p.errExtra(.transparent_union_size_note, fields[0].name_tok, .{ .unsigned = first_field_size });
     }
deps/aro/Builtins.zig → deps/aro/aro/Builtins.zig
@@ -10,8 +10,6 @@ const Parser = @import("Parser.zig");
 const Properties = @import("Builtins/Properties.zig");
 pub const Builtin = @import("Builtins/Builtin.def").with(Properties);
 
-const Builtins = @This();
-
 const Expanded = struct {
     ty: Type,
     builtin: Builtin,
@@ -19,6 +17,8 @@ const Expanded = struct {
 
 const NameToTypeMap = std.StringHashMapUnmanaged(Type);
 
+const Builtins = @This();
+
 _name_to_type_map: NameToTypeMap = .{},
 
 pub fn deinit(b: *Builtins, gpa: std.mem.Allocator) void {
@@ -355,7 +355,7 @@ test Iterator {
 test "All builtins" {
     var comp = Compilation.init(std.testing.allocator);
     defer comp.deinit();
-    _ = try comp.generateBuiltinMacros();
+    _ = try comp.generateBuiltinMacros(.include_system_defines);
     var arena = std.heap.ArenaAllocator.init(std.testing.allocator);
     defer arena.deinit();
 
@@ -378,7 +378,7 @@ test "Allocation failures" {
         fn testOne(allocator: std.mem.Allocator) !void {
             var comp = Compilation.init(allocator);
             defer comp.deinit();
-            _ = try comp.generateBuiltinMacros();
+            _ = try comp.generateBuiltinMacros(.include_system_defines);
             var arena = std.heap.ArenaAllocator.init(comp.gpa);
             defer arena.deinit();
 
deps/aro/aro/char_info.zig
@@ -0,0 +1,1111 @@
+//! This module provides functions for classifying characters according to
+//! various C standards. All classification routines *do not* consider
+//! characters from the basic character set; it is assumed those will be
+//! checked separately
+//! isXidStart and isXidContinue are adapted from https://github.com/dtolnay/unicode-ident
+
+const assert = @import("std").debug.assert;
+const tables = @import("char_info/identifier_tables.zig");
+
+/// C11 Standard Annex D
+pub fn isC11IdChar(codepoint: u21) bool {
+    assert(codepoint > 0x7F);
+    return switch (codepoint) {
+        // 1
+        0x00A8,
+        0x00AA,
+        0x00AD,
+        0x00AF,
+        0x00B2...0x00B5,
+        0x00B7...0x00BA,
+        0x00BC...0x00BE,
+        0x00C0...0x00D6,
+        0x00D8...0x00F6,
+        0x00F8...0x00FF,
+
+        // 2
+        0x0100...0x167F,
+        0x1681...0x180D,
+        0x180F...0x1FFF,
+
+        // 3
+        0x200B...0x200D,
+        0x202A...0x202E,
+        0x203F...0x2040,
+        0x2054,
+        0x2060...0x206F,
+
+        // 4
+        0x2070...0x218F,
+        0x2460...0x24FF,
+        0x2776...0x2793,
+        0x2C00...0x2DFF,
+        0x2E80...0x2FFF,
+
+        // 5
+        0x3004...0x3007,
+        0x3021...0x302F,
+        0x3031...0x303F,
+
+        // 6
+        0x3040...0xD7FF,
+
+        // 7
+        0xF900...0xFD3D,
+        0xFD40...0xFDCF,
+        0xFDF0...0xFE44,
+        0xFE47...0xFFFD,
+
+        // 8
+        0x10000...0x1FFFD,
+        0x20000...0x2FFFD,
+        0x30000...0x3FFFD,
+        0x40000...0x4FFFD,
+        0x50000...0x5FFFD,
+        0x60000...0x6FFFD,
+        0x70000...0x7FFFD,
+        0x80000...0x8FFFD,
+        0x90000...0x9FFFD,
+        0xA0000...0xAFFFD,
+        0xB0000...0xBFFFD,
+        0xC0000...0xCFFFD,
+        0xD0000...0xDFFFD,
+        0xE0000...0xEFFFD,
+        => true,
+        else => false,
+    };
+}
+
+/// C99 Standard Annex D
+pub fn isC99IdChar(codepoint: u21) bool {
+    assert(codepoint > 0x7F);
+    return switch (codepoint) {
+        // Latin
+        0x00AA,
+        0x00BA,
+        0x00C0...0x00D6,
+        0x00D8...0x00F6,
+        0x00F8...0x01F5,
+        0x01FA...0x0217,
+        0x0250...0x02A8,
+        0x1E00...0x1E9B,
+        0x1EA0...0x1EF9,
+        0x207F,
+
+        // Greek
+        0x0386,
+        0x0388...0x038A,
+        0x038C,
+        0x038E...0x03A1,
+        0x03A3...0x03CE,
+        0x03D0...0x03D6,
+        0x03DA,
+        0x03DC,
+        0x03DE,
+        0x03E0,
+        0x03E2...0x03F3,
+        0x1F00...0x1F15,
+        0x1F18...0x1F1D,
+        0x1F20...0x1F45,
+        0x1F48...0x1F4D,
+        0x1F50...0x1F57,
+        0x1F59,
+        0x1F5B,
+        0x1F5D,
+        0x1F5F...0x1F7D,
+        0x1F80...0x1FB4,
+        0x1FB6...0x1FBC,
+        0x1FC2...0x1FC4,
+        0x1FC6...0x1FCC,
+        0x1FD0...0x1FD3,
+        0x1FD6...0x1FDB,
+        0x1FE0...0x1FEC,
+        0x1FF2...0x1FF4,
+        0x1FF6...0x1FFC,
+
+        // Cyrillic
+        0x0401...0x040C,
+        0x040E...0x044F,
+        0x0451...0x045C,
+        0x045E...0x0481,
+        0x0490...0x04C4,
+        0x04C7...0x04C8,
+        0x04CB...0x04CC,
+        0x04D0...0x04EB,
+        0x04EE...0x04F5,
+        0x04F8...0x04F9,
+
+        // Armenian
+        0x0531...0x0556,
+        0x0561...0x0587,
+
+        // Hebrew
+        0x05B0...0x05B9,
+        0x05BB...0x05BD,
+        0x05BF,
+        0x05C1...0x05C2,
+        0x05D0...0x05EA,
+        0x05F0...0x05F2,
+
+        // Arabic
+        0x0621...0x063A,
+        0x0640...0x0652,
+        0x0670...0x06B7,
+        0x06BA...0x06BE,
+        0x06C0...0x06CE,
+        0x06D0...0x06DC,
+        0x06E5...0x06E8,
+        0x06EA...0x06ED,
+
+        // Devanagari
+        0x0901...0x0903,
+        0x0905...0x0939,
+        0x093E...0x094D,
+        0x0950...0x0952,
+        0x0958...0x0963,
+
+        // Bengali
+        0x0981...0x0983,
+        0x0985...0x098C,
+        0x098F...0x0990,
+        0x0993...0x09A8,
+        0x09AA...0x09B0,
+        0x09B2,
+        0x09B6...0x09B9,
+        0x09BE...0x09C4,
+        0x09C7...0x09C8,
+        0x09CB...0x09CD,
+        0x09DC...0x09DD,
+        0x09DF...0x09E3,
+        0x09F0...0x09F1,
+
+        // Gurmukhi
+        0x0A02,
+        0x0A05...0x0A0A,
+        0x0A0F...0x0A10,
+        0x0A13...0x0A28,
+        0x0A2A...0x0A30,
+        0x0A32...0x0A33,
+        0x0A35...0x0A36,
+        0x0A38...0x0A39,
+        0x0A3E...0x0A42,
+        0x0A47...0x0A48,
+        0x0A4B...0x0A4D,
+        0x0A59...0x0A5C,
+        0x0A5E,
+        0x0A74,
+
+        // Gujarati
+        0x0A81...0x0A83,
+        0x0A85...0x0A8B,
+        0x0A8D,
+        0x0A8F...0x0A91,
+        0x0A93...0x0AA8,
+        0x0AAA...0x0AB0,
+        0x0AB2...0x0AB3,
+        0x0AB5...0x0AB9,
+        0x0ABD...0x0AC5,
+        0x0AC7...0x0AC9,
+        0x0ACB...0x0ACD,
+        0x0AD0,
+        0x0AE0,
+
+        // Oriya
+        0x0B01...0x0B03,
+        0x0B05...0x0B0C,
+        0x0B0F...0x0B10,
+        0x0B13...0x0B28,
+        0x0B2A...0x0B30,
+        0x0B32...0x0B33,
+        0x0B36...0x0B39,
+        0x0B3E...0x0B43,
+        0x0B47...0x0B48,
+        0x0B4B...0x0B4D,
+        0x0B5C...0x0B5D,
+        0x0B5F...0x0B61,
+
+        // Tamil
+        0x0B82...0x0B83,
+        0x0B85...0x0B8A,
+        0x0B8E...0x0B90,
+        0x0B92...0x0B95,
+        0x0B99...0x0B9A,
+        0x0B9C,
+        0x0B9E...0x0B9F,
+        0x0BA3...0x0BA4,
+        0x0BA8...0x0BAA,
+        0x0BAE...0x0BB5,
+        0x0BB7...0x0BB9,
+        0x0BBE...0x0BC2,
+        0x0BC6...0x0BC8,
+        0x0BCA...0x0BCD,
+
+        // Telugu
+        0x0C01...0x0C03,
+        0x0C05...0x0C0C,
+        0x0C0E...0x0C10,
+        0x0C12...0x0C28,
+        0x0C2A...0x0C33,
+        0x0C35...0x0C39,
+        0x0C3E...0x0C44,
+        0x0C46...0x0C48,
+        0x0C4A...0x0C4D,
+        0x0C60...0x0C61,
+
+        // Kannada
+        0x0C82...0x0C83,
+        0x0C85...0x0C8C,
+        0x0C8E...0x0C90,
+        0x0C92...0x0CA8,
+        0x0CAA...0x0CB3,
+        0x0CB5...0x0CB9,
+        0x0CBE...0x0CC4,
+        0x0CC6...0x0CC8,
+        0x0CCA...0x0CCD,
+        0x0CDE,
+        0x0CE0...0x0CE1,
+
+        // Malayalam
+        0x0D02...0x0D03,
+        0x0D05...0x0D0C,
+        0x0D0E...0x0D10,
+        0x0D12...0x0D28,
+        0x0D2A...0x0D39,
+        0x0D3E...0x0D43,
+        0x0D46...0x0D48,
+        0x0D4A...0x0D4D,
+        0x0D60...0x0D61,
+
+        // Thai (excluding digits 0x0E50...0x0E59; originally 0x0E01...0x0E3A and 0x0E40...0x0E5B
+        0x0E01...0x0E3A,
+        0x0E40...0x0E4F,
+        0x0E5A...0x0E5B,
+
+        // Lao
+        0x0E81...0x0E82,
+        0x0E84,
+        0x0E87...0x0E88,
+        0x0E8A,
+        0x0E8D,
+        0x0E94...0x0E97,
+        0x0E99...0x0E9F,
+        0x0EA1...0x0EA3,
+        0x0EA5,
+        0x0EA7,
+        0x0EAA...0x0EAB,
+        0x0EAD...0x0EAE,
+        0x0EB0...0x0EB9,
+        0x0EBB...0x0EBD,
+        0x0EC0...0x0EC4,
+        0x0EC6,
+        0x0EC8...0x0ECD,
+        0x0EDC...0x0EDD,
+
+        // Tibetan
+        0x0F00,
+        0x0F18...0x0F19,
+        0x0F35,
+        0x0F37,
+        0x0F39,
+        0x0F3E...0x0F47,
+        0x0F49...0x0F69,
+        0x0F71...0x0F84,
+        0x0F86...0x0F8B,
+        0x0F90...0x0F95,
+        0x0F97,
+        0x0F99...0x0FAD,
+        0x0FB1...0x0FB7,
+        0x0FB9,
+
+        // Georgian
+        0x10A0...0x10C5,
+        0x10D0...0x10F6,
+
+        // Hiragana
+        0x3041...0x3093,
+        0x309B...0x309C,
+
+        // Katakana
+        0x30A1...0x30F6,
+        0x30FB...0x30FC,
+
+        // Bopomofo
+        0x3105...0x312C,
+
+        // CJK Unified Ideographs
+        0x4E00...0x9FA5,
+
+        // Hangul
+        0xAC00...0xD7A3,
+
+        // Digits
+        0x0660...0x0669,
+        0x06F0...0x06F9,
+        0x0966...0x096F,
+        0x09E6...0x09EF,
+        0x0A66...0x0A6F,
+        0x0AE6...0x0AEF,
+        0x0B66...0x0B6F,
+        0x0BE7...0x0BEF,
+        0x0C66...0x0C6F,
+        0x0CE6...0x0CEF,
+        0x0D66...0x0D6F,
+        0x0E50...0x0E59,
+        0x0ED0...0x0ED9,
+        0x0F20...0x0F33,
+
+        // Special characters
+        0x00B5,
+        0x00B7,
+        0x02B0...0x02B8,
+        0x02BB,
+        0x02BD...0x02C1,
+        0x02D0...0x02D1,
+        0x02E0...0x02E4,
+        0x037A,
+        0x0559,
+        0x093D,
+        0x0B3D,
+        0x1FBE,
+        0x203F...0x2040,
+        0x2102,
+        0x2107,
+        0x210A...0x2113,
+        0x2115,
+        0x2118...0x211D,
+        0x2124,
+        0x2126,
+        0x2128,
+        0x212A...0x2131,
+        0x2133...0x2138,
+        0x2160...0x2182,
+        0x3005...0x3007,
+        0x3021...0x3029,
+        => true,
+        else => false,
+    };
+}
+
+/// C11 standard Annex D
+pub fn isC11DisallowedInitialIdChar(codepoint: u21) bool {
+    assert(codepoint > 0x7F);
+    return switch (codepoint) {
+        0x0300...0x036F,
+        0x1DC0...0x1DFF,
+        0x20D0...0x20FF,
+        0xFE20...0xFE2F,
+        => true,
+        else => false,
+    };
+}
+
+/// These are "digit" characters; C99 disallows them as the first
+/// character of an identifier
+pub fn isC99DisallowedInitialIDChar(codepoint: u21) bool {
+    assert(codepoint > 0x7F);
+    return switch (codepoint) {
+        0x0660...0x0669,
+        0x06F0...0x06F9,
+        0x0966...0x096F,
+        0x09E6...0x09EF,
+        0x0A66...0x0A6F,
+        0x0AE6...0x0AEF,
+        0x0B66...0x0B6F,
+        0x0BE7...0x0BEF,
+        0x0C66...0x0C6F,
+        0x0CE6...0x0CEF,
+        0x0D66...0x0D6F,
+        0x0E50...0x0E59,
+        0x0ED0...0x0ED9,
+        0x0F20...0x0F33,
+        => true,
+        else => false,
+    };
+}
+
+pub fn isInvisible(codepoint: u21) bool {
+    assert(codepoint > 0x7F);
+    return switch (codepoint) {
+        0x00ad, // SOFT HYPHEN
+        0x200b, // ZERO WIDTH SPACE
+        0x200c, // ZERO WIDTH NON-JOINER
+        0x200d, // ZERO WIDTH JOINER
+        0x2060, // WORD JOINER
+        0x2061, // FUNCTION APPLICATION
+        0x2062, // INVISIBLE TIMES
+        0x2063, // INVISIBLE SEPARATOR
+        0x2064, // INVISIBLE PLUS
+        0xfeff, // ZERO WIDTH NO-BREAK SPACE
+        => true,
+        else => false,
+    };
+}
+
+/// Checks for identifier characters which resemble non-identifier characters
+pub fn homoglyph(codepoint: u21) ?u21 {
+    assert(codepoint > 0x7F);
+    return switch (codepoint) {
+        0x01c3 => '!', // LATIN LETTER RETROFLEX CLICK
+        0x037e => ';', // GREEK QUESTION MARK
+        0x2212 => '-', // MINUS SIGN
+        0x2215 => '/', // DIVISION SLASH
+        0x2216 => '\\', // SET MINUS
+        0x2217 => '*', // ASTERISK OPERATOR
+        0x2223 => '|', // DIVIDES
+        0x2227 => '^', // LOGICAL AND
+        0x2236 => ':', // RATIO
+        0x223c => '~', // TILDE OPERATOR
+        0xa789 => ':', // MODIFIER LETTER COLON
+        0xff01 => '!', // FULLWIDTH EXCLAMATION MARK
+        0xff03 => '#', // FULLWIDTH NUMBER SIGN
+        0xff04 => '$', // FULLWIDTH DOLLAR SIGN
+        0xff05 => '%', // FULLWIDTH PERCENT SIGN
+        0xff06 => '&', // FULLWIDTH AMPERSAND
+        0xff08 => '(', // FULLWIDTH LEFT PARENTHESIS
+        0xff09 => ')', // FULLWIDTH RIGHT PARENTHESIS
+        0xff0a => '*', // FULLWIDTH ASTERISK
+        0xff0b => '+', // FULLWIDTH ASTERISK
+        0xff0c => ',', // FULLWIDTH COMMA
+        0xff0d => '-', // FULLWIDTH HYPHEN-MINUS
+        0xff0e => '.', // FULLWIDTH FULL STOP
+        0xff0f => '/', // FULLWIDTH SOLIDUS
+        0xff1a => ':', // FULLWIDTH COLON
+        0xff1b => ';', // FULLWIDTH SEMICOLON
+        0xff1c => '<', // FULLWIDTH LESS-THAN SIGN
+        0xff1d => '=', // FULLWIDTH EQUALS SIGN
+        0xff1e => '>', // FULLWIDTH GREATER-THAN SIGN
+        0xff1f => '?', // FULLWIDTH QUESTION MARK
+        0xff20 => '@', // FULLWIDTH COMMERCIAL AT
+        0xff3b => '[', // FULLWIDTH LEFT SQUARE BRACKET
+        0xff3c => '\\', // FULLWIDTH REVERSE SOLIDUS
+        0xff3d => ']', // FULLWIDTH RIGHT SQUARE BRACKET
+        0xff3e => '^', // FULLWIDTH CIRCUMFLEX ACCENT
+        0xff5b => '{', // FULLWIDTH LEFT CURLY BRACKET
+        0xff5c => '|', // FULLWIDTH VERTICAL LINE
+        0xff5d => '}', // FULLWIDTH RIGHT CURLY BRACKET
+        0xff5e => '~', // FULLWIDTH TILDE
+        else => null,
+    };
+}
+
+pub fn isXidStart(c: u21) bool {
+    assert(c > 0x7F);
+    const idx = c / 8 / tables.chunk;
+    const chunk: usize = if (idx < tables.trie_start.len) tables.trie_start[idx] else 0;
+    const offset = chunk * tables.chunk / 2 + c / 8 % tables.chunk;
+    return (tables.leaf[offset] >> (@as(u3, @intCast(c % 8)))) & 1 != 0;
+}
+
+pub fn isXidContinue(c: u21) bool {
+    assert(c > 0x7F);
+    const idx = c / 8 / tables.chunk;
+    const chunk: usize = if (idx < tables.trie_continue.len) tables.trie_continue[idx] else 0;
+    const offset = chunk * tables.chunk / 2 + c / 8 % tables.chunk;
+    return (tables.leaf[offset] >> (@as(u3, @intCast(c % 8)))) & 1 != 0;
+}
+
+test "isXidStart / isXidContinue panic check" {
+    const std = @import("std");
+    for (0x80..0x110000) |i| {
+        const c: u21 = @intCast(i);
+        if (std.unicode.utf8ValidCodepoint(c)) {
+            _ = isXidStart(c);
+            _ = isXidContinue(c);
+        }
+    }
+}
+
+test isXidStart {
+    const std = @import("std");
+    try std.testing.expect(!isXidStart('᠑'));
+    try std.testing.expect(!isXidStart('™'));
+    try std.testing.expect(!isXidStart('£'));
+    try std.testing.expect(!isXidStart('\u{1f914}')); // 🤔
+}
+
+test isXidContinue {
+    const std = @import("std");
+    try std.testing.expect(isXidContinue('᠑'));
+    try std.testing.expect(!isXidContinue('™'));
+    try std.testing.expect(!isXidContinue('£'));
+    try std.testing.expect(!isXidContinue('\u{1f914}')); // 🤔
+}
+
+pub const NfcQuickCheck = enum { no, maybe, yes };
+
+pub fn isNormalized(codepoint: u21) NfcQuickCheck {
+    return switch (codepoint) {
+        0x0340...0x0341,
+        0x0343...0x0344,
+        0x0374,
+        0x037E,
+        0x0387,
+        0x0958...0x095F,
+        0x09DC...0x09DD,
+        0x09DF,
+        0x0A33,
+        0x0A36,
+        0x0A59...0x0A5B,
+        0x0A5E,
+        0x0B5C...0x0B5D,
+        0x0F43,
+        0x0F4D,
+        0x0F52,
+        0x0F57,
+        0x0F5C,
+        0x0F69,
+        0x0F73,
+        0x0F75...0x0F76,
+        0x0F78,
+        0x0F81,
+        0x0F93,
+        0x0F9D,
+        0x0FA2,
+        0x0FA7,
+        0x0FAC,
+        0x0FB9,
+        0x1F71,
+        0x1F73,
+        0x1F75,
+        0x1F77,
+        0x1F79,
+        0x1F7B,
+        0x1F7D,
+        0x1FBB,
+        0x1FBE,
+        0x1FC9,
+        0x1FCB,
+        0x1FD3,
+        0x1FDB,
+        0x1FE3,
+        0x1FEB,
+        0x1FEE...0x1FEF,
+        0x1FF9,
+        0x1FFB,
+        0x1FFD,
+        0x2000...0x2001,
+        0x2126,
+        0x212A...0x212B,
+        0x2329,
+        0x232A,
+        0x2ADC,
+        0xF900...0xFA0D,
+        0xFA10,
+        0xFA12,
+        0xFA15...0xFA1E,
+        0xFA20,
+        0xFA22,
+        0xFA25...0xFA26,
+        0xFA2A...0xFA6D,
+        0xFA70...0xFAD9,
+        0xFB1D,
+        0xFB1F,
+        0xFB2A...0xFB36,
+        0xFB38...0xFB3C,
+        0xFB3E,
+        0xFB40...0xFB41,
+        0xFB43...0xFB44,
+        0xFB46...0xFB4E,
+        0x1D15E...0x1D164,
+        0x1D1BB...0x1D1C0,
+        0x2F800...0x2FA1D,
+        => .no,
+        0x0300...0x0304,
+        0x0306...0x030C,
+        0x030F,
+        0x0311,
+        0x0313...0x0314,
+        0x031B,
+        0x0323...0x0328,
+        0x032D...0x032E,
+        0x0330...0x0331,
+        0x0338,
+        0x0342,
+        0x0345,
+        0x0653...0x0655,
+        0x093C,
+        0x09BE,
+        0x09D7,
+        0x0B3E,
+        0x0B56,
+        0x0B57,
+        0x0BBE,
+        0x0BD7,
+        0x0C56,
+        0x0CC2,
+        0x0CD5...0x0CD6,
+        0x0D3E,
+        0x0D57,
+        0x0DCA,
+        0x0DCF,
+        0x0DDF,
+        0x102E,
+        0x1161...0x1175,
+        0x11A8...0x11C2,
+        0x1B35,
+        0x3099...0x309A,
+        0x110BA,
+        0x11127,
+        0x1133E,
+        0x11357,
+        0x114B0,
+        0x114BA,
+        0x114BD,
+        0x115AF,
+        => .maybe,
+        else => .yes,
+    };
+}
+
+pub const CanonicalCombiningClass = enum(u8) {
+    not_reordered = 0,
+    overlay = 1,
+    han_reading = 6,
+    nukta = 7,
+    kana_voicing = 8,
+    virama = 9,
+    ccc10 = 10,
+    ccc11 = 11,
+    ccc12 = 12,
+    ccc13 = 13,
+    ccc14 = 14,
+    ccc15 = 15,
+    ccc16 = 16,
+    ccc17 = 17,
+    ccc18 = 18,
+    ccc19 = 19,
+    ccc20 = 20,
+    ccc21 = 21,
+    ccc22 = 22,
+    ccc23 = 23,
+    ccc24 = 24,
+    ccc25 = 25,
+    ccc26 = 26,
+    ccc27 = 27,
+    ccc28 = 28,
+    ccc29 = 29,
+    ccc30 = 30,
+    ccc31 = 31,
+    ccc32 = 32,
+    ccc33 = 33,
+    ccc34 = 34,
+    ccc35 = 35,
+    ccc36 = 36,
+    ccc84 = 84,
+    ccc91 = 91,
+    ccc103 = 103,
+    ccc107 = 107,
+    ccc118 = 118,
+    ccc122 = 122,
+    ccc129 = 129,
+    ccc130 = 130,
+    ccc132 = 132,
+    attached_below = 202,
+    attached_above = 214,
+    attached_above_right = 216,
+    below_left = 218,
+    below = 220,
+    below_right = 222,
+    left = 224,
+    right = 226,
+    above_left = 228,
+    above = 230,
+    above_right = 232,
+    double_below = 233,
+    double_above = 234,
+    iota_subscript = 240,
+};
+
+pub fn getCanonicalClass(codepoint: u21) CanonicalCombiningClass {
+    return switch (codepoint) {
+        0x300...0x314 => .above,
+        0x315...0x315 => .above_right,
+        0x316...0x319 => .below,
+        0x31A...0x31A => .above_right,
+        0x31B...0x31B => .attached_above_right,
+        0x31C...0x320 => .below,
+        0x321...0x322 => .attached_below,
+        0x323...0x326 => .below,
+        0x327...0x328 => .attached_below,
+        0x329...0x333 => .below,
+        0x334...0x338 => .overlay,
+        0x339...0x33C => .below,
+        0x33D...0x344 => .above,
+        0x345...0x345 => .iota_subscript,
+        0x346...0x346 => .above,
+        0x347...0x349 => .below,
+        0x34A...0x34C => .above,
+        0x34D...0x34E => .below,
+        0x350...0x352 => .above,
+        0x353...0x356 => .below,
+        0x357...0x357 => .above,
+        0x358...0x358 => .above_right,
+        0x359...0x35A => .below,
+        0x35B...0x35B => .above,
+        0x35C...0x35C => .double_below,
+        0x35D...0x35E => .double_above,
+        0x35F...0x35F => .double_below,
+        0x360...0x361 => .double_above,
+        0x362...0x362 => .double_below,
+        0x363...0x36F => .above,
+        0x483...0x487 => .above,
+        0x591...0x591 => .below,
+        0x592...0x595 => .above,
+        0x596...0x596 => .below,
+        0x597...0x599 => .above,
+        0x59A...0x59A => .below_right,
+        0x59B...0x59B => .below,
+        0x59C...0x5A1 => .above,
+        0x5A2...0x5A7 => .below,
+        0x5A8...0x5A9 => .above,
+        0x5AA...0x5AA => .below,
+        0x5AB...0x5AC => .above,
+        0x5AD...0x5AD => .below_right,
+        0x5AE...0x5AE => .above_left,
+        0x5AF...0x5AF => .above,
+        0x5B0...0x5B0 => .ccc10,
+        0x5B1...0x5B1 => .ccc11,
+        0x5B2...0x5B2 => .ccc12,
+        0x5B3...0x5B3 => .ccc13,
+        0x5B4...0x5B4 => .ccc14,
+        0x5B5...0x5B5 => .ccc15,
+        0x5B6...0x5B6 => .ccc16,
+        0x5B7...0x5B7 => .ccc17,
+        0x5B8...0x5B8 => .ccc18,
+        0x5B9...0x5BA => .ccc19,
+        0x5BB...0x5BB => .ccc20,
+        0x5BC...0x5BC => .ccc21,
+        0x5BD...0x5BD => .ccc22,
+        0x5BF...0x5BF => .ccc23,
+        0x5C1...0x5C1 => .ccc24,
+        0x5C2...0x5C2 => .ccc25,
+        0x5C4...0x5C4 => .above,
+        0x5C5...0x5C5 => .below,
+        0x5C7...0x5C7 => .ccc18,
+        0x610...0x617 => .above,
+        0x618...0x618 => .ccc30,
+        0x619...0x619 => .ccc31,
+        0x61A...0x61A => .ccc32,
+        0x64B...0x64B => .ccc27,
+        0x64C...0x64C => .ccc28,
+        0x64D...0x64D => .ccc29,
+        0x64E...0x64E => .ccc30,
+        0x64F...0x64F => .ccc31,
+        0x650...0x650 => .ccc32,
+        0x651...0x651 => .ccc33,
+        0x652...0x652 => .ccc34,
+        0x653...0x654 => .above,
+        0x655...0x656 => .below,
+        0x657...0x65B => .above,
+        0x65C...0x65C => .below,
+        0x65D...0x65E => .above,
+        0x65F...0x65F => .below,
+        0x670...0x670 => .ccc35,
+        0x6D6...0x6DC => .above,
+        0x6DF...0x6E2 => .above,
+        0x6E3...0x6E3 => .below,
+        0x6E4...0x6E4 => .above,
+        0x6E7...0x6E8 => .above,
+        0x6EA...0x6EA => .below,
+        0x6EB...0x6EC => .above,
+        0x6ED...0x6ED => .below,
+        0x711...0x711 => .ccc36,
+        0x730...0x730 => .above,
+        0x731...0x731 => .below,
+        0x732...0x733 => .above,
+        0x734...0x734 => .below,
+        0x735...0x736 => .above,
+        0x737...0x739 => .below,
+        0x73A...0x73A => .above,
+        0x73B...0x73C => .below,
+        0x73D...0x73D => .above,
+        0x73E...0x73E => .below,
+        0x73F...0x741 => .above,
+        0x742...0x742 => .below,
+        0x743...0x743 => .above,
+        0x744...0x744 => .below,
+        0x745...0x745 => .above,
+        0x746...0x746 => .below,
+        0x747...0x747 => .above,
+        0x748...0x748 => .below,
+        0x749...0x74A => .above,
+        0x7EB...0x7F1 => .above,
+        0x7F2...0x7F2 => .below,
+        0x7F3...0x7F3 => .above,
+        0x7FD...0x7FD => .below,
+        0x816...0x819 => .above,
+        0x81B...0x823 => .above,
+        0x825...0x827 => .above,
+        0x829...0x82D => .above,
+        0x859...0x85B => .below,
+        0x898...0x898 => .above,
+        0x899...0x89B => .below,
+        0x89C...0x89F => .above,
+        0x8CA...0x8CE => .above,
+        0x8CF...0x8D3 => .below,
+        0x8D4...0x8E1 => .above,
+        0x8E3...0x8E3 => .below,
+        0x8E4...0x8E5 => .above,
+        0x8E6...0x8E6 => .below,
+        0x8E7...0x8E8 => .above,
+        0x8E9...0x8E9 => .below,
+        0x8EA...0x8EC => .above,
+        0x8ED...0x8EF => .below,
+        0x8F0...0x8F0 => .ccc27,
+        0x8F1...0x8F1 => .ccc28,
+        0x8F2...0x8F2 => .ccc29,
+        0x8F3...0x8F5 => .above,
+        0x8F6...0x8F6 => .below,
+        0x8F7...0x8F8 => .above,
+        0x8F9...0x8FA => .below,
+        0x8FB...0x8FF => .above,
+        0x93C...0x93C => .nukta,
+        0x94D...0x94D => .virama,
+        0x951...0x951 => .above,
+        0x952...0x952 => .below,
+        0x953...0x954 => .above,
+        0x9BC...0x9BC => .nukta,
+        0x9CD...0x9CD => .virama,
+        0x9FE...0x9FE => .above,
+        0xA3C...0xA3C => .nukta,
+        0xA4D...0xA4D => .virama,
+        0xABC...0xABC => .nukta,
+        0xACD...0xACD => .virama,
+        0xB3C...0xB3C => .nukta,
+        0xB4D...0xB4D => .virama,
+        0xBCD...0xBCD => .virama,
+        0xC3C...0xC3C => .nukta,
+        0xC4D...0xC4D => .virama,
+        0xC55...0xC55 => .ccc84,
+        0xC56...0xC56 => .ccc91,
+        0xCBC...0xCBC => .nukta,
+        0xCCD...0xCCD => .virama,
+        0xD3B...0xD3C => .virama,
+        0xD4D...0xD4D => .virama,
+        0xDCA...0xDCA => .virama,
+        0xE38...0xE39 => .ccc103,
+        0xE3A...0xE3A => .virama,
+        0xE48...0xE4B => .ccc107,
+        0xEB8...0xEB9 => .ccc118,
+        0xEBA...0xEBA => .virama,
+        0xEC8...0xECB => .ccc122,
+        0xF18...0xF19 => .below,
+        0xF35...0xF35 => .below,
+        0xF37...0xF37 => .below,
+        0xF39...0xF39 => .attached_above_right,
+        0xF71...0xF71 => .ccc129,
+        0xF72...0xF72 => .ccc130,
+        0xF74...0xF74 => .ccc132,
+        0xF7A...0xF7D => .ccc130,
+        0xF80...0xF80 => .ccc130,
+        0xF82...0xF83 => .above,
+        0xF84...0xF84 => .virama,
+        0xF86...0xF87 => .above,
+        0xFC6...0xFC6 => .below,
+        0x1037...0x1037 => .nukta,
+        0x1039...0x103A => .virama,
+        0x108D...0x108D => .below,
+        0x135D...0x135F => .above,
+        0x1714...0x1715 => .virama,
+        0x1734...0x1734 => .virama,
+        0x17D2...0x17D2 => .virama,
+        0x17DD...0x17DD => .above,
+        0x18A9...0x18A9 => .above_left,
+        0x1939...0x1939 => .below_right,
+        0x193A...0x193A => .above,
+        0x193B...0x193B => .below,
+        0x1A17...0x1A17 => .above,
+        0x1A18...0x1A18 => .below,
+        0x1A60...0x1A60 => .virama,
+        0x1A75...0x1A7C => .above,
+        0x1A7F...0x1A7F => .below,
+        0x1AB0...0x1AB4 => .above,
+        0x1AB5...0x1ABA => .below,
+        0x1ABB...0x1ABC => .above,
+        0x1ABD...0x1ABD => .below,
+        0x1ABF...0x1AC0 => .below,
+        0x1AC1...0x1AC2 => .above,
+        0x1AC3...0x1AC4 => .below,
+        0x1AC5...0x1AC9 => .above,
+        0x1ACA...0x1ACA => .below,
+        0x1ACB...0x1ACE => .above,
+        0x1B34...0x1B34 => .nukta,
+        0x1B44...0x1B44 => .virama,
+        0x1B6B...0x1B6B => .above,
+        0x1B6C...0x1B6C => .below,
+        0x1B6D...0x1B73 => .above,
+        0x1BAA...0x1BAB => .virama,
+        0x1BE6...0x1BE6 => .nukta,
+        0x1BF2...0x1BF3 => .virama,
+        0x1C37...0x1C37 => .nukta,
+        0x1CD0...0x1CD2 => .above,
+        0x1CD4...0x1CD4 => .overlay,
+        0x1CD5...0x1CD9 => .below,
+        0x1CDA...0x1CDB => .above,
+        0x1CDC...0x1CDF => .below,
+        0x1CE0...0x1CE0 => .above,
+        0x1CE2...0x1CE8 => .overlay,
+        0x1CED...0x1CED => .below,
+        0x1CF4...0x1CF4 => .above,
+        0x1CF8...0x1CF9 => .above,
+        0x1DC0...0x1DC1 => .above,
+        0x1DC2...0x1DC2 => .below,
+        0x1DC3...0x1DC9 => .above,
+        0x1DCA...0x1DCA => .below,
+        0x1DCB...0x1DCC => .above,
+        0x1DCD...0x1DCD => .double_above,
+        0x1DCE...0x1DCE => .attached_above,
+        0x1DCF...0x1DCF => .below,
+        0x1DD0...0x1DD0 => .attached_below,
+        0x1DD1...0x1DF5 => .above,
+        0x1DF6...0x1DF6 => .above_right,
+        0x1DF7...0x1DF8 => .above_left,
+        0x1DF9...0x1DF9 => .below,
+        0x1DFA...0x1DFA => .below_left,
+        0x1DFB...0x1DFB => .above,
+        0x1DFC...0x1DFC => .double_below,
+        0x1DFD...0x1DFD => .below,
+        0x1DFE...0x1DFE => .above,
+        0x1DFF...0x1DFF => .below,
+        0x20D0...0x20D1 => .above,
+        0x20D2...0x20D3 => .overlay,
+        0x20D4...0x20D7 => .above,
+        0x20D8...0x20DA => .overlay,
+        0x20DB...0x20DC => .above,
+        0x20E1...0x20E1 => .above,
+        0x20E5...0x20E6 => .overlay,
+        0x20E7...0x20E7 => .above,
+        0x20E8...0x20E8 => .below,
+        0x20E9...0x20E9 => .above,
+        0x20EA...0x20EB => .overlay,
+        0x20EC...0x20EF => .below,
+        0x20F0...0x20F0 => .above,
+        0x2CEF...0x2CF1 => .above,
+        0x2D7F...0x2D7F => .virama,
+        0x2DE0...0x2DFF => .above,
+        0x302A...0x302A => .below_left,
+        0x302B...0x302B => .above_left,
+        0x302C...0x302C => .above_right,
+        0x302D...0x302D => .below_right,
+        0x302E...0x302F => .left,
+        0x3099...0x309A => .kana_voicing,
+        0xA66F...0xA66F => .above,
+        0xA674...0xA67D => .above,
+        0xA69E...0xA69F => .above,
+        0xA6F0...0xA6F1 => .above,
+        0xA806...0xA806 => .virama,
+        0xA82C...0xA82C => .virama,
+        0xA8C4...0xA8C4 => .virama,
+        0xA8E0...0xA8F1 => .above,
+        0xA92B...0xA92D => .below,
+        0xA953...0xA953 => .virama,
+        0xA9B3...0xA9B3 => .nukta,
+        0xA9C0...0xA9C0 => .virama,
+        0xAAB0...0xAAB0 => .above,
+        0xAAB2...0xAAB3 => .above,
+        0xAAB4...0xAAB4 => .below,
+        0xAAB7...0xAAB8 => .above,
+        0xAABE...0xAABF => .above,
+        0xAAC1...0xAAC1 => .above,
+        0xAAF6...0xAAF6 => .virama,
+        0xABED...0xABED => .virama,
+        0xFB1E...0xFB1E => .ccc26,
+        0xFE20...0xFE26 => .above,
+        0xFE27...0xFE2D => .below,
+        0xFE2E...0xFE2F => .above,
+        0x101FD...0x101FD => .below,
+        0x102E0...0x102E0 => .below,
+        0x10376...0x1037A => .above,
+        0x10A0D...0x10A0D => .below,
+        0x10A0F...0x10A0F => .above,
+        0x10A38...0x10A38 => .above,
+        0x10A39...0x10A39 => .overlay,
+        0x10A3A...0x10A3A => .below,
+        0x10A3F...0x10A3F => .virama,
+        0x10AE5...0x10AE5 => .above,
+        0x10AE6...0x10AE6 => .below,
+        0x10D24...0x10D27 => .above,
+        0x10EAB...0x10EAC => .above,
+        0x10EFD...0x10EFF => .below,
+        0x10F46...0x10F47 => .below,
+        0x10F48...0x10F4A => .above,
+        0x10F4B...0x10F4B => .below,
+        0x10F4C...0x10F4C => .above,
+        0x10F4D...0x10F50 => .below,
+        0x10F82...0x10F82 => .above,
+        0x10F83...0x10F83 => .below,
+        0x10F84...0x10F84 => .above,
+        0x10F85...0x10F85 => .below,
+        0x11046...0x11046 => .virama,
+        0x11070...0x11070 => .virama,
+        0x1107F...0x1107F => .virama,
+        0x110B9...0x110B9 => .virama,
+        0x110BA...0x110BA => .nukta,
+        0x11100...0x11102 => .above,
+        0x11133...0x11134 => .virama,
+        0x11173...0x11173 => .nukta,
+        0x111C0...0x111C0 => .virama,
+        0x111CA...0x111CA => .nukta,
+        0x11235...0x11235 => .virama,
+        0x11236...0x11236 => .nukta,
+        0x112E9...0x112E9 => .nukta,
+        0x112EA...0x112EA => .virama,
+        0x1133B...0x1133C => .nukta,
+        0x1134D...0x1134D => .virama,
+        0x11366...0x1136C => .above,
+        0x11370...0x11374 => .above,
+        0x11442...0x11442 => .virama,
+        0x11446...0x11446 => .nukta,
+        0x1145E...0x1145E => .above,
+        0x114C2...0x114C2 => .virama,
+        0x114C3...0x114C3 => .nukta,
+        0x115BF...0x115BF => .virama,
+        0x115C0...0x115C0 => .nukta,
+        0x1163F...0x1163F => .virama,
+        0x116B6...0x116B6 => .virama,
+        0x116B7...0x116B7 => .nukta,
+        0x1172B...0x1172B => .virama,
+        0x11839...0x11839 => .virama,
+        0x1183A...0x1183A => .nukta,
+        0x1193D...0x1193E => .virama,
+        0x11943...0x11943 => .nukta,
+        0x119E0...0x119E0 => .virama,
+        0x11A34...0x11A34 => .virama,
+        0x11A47...0x11A47 => .virama,
+        0x11A99...0x11A99 => .virama,
+        0x11C3F...0x11C3F => .virama,
+        0x11D42...0x11D42 => .nukta,
+        0x11D44...0x11D45 => .virama,
+        0x11D97...0x11D97 => .virama,
+        0x11F41...0x11F42 => .virama,
+        0x16AF0...0x16AF4 => .overlay,
+        0x16B30...0x16B36 => .above,
+        0x16FF0...0x16FF1 => .han_reading,
+        0x1BC9E...0x1BC9E => .overlay,
+        0x1D165...0x1D166 => .attached_above_right,
+        0x1D167...0x1D169 => .overlay,
+        0x1D16D...0x1D16D => .right,
+        0x1D16E...0x1D172 => .attached_above_right,
+        0x1D17B...0x1D182 => .below,
+        0x1D185...0x1D189 => .above,
+        0x1D18A...0x1D18B => .below,
+        0x1D1AA...0x1D1AD => .above,
+        0x1D242...0x1D244 => .above,
+        0x1E000...0x1E006 => .above,
+        0x1E008...0x1E018 => .above,
+        0x1E01B...0x1E021 => .above,
+        0x1E023...0x1E024 => .above,
+        0x1E026...0x1E02A => .above,
+        0x1E08F...0x1E08F => .above,
+        0x1E130...0x1E136 => .above,
+        0x1E2AE...0x1E2AE => .above,
+        0x1E2EC...0x1E2EF => .above,
+        0x1E4EC...0x1E4ED => .above_right,
+        0x1E4EE...0x1E4EE => .below,
+        0x1E4EF...0x1E4EF => .above,
+        0x1E8D0...0x1E8D6 => .below,
+        0x1E944...0x1E949 => .above,
+        0x1E94A...0x1E94A => .nukta,
+        else => .not_reordered,
+    };
+}
deps/aro/CodeGen.zig → deps/aro/aro/CodeGen.zig
@@ -1,20 +1,20 @@
 const std = @import("std");
 const Allocator = std.mem.Allocator;
 const assert = std.debug.assert;
+const backend = @import("backend");
+const Interner = backend.Interner;
+const Ir = backend.Ir;
 const Builtins = @import("Builtins.zig");
 const Builtin = Builtins.Builtin;
 const Compilation = @import("Compilation.zig");
-const Interner = @import("Interner.zig");
-const Ir = @import("Ir.zig");
 const Builder = Ir.Builder;
-const StringId = @import("StringInterner.zig").StringId;
+const StrInt = @import("StringInterner.zig");
+const StringId = StrInt.StringId;
 const Tree = @import("Tree.zig");
 const NodeIndex = Tree.NodeIndex;
 const Type = @import("Type.zig");
 const Value = @import("Value.zig");
 
-const CodeGen = @This();
-
 const WipSwitch = struct {
     cases: Cases = .{},
     default: ?Ir.Ref = null,
@@ -33,6 +33,8 @@ const Symbol = struct {
 
 const Error = Compilation.Error;
 
+const CodeGen = @This();
+
 tree: Tree,
 comp: *Compilation,
 builder: Builder,
@@ -44,6 +46,7 @@ symbols: std.ArrayListUnmanaged(Symbol) = .{},
 ret_nodes: std.ArrayListUnmanaged(Ir.Inst.Phi.Input) = .{},
 phi_nodes: std.ArrayListUnmanaged(Ir.Inst.Phi.Input) = .{},
 record_elem_buf: std.ArrayListUnmanaged(Interner.Ref) = .{},
+record_cache: std.AutoHashMapUnmanaged(*Type.Record, Interner.Ref) = .{},
 cond_dummy_ty: ?Interner.Ref = null,
 bool_invert: bool = false,
 bool_end_label: Ir.Ref = .none,
@@ -52,28 +55,40 @@ continue_label: Ir.Ref = undefined,
 break_label: Ir.Ref = undefined,
 return_label: Ir.Ref = undefined,
 
-pub fn generateTree(comp: *Compilation, tree: Tree) Compilation.Error!void {
+fn fail(c: *CodeGen, comptime fmt: []const u8, args: anytype) error{ FatalError, OutOfMemory } {
+    try c.comp.diagnostics.list.append(c.comp.gpa, .{
+        .tag = .cli_error,
+        .kind = .@"fatal error",
+        .extra = .{ .str = try std.fmt.allocPrint(c.comp.diagnostics.arena.allocator(), fmt, args) },
+    });
+    return error.FatalError;
+}
+
+pub fn genIr(tree: Tree) Compilation.Error!Ir {
+    const gpa = tree.comp.gpa;
     var c = CodeGen{
         .builder = .{
-            .gpa = comp.gpa,
-            .arena = std.heap.ArenaAllocator.init(comp.gpa),
+            .gpa = tree.comp.gpa,
+            .interner = &tree.comp.interner,
+            .arena = std.heap.ArenaAllocator.init(gpa),
         },
         .tree = tree,
-        .comp = comp,
+        .comp = tree.comp,
         .node_tag = tree.nodes.items(.tag),
         .node_data = tree.nodes.items(.data),
         .node_ty = tree.nodes.items(.ty),
     };
-    defer c.symbols.deinit(c.comp.gpa);
-    defer c.ret_nodes.deinit(c.comp.gpa);
-    defer c.phi_nodes.deinit(c.comp.gpa);
-    defer c.record_elem_buf.deinit(c.comp.gpa);
+    defer c.symbols.deinit(gpa);
+    defer c.ret_nodes.deinit(gpa);
+    defer c.phi_nodes.deinit(gpa);
+    defer c.record_elem_buf.deinit(gpa);
+    defer c.record_cache.deinit(gpa);
     defer c.builder.deinit();
 
     const node_tags = tree.nodes.items(.tag);
     for (tree.root_decls) |decl| {
         c.builder.arena.deinit();
-        c.builder.arena = std.heap.ArenaAllocator.init(comp.gpa);
+        c.builder.arena = std.heap.ArenaAllocator.init(gpa);
 
         switch (node_tags[@intFromEnum(decl)]) {
             .static_assert,
@@ -114,6 +129,7 @@ pub fn generateTree(comp: *Compilation, tree: Tree) Compilation.Error!void {
             else => unreachable,
         }
     }
+    return c.builder.finish();
 }
 
 fn genType(c: *CodeGen, base_ty: Type) !Interner.Ref {
@@ -123,52 +139,48 @@ fn genType(c: *CodeGen, base_ty: Type) !Interner.Ref {
         .void => return .void,
         .bool => return .i1,
         .@"struct" => {
-            key = .{
-                .record = .{
-                    .user_ptr = ty.data.record,
-                    .elements = undefined, // Not needed for hash lookup.
-                },
-            };
-            if (c.builder.pool.has(key)) |some| return some;
+            if (c.record_cache.get(ty.data.record)) |some| return some;
+
             const elem_buf_top = c.record_elem_buf.items.len;
             defer c.record_elem_buf.items.len = elem_buf_top;
 
             for (ty.data.record.fields) |field| {
                 if (!field.isRegularField()) {
-                    return c.comp.diag.fatalNoSrc("TODO lower struct bitfields", .{});
+                    return c.fail("TODO lower struct bitfields", .{});
                 }
                 // TODO handle padding bits
                 const field_ref = try c.genType(field.ty);
                 try c.record_elem_buf.append(c.builder.gpa, field_ref);
             }
 
-            key.record.elements = try c.builder.arena.allocator().dupe(Interner.Ref, c.record_elem_buf.items[elem_buf_top..]);
-            return c.builder.pool.put(c.builder.gpa, key);
+            return c.builder.interner.put(c.builder.gpa, .{
+                .record_ty = c.record_elem_buf.items[elem_buf_top..],
+            });
         },
         .@"union" => {
-            return c.comp.diag.fatalNoSrc("TODO lower union types", .{});
+            return c.fail("TODO lower union types", .{});
         },
         else => {},
     }
     if (ty.isPtr()) return .ptr;
     if (ty.isFunc()) return .func;
-    if (!ty.isReal()) return c.comp.diag.fatalNoSrc("TODO lower complex types", .{});
+    if (!ty.isReal()) return c.fail("TODO lower complex types", .{});
     if (ty.isInt()) {
         const bits = ty.bitSizeof(c.comp).?;
-        key = .{ .int = @intCast(bits) };
+        key = .{ .int_ty = @intCast(bits) };
     } else if (ty.isFloat()) {
         const bits = ty.bitSizeof(c.comp).?;
-        key = .{ .float = @intCast(bits) };
+        key = .{ .float_ty = @intCast(bits) };
     } else if (ty.isArray()) {
         const elem = try c.genType(ty.elemType());
-        key = .{ .array = .{ .child = elem, .len = ty.arrayLen().? } };
+        key = .{ .array_ty = .{ .child = elem, .len = ty.arrayLen().? } };
     } else if (ty.specifier == .vector) {
         const elem = try c.genType(ty.elemType());
-        key = .{ .vector = .{ .child = elem, .len = @intCast(ty.data.array.len) } };
+        key = .{ .vector_ty = .{ .child = elem, .len = @intCast(ty.data.array.len) } };
     } else if (ty.is(.nullptr_t)) {
-        return c.comp.diag.fatalNoSrc("TODO lower nullptr_t", .{});
+        return c.fail("TODO lower nullptr_t", .{});
     }
-    return c.builder.pool.put(c.builder.gpa, key);
+    return c.builder.interner.put(c.builder.gpa, key);
 }
 
 fn genFn(c: *CodeGen, decl: NodeIndex) Error!void {
@@ -205,14 +217,7 @@ fn genFn(c: *CodeGen, decl: NodeIndex) Error!void {
         _ = try c.builder.addInst(.ret, .{ .un = phi }, .noreturn);
     }
 
-    var res = Ir{
-        .pool = c.builder.pool,
-        .instructions = c.builder.instructions,
-        .arena = c.builder.arena.state,
-        .body = c.builder.body,
-        .strings = c.tree.strings,
-    };
-    res.dump(c.builder.gpa, name, c.comp.diag.color, std.io.getStdOut().writer()) catch {};
+    try c.builder.finishFn(name);
 }
 
 fn addUn(c: *CodeGen, tag: Ir.Inst.Tag, operand: Ir.Ref, ty: Type) !Ir.Ref {
@@ -238,7 +243,7 @@ fn addBranch(c: *CodeGen, cond: Ir.Ref, true_label: Ir.Ref, false_label: Ir.Ref)
 }
 
 fn addBoolPhi(c: *CodeGen, value: bool) !void {
-    const val = try c.builder.addConstant(Value.int(@intFromBool(value)), .i1);
+    const val = try c.builder.addConstant((try Value.int(@intFromBool(value), c.comp)).ref(), .i1);
     try c.phi_nodes.append(c.comp.gpa, .{ .label = c.builder.current_label, .value = val });
 }
 
@@ -250,7 +255,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
     std.debug.assert(node != .none);
     const ty = c.node_ty[@intFromEnum(node)];
     if (c.tree.value_map.get(node)) |val| {
-        return c.builder.addConstant(val, try c.genType(ty));
+        return c.builder.addConstant(val.ref(), try c.genType(ty));
     }
     const data = c.node_data[@intFromEnum(node)];
     switch (c.node_tag[@intFromEnum(node)]) {
@@ -259,7 +264,6 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .int_literal,
         .char_literal,
         .float_literal,
-        .double_literal,
         .imaginary_literal,
         .string_literal_expr,
         .alignof_expr,
@@ -301,7 +305,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             const size: u32 = @intCast(ty.sizeof(c.comp).?); // TODO add error in parser
             const @"align" = ty.alignof(c.comp);
             const alloc = try c.builder.addAlloc(size, @"align");
-            const name = try c.comp.intern(c.tree.tokSlice(data.decl.name));
+            const name = try StrInt.intern(c.comp, c.tree.tokSlice(data.decl.name));
             try c.symbols.append(c.comp.gpa, .{ .name = name, .val = alloc });
             if (data.decl.node != .none) {
                 try c.genInitializer(alloc, ty, data.decl.node);
@@ -391,7 +395,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             const label = try c.builder.makeLabel("case");
             try c.builder.startBlock(label);
             try c.wip_switch.cases.append(c.builder.gpa, .{
-                .val = try c.builder.pool.put(c.builder.gpa, .{ .value = val }),
+                .val = val.ref(),
                 .label = label,
             });
             try c.genStmt(data.bin.rhs);
@@ -453,7 +457,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             const old_continue_label = c.continue_label;
             defer c.continue_label = old_continue_label;
 
-            const for_decl = data.forDecl(c.tree);
+            const for_decl = data.forDecl(&c.tree);
             for (for_decl.decls) |decl| try c.genStmt(decl);
 
             const then_label = try c.builder.makeLabel("for.then");
@@ -501,7 +505,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             const old_continue_label = c.continue_label;
             defer c.continue_label = old_continue_label;
 
-            const for_stmt = data.forStmt(c.tree);
+            const for_stmt = data.forStmt(&c.tree);
             if (for_stmt.init != .none) _ = try c.genExpr(for_stmt.init);
 
             const then_label = try c.builder.makeLabel("for.then");
@@ -536,7 +540,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         },
         .implicit_return => {
             if (data.return_zero) {
-                const operand = try c.builder.addConstant(Value.int(0), try c.genType(ty));
+                const operand = try c.builder.addConstant(.zero, try c.genType(ty));
                 try c.ret_nodes.append(c.comp.gpa, .{ .value = operand, .label = c.builder.current_label });
             }
             // No need to emit a jump since implicit_return is always the last instruction.
@@ -545,7 +549,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .goto_stmt,
         .computed_goto_stmt,
         .nullptr_literal,
-        => return c.comp.diag.fatalNoSrc("TODO CodeGen.genStmt {}\n", .{c.node_tag[@intFromEnum(node)]}),
+        => return c.fail("TODO CodeGen.genStmt {}\n", .{c.node_tag[@intFromEnum(node)]}),
         .comma_expr => {
             _ = try c.genExpr(data.bin.lhs);
             return c.genExpr(data.bin.rhs);
@@ -635,7 +639,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         },
         .plus_expr => return c.genExpr(data.un),
         .negate_expr => {
-            const zero = try c.builder.addConstant(Value.int(0), try c.genType(ty));
+            const zero = try c.builder.addConstant(.zero, try c.genType(ty));
             const operand = try c.genExpr(data.un);
             return c.addBin(.sub, zero, operand, ty);
         },
@@ -644,14 +648,14 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             return c.addUn(.bit_not, operand, ty);
         },
         .bool_not_expr => {
-            const zero = try c.builder.addConstant(Value.int(0), try c.genType(ty));
+            const zero = try c.builder.addConstant(.zero, try c.genType(ty));
             const operand = try c.genExpr(data.un);
             return c.addBin(.cmp_ne, zero, operand, ty);
         },
         .pre_inc_expr => {
             const operand = try c.genLval(data.un);
             const val = try c.addUn(.load, operand, ty);
-            const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+            const one = try c.builder.addConstant(.one, try c.genType(ty));
             const plus_one = try c.addBin(.add, val, one, ty);
             try c.builder.addStore(operand, plus_one);
             return plus_one;
@@ -659,7 +663,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .pre_dec_expr => {
             const operand = try c.genLval(data.un);
             const val = try c.addUn(.load, operand, ty);
-            const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+            const one = try c.builder.addConstant(.one, try c.genType(ty));
             const plus_one = try c.addBin(.sub, val, one, ty);
             try c.builder.addStore(operand, plus_one);
             return plus_one;
@@ -667,7 +671,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .post_inc_expr => {
             const operand = try c.genLval(data.un);
             const val = try c.addUn(.load, operand, ty);
-            const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+            const one = try c.builder.addConstant(.one, try c.genType(ty));
             const plus_one = try c.addBin(.add, val, one, ty);
             try c.builder.addStore(operand, plus_one);
             return val;
@@ -675,7 +679,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .post_dec_expr => {
             const operand = try c.genLval(data.un);
             const val = try c.addUn(.load, operand, ty);
-            const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+            const one = try c.builder.addConstant(.one, try c.genType(ty));
             const plus_one = try c.addBin(.sub, val, one, ty);
             try c.builder.addStore(operand, plus_one);
             return val;
@@ -717,7 +721,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             },
             .pointer_to_bool, .int_to_bool, .float_to_bool => {
                 const lhs = try c.genExpr(data.cast.operand);
-                const rhs = try c.builder.addConstant(Value.int(0), try c.genType(c.node_ty[@intFromEnum(node)]));
+                const rhs = try c.builder.addConstant(.zero, try c.genType(c.node_ty[@intFromEnum(node)]));
                 return c.builder.addInst(.cmp_ne, .{ .bin = .{ .lhs = lhs, .rhs = rhs } }, .i1);
             },
             .bitcast,
@@ -739,11 +743,11 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
             .null_to_pointer,
             .union_cast,
             .vector_splat,
-            => return c.comp.diag.fatalNoSrc("TODO CodeGen gen CastKind {}\n", .{data.cast.kind}),
+            => return c.fail("TODO CodeGen gen CastKind {}\n", .{data.cast.kind}),
         },
         .binary_cond_expr => {
             if (c.tree.value_map.get(data.if3.cond)) |cond| {
-                if (cond.getBool()) {
+                if (cond.toBool(c.comp)) {
                     c.cond_dummy_ref = try c.genExpr(data.if3.cond);
                     return c.genExpr(c.tree.data[data.if3.body]); // then
                 } else {
@@ -786,7 +790,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .cond_dummy_expr => return c.cond_dummy_ref,
         .cond_expr => {
             if (c.tree.value_map.get(data.if3.cond)) |cond| {
-                if (cond.getBool()) {
+                if (cond.toBool(c.comp)) {
                     return c.genExpr(c.tree.data[data.if3.body]); // then
                 } else {
                     return c.genExpr(c.tree.data[data.if3.body + 1]); // else
@@ -826,9 +830,8 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         },
         .bool_or_expr => {
             if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
-                const cond = lhs.getBool();
-                if (!cond) {
-                    return c.builder.addConstant(Value.int(1), try c.genType(ty));
+                if (!lhs.toBool(c.comp)) {
+                    return c.builder.addConstant(.one, try c.genType(ty));
                 }
                 return c.genExpr(data.bin.rhs);
             }
@@ -855,9 +858,8 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         },
         .bool_and_expr => {
             if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
-                const cond = lhs.getBool();
-                if (!cond) {
-                    return c.builder.addConstant(Value.int(0), try c.genType(ty));
+                if (!lhs.toBool(c.comp)) {
+                    return c.builder.addConstant(.zero, try c.genType(ty));
                 }
                 return c.genExpr(data.bin.rhs);
             }
@@ -884,7 +886,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         },
         .builtin_choose_expr => {
             const cond = c.tree.value_map.get(data.if3.cond).?;
-            if (cond.getBool()) {
+            if (cond.toBool(c.comp)) {
                 return c.genExpr(c.tree.data[data.if3.body]);
             } else {
                 return c.genExpr(c.tree.data[data.if3.body + 1]);
@@ -949,7 +951,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .real_expr,
         .sizeof_expr,
         .special_builtin_call_one,
-        => return c.comp.diag.fatalNoSrc("TODO CodeGen.genExpr {}\n", .{c.node_tag[@intFromEnum(node)]}),
+        => return c.fail("TODO CodeGen.genExpr {}\n", .{c.node_tag[@intFromEnum(node)]}),
         else => unreachable, // Not an expression.
     }
     return .none;
@@ -957,17 +959,17 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
 
 fn genLval(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
     std.debug.assert(node != .none);
-    assert(Tree.isLval(c.tree.nodes, c.tree.data, c.tree.value_map, node));
+    assert(c.tree.isLval(node));
     const data = c.node_data[@intFromEnum(node)];
     switch (c.node_tag[@intFromEnum(node)]) {
         .string_literal_expr => {
             const val = c.tree.value_map.get(node).?;
-            return c.builder.addConstant(val, .ptr);
+            return c.builder.addConstant(val.ref(), .ptr);
         },
         .paren_expr => return c.genLval(data.un),
         .decl_ref_expr => {
             const slice = c.tree.tokSlice(data.decl_ref);
-            const name = try c.comp.intern(slice);
+            const name = try StrInt.intern(c.comp, slice);
             var i = c.symbols.items.len;
             while (i > 0) {
                 i -= 1;
@@ -992,7 +994,7 @@ fn genLval(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         },
         .builtin_choose_expr => {
             const cond = c.tree.value_map.get(data.if3.cond).?;
-            if (cond.getBool()) {
+            if (cond.toBool(c.comp)) {
                 return c.genLval(c.tree.data[data.if3.body]);
             } else {
                 return c.genLval(c.tree.data[data.if3.body + 1]);
@@ -1001,7 +1003,10 @@ fn genLval(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
         .member_access_expr,
         .member_access_ptr_expr,
         .array_access_expr,
-        => return c.comp.diag.fatalNoSrc("TODO CodeGen.genLval {}\n", .{c.node_tag[@intFromEnum(node)]}),
+        .static_compound_literal_expr,
+        .thread_local_compound_literal_expr,
+        .static_thread_local_compound_literal_expr,
+        => return c.fail("TODO CodeGen.genLval {}\n", .{c.node_tag[@intFromEnum(node)]}),
         else => unreachable, // Not an lval expression.
     }
 }
@@ -1019,8 +1024,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
     switch (c.node_tag[@intFromEnum(node)]) {
         .bool_or_expr => {
             if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
-                const cond = lhs.getBool();
-                if (cond) {
+                if (lhs.toBool(c.comp)) {
                     if (true_label == c.bool_end_label) {
                         return c.addBoolPhi(!c.bool_invert);
                     }
@@ -1033,13 +1037,12 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
             try c.genBoolExpr(data.bin.lhs, true_label, new_false_label);
             try c.builder.startBlock(new_false_label);
 
-            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
             return c.genBoolExpr(data.bin.rhs, true_label, false_label);
         },
         .bool_and_expr => {
             if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
-                const cond = lhs.getBool();
-                if (!cond) {
+                if (!lhs.toBool(c.comp)) {
                     if (false_label == c.bool_end_label) {
                         return c.addBoolPhi(c.bool_invert);
                     }
@@ -1052,14 +1055,14 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
             try c.genBoolExpr(data.bin.lhs, new_true_label, false_label);
             try c.builder.startBlock(new_true_label);
 
-            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
             return c.genBoolExpr(data.bin.rhs, true_label, false_label);
         },
         .bool_not_expr => {
             c.bool_invert = !c.bool_invert;
             defer c.bool_invert = !c.bool_invert;
 
-            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(0), ty);
+            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.zero, ty);
             return c.genBoolExpr(data.un, false_label, true_label);
         },
         .equal_expr => {
@@ -1102,7 +1105,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
         },
         .binary_cond_expr => {
             if (c.tree.value_map.get(data.if3.cond)) |cond| {
-                if (cond.getBool()) {
+                if (cond.toBool(c.comp)) {
                     return c.genBoolExpr(c.tree.data[data.if3.body], true_label, false_label); // then
                 } else {
                     return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
@@ -1113,12 +1116,12 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
             try c.genBoolExpr(data.if3.cond, true_label, new_false_label);
 
             try c.builder.startBlock(new_false_label);
-            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
             return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
         },
         .cond_expr => {
             if (c.tree.value_map.get(data.if3.cond)) |cond| {
-                if (cond.getBool()) {
+                if (cond.toBool(c.comp)) {
                     return c.genBoolExpr(c.tree.data[data.if3.body], true_label, false_label); // then
                 } else {
                     return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
@@ -1132,14 +1135,14 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
             try c.builder.startBlock(new_true_label);
             try c.genBoolExpr(c.tree.data[data.if3.body], true_label, false_label); // then
             try c.builder.startBlock(new_false_label);
-            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+            if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
             return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
         },
         else => {},
     }
 
     if (c.tree.value_map.get(node)) |value| {
-        if (value.getBool()) {
+        if (value.toBool(c.comp)) {
             if (true_label == c.bool_end_label) {
                 return c.addBoolPhi(!c.bool_invert);
             }
@@ -1154,7 +1157,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
 
     // Assume int operand.
     const lhs = try c.genExpr(node);
-    const rhs = try c.builder.addConstant(Value.int(0), try c.genType(c.node_ty[@intFromEnum(node)]));
+    const rhs = try c.builder.addConstant(.zero, try c.genType(c.node_ty[@intFromEnum(node)]));
     const cmp = try c.builder.addInst(.cmp_ne, .{ .bin = .{ .lhs = lhs, .rhs = rhs } }, .i1);
     if (c.cond_dummy_ty != null) c.cond_dummy_ref = cmp;
     try c.addBranch(cmp, true_label, false_label);
@@ -1163,7 +1166,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
 fn genBuiltinCall(c: *CodeGen, builtin: Builtin, arg_nodes: []const NodeIndex, ty: Type) Error!Ir.Ref {
     _ = arg_nodes;
     _ = ty;
-    return c.comp.diag.fatalNoSrc("TODO CodeGen.genBuiltinCall {s}\n", .{Builtin.nameFromTag(builtin.tag).span()});
+    return c.fail("TODO CodeGen.genBuiltinCall {s}\n", .{Builtin.nameFromTag(builtin.tag).span()});
 }
 
 fn genCall(c: *CodeGen, fn_node: NodeIndex, arg_nodes: []const NodeIndex, ty: Type) Error!Ir.Ref {
@@ -1188,7 +1191,7 @@ fn genCall(c: *CodeGen, fn_node: NodeIndex, arg_nodes: []const NodeIndex, ty: Ty
             },
             .decl_ref_expr => {
                 const slice = c.tree.tokSlice(c.node_data[cur].decl_ref);
-                const name = try c.comp.intern(slice);
+                const name = try StrInt.intern(c.comp, slice);
                 var i = c.symbols.items.len;
                 while (i > 0) {
                     i -= 1;
@@ -1254,7 +1257,7 @@ fn genPtrArithmetic(c: *CodeGen, ptr: Ir.Ref, offset: Ir.Ref, offset_ty: Type, t
         return c.builder.addInst(.add, .{ .bin = .{ .lhs = ptr, .rhs = offset } }, try c.genType(ty));
     }
 
-    const size_inst = try c.builder.addConstant(Value.int(size), try c.genType(offset_ty));
+    const size_inst = try c.builder.addConstant((try Value.int(size, c.comp)).ref(), try c.genType(offset_ty));
     const offset_inst = try c.addBin(.mul, offset, size_inst, offset_ty);
     return c.addBin(.add, ptr, offset_inst, offset_ty);
 }
@@ -1269,12 +1272,12 @@ fn genInitializer(c: *CodeGen, ptr: Ir.Ref, dest_ty: Type, initializer: NodeInde
         .union_init_expr,
         .array_filler_expr,
         .default_init_expr,
-        => return c.comp.diag.fatalNoSrc("TODO CodeGen.genInitializer {}\n", .{c.node_tag[@intFromEnum(initializer)]}),
+        => return c.fail("TODO CodeGen.genInitializer {}\n", .{c.node_tag[@intFromEnum(initializer)]}),
         .string_literal_expr => {
             const val = c.tree.value_map.get(initializer).?;
-            const str_ptr = try c.builder.addConstant(val, .ptr);
+            const str_ptr = try c.builder.addConstant(val.ref(), .ptr);
             if (dest_ty.isArray()) {
-                return c.comp.diag.fatalNoSrc("TODO memcpy\n", .{});
+                return c.fail("TODO memcpy\n", .{});
             } else {
                 try c.builder.addStore(ptr, str_ptr);
             }
@@ -1288,5 +1291,5 @@ fn genInitializer(c: *CodeGen, ptr: Ir.Ref, dest_ty: Type, initializer: NodeInde
 
 fn genVar(c: *CodeGen, decl: NodeIndex) Error!void {
     _ = decl;
-    return c.comp.diag.fatalNoSrc("TODO CodeGen.genVar\n", .{});
+    return c.fail("TODO CodeGen.genVar\n", .{});
 }
deps/aro/Compilation.zig → deps/aro/aro/Compilation.zig
@@ -1,8 +1,9 @@
 const std = @import("std");
-const assert = std.debug.assert;
-const mem = std.mem;
 const Allocator = mem.Allocator;
+const assert = std.debug.assert;
 const EpochSeconds = std.time.epoch.EpochSeconds;
+const mem = std.mem;
+const Interner = @import("backend").Interner;
 const Builtins = @import("Builtins.zig");
 const Builtin = Builtins.Builtin;
 const Diagnostics = @import("Diagnostics.zig");
@@ -12,18 +13,16 @@ const Tokenizer = @import("Tokenizer.zig");
 const Token = Tokenizer.Token;
 const Type = @import("Type.zig");
 const Pragma = @import("Pragma.zig");
-const StringInterner = @import("StringInterner.zig");
+const StrInt = @import("StringInterner.zig");
 const record_layout = @import("record_layout.zig");
 const target_util = @import("target.zig");
 
-const Compilation = @This();
-
 pub const Error = error{
     /// A fatal error has ocurred and compilation has stopped.
     FatalError,
 } || Allocator.Error;
 
-pub const bit_int_max_bits = 128;
+pub const bit_int_max_bits = std.math.maxInt(u16);
 const path_buf_stack_limit = 1024;
 
 /// Environment variables used during compilation / linking.
@@ -58,12 +57,12 @@ pub const Environment = struct {
 
     /// Load all of the environment variables using the std.process API. Do not use if using Aro as a shared library on Linux without libc
     /// See https://github.com/ziglang/zig/issues/4524
-    /// Assumes that `self` has been default-initialized
-    pub fn loadAll(self: *Environment, allocator: std.mem.Allocator) !void {
-        errdefer self.deinit(allocator);
+    pub fn loadAll(allocator: std.mem.Allocator) !Environment {
+        var env: Environment = .{};
+        errdefer env.deinit(allocator);
 
-        inline for (@typeInfo(@TypeOf(self.*)).Struct.fields) |field| {
-            std.debug.assert(@field(self, field.name) == null);
+        inline for (@typeInfo(@TypeOf(env)).Struct.fields) |field| {
+            std.debug.assert(@field(env, field.name) == null);
 
             var env_var_buf: [field.name.len]u8 = undefined;
             const env_var_name = std.ascii.upperString(&env_var_buf, field.name);
@@ -72,8 +71,9 @@ pub const Environment = struct {
                 error.EnvironmentVariableNotFound => null,
                 error.InvalidUtf8 => null,
             };
-            @field(self, field.name) = val;
+            @field(env, field.name) = val;
         }
+        return env;
     }
 
     /// Use this only if environment slices were allocated with `allocator` (such as via `loadAll`)
@@ -87,16 +87,19 @@ pub const Environment = struct {
     }
 };
 
+const Compilation = @This();
+
 gpa: Allocator,
+diagnostics: Diagnostics,
+
 environment: Environment = .{},
-sources: std.StringArrayHashMap(Source),
-diag: Diagnostics,
-include_dirs: std.ArrayList([]const u8),
-system_include_dirs: std.ArrayList([]const u8),
+sources: std.StringArrayHashMapUnmanaged(Source) = .{},
+include_dirs: std.ArrayListUnmanaged([]const u8) = .{},
+system_include_dirs: std.ArrayListUnmanaged([]const u8) = .{},
 target: std.Target = @import("builtin").target,
-pragma_handlers: std.StringArrayHashMap(*Pragma),
+pragma_handlers: std.StringArrayHashMapUnmanaged(*Pragma) = .{},
 langopts: LangOpts = .{},
-generated_buf: std.ArrayList(u8),
+generated_buf: std.ArrayListUnmanaged(u8) = .{},
 builtins: Builtins = .{},
 types: struct {
     wchar: Type = undefined,
@@ -122,21 +125,31 @@ types: struct {
     int16: Type = .{ .specifier = .invalid },
     int64: Type = .{ .specifier = .invalid },
 } = .{},
-string_interner: StringInterner = .{},
+string_interner: StrInt = .{},
+interner: Interner = .{},
 ms_cwd_source_id: ?Source.Id = null,
 
 pub fn init(gpa: Allocator) Compilation {
     return .{
         .gpa = gpa,
-        .sources = std.StringArrayHashMap(Source).init(gpa),
-        .diag = Diagnostics.init(gpa),
-        .include_dirs = std.ArrayList([]const u8).init(gpa),
-        .system_include_dirs = std.ArrayList([]const u8).init(gpa),
-        .pragma_handlers = std.StringArrayHashMap(*Pragma).init(gpa),
-        .generated_buf = std.ArrayList(u8).init(gpa),
+        .diagnostics = Diagnostics.init(gpa),
     };
 }
 
+/// Initialize Compilation with default environment,
+/// pragma handlers and emulation mode set to target.
+pub fn initDefault(gpa: Allocator) !Compilation {
+    var comp: Compilation = .{
+        .gpa = gpa,
+        .environment = try Environment.loadAll(gpa),
+        .diagnostics = Diagnostics.init(gpa),
+    };
+    errdefer comp.deinit();
+    try comp.addDefaultPragmaHandlers();
+    comp.langopts.setEmulatedCompiler(target_util.systemCompiler(comp.target));
+    return comp;
+}
+
 pub fn deinit(comp: *Compilation) void {
     for (comp.pragma_handlers.values()) |pragma| {
         pragma.deinit(pragma, comp);
@@ -146,19 +159,17 @@ pub fn deinit(comp: *Compilation) void {
         comp.gpa.free(source.buf);
         comp.gpa.free(source.splice_locs);
     }
-    comp.sources.deinit();
-    comp.diag.deinit();
-    comp.include_dirs.deinit();
+    comp.sources.deinit(comp.gpa);
+    comp.diagnostics.deinit();
+    comp.include_dirs.deinit(comp.gpa);
     for (comp.system_include_dirs.items) |path| comp.gpa.free(path);
-    comp.system_include_dirs.deinit();
-    comp.pragma_handlers.deinit();
-    comp.generated_buf.deinit();
+    comp.system_include_dirs.deinit(comp.gpa);
+    comp.pragma_handlers.deinit(comp.gpa);
+    comp.generated_buf.deinit(comp.gpa);
     comp.builtins.deinit(comp.gpa);
     comp.string_interner.deinit(comp.gpa);
-}
-
-pub fn intern(comp: *Compilation, str: []const u8) !StringInterner.StringId {
-    return comp.string_interner.intern(comp.gpa, str);
+    comp.interner.deinit(comp.gpa);
+    comp.environment.deinit(comp.gpa);
 }
 
 pub fn getSourceEpoch(self: *const Compilation, max: i64) !?i64 {
@@ -173,7 +184,7 @@ const max_timestamp = 253402300799;
 
 fn getTimestamp(comp: *Compilation) !u47 {
     const provided: ?i64 = comp.getSourceEpoch(max_timestamp) catch blk: {
-        try comp.diag.add(.{
+        try comp.addDiagnostic(.{
             .tag = .invalid_source_epoch,
             .loc = .{ .id = .unused, .byte_offset = 0, .line = 0 },
         }, &.{});
@@ -219,32 +230,15 @@ fn generateDateAndTime(w: anytype, timestamp: u47) !void {
     });
 }
 
-/// Generate builtin macros that will be available to each source file.
-pub fn generateBuiltinMacros(comp: *Compilation) !Source {
-    try comp.generateBuiltinTypes();
-
-    var buf = std.ArrayList(u8).init(comp.gpa);
-    defer buf.deinit();
-    const w = buf.writer();
+/// Which set of system defines to generate via generateBuiltinMacros
+pub const SystemDefinesMode = enum {
+    /// Only define macros required by the C standard (date/time macros and those beginning with `__STDC`)
+    no_system_defines,
+    /// Define the standard set of system macros
+    include_system_defines,
+};
 
-    // standard macros
-    try w.writeAll(
-        \\#define __VERSION__ "Aro 
-    ++ @import("lib.zig").version_str ++ "\"\n" ++
-        \\#define __Aro__
-        \\#define __STDC__ 1
-        \\#define __STDC_HOSTED__ 1
-        \\#define __STDC_NO_ATOMICS__ 1
-        \\#define __STDC_NO_COMPLEX__ 1
-        \\#define __STDC_NO_THREADS__ 1
-        \\#define __STDC_NO_VLA__ 1
-        \\#define __STDC_UTF_16__ 1
-        \\#define __STDC_UTF_32__ 1
-        \\
-    );
-    if (comp.langopts.standard.StdCVersionMacro()) |stdc_version| {
-        try w.print("#define __STDC_VERSION__ {s}\n", .{stdc_version});
-    }
+fn generateSystemDefines(comp: *Compilation, w: anytype) !void {
     const ptr_width = comp.target.ptrBitWidth();
 
     // os macros
@@ -414,10 +408,6 @@ pub fn generateBuiltinMacros(comp: *Compilation) !Source {
         \\
     );
 
-    // timestamps
-    const timestamp = try comp.getTimestamp();
-    try generateDateAndTime(w, timestamp);
-
     // types
     if (comp.getCharSignedness() == .unsigned) try w.writeAll("#define __CHAR_UNSIGNED__ 1\n");
     try w.writeAll("#define __CHAR_BIT__ 8\n");
@@ -489,6 +479,49 @@ pub fn generateBuiltinMacros(comp: *Compilation) !Source {
         \\#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
         \\
     );
+}
+
+/// Generate builtin macros that will be available to each source file.
+pub fn generateBuiltinMacros(comp: *Compilation, system_defines_mode: SystemDefinesMode) !Source {
+    try comp.generateBuiltinTypes();
+
+    var buf = std.ArrayList(u8).init(comp.gpa);
+    defer buf.deinit();
+
+    if (system_defines_mode == .include_system_defines) {
+        try buf.appendSlice(
+            \\#define __VERSION__ "Aro 
+        ++ @import("backend").version_str ++ "\"\n" ++
+            \\#define __Aro__
+            \\
+        );
+    }
+
+    // standard macros
+    try buf.appendSlice(
+        \\#define __STDC__ 1
+        \\#define __STDC_HOSTED__ 1
+        \\#define __STDC_NO_ATOMICS__ 1
+        \\#define __STDC_NO_COMPLEX__ 1
+        \\#define __STDC_NO_THREADS__ 1
+        \\#define __STDC_NO_VLA__ 1
+        \\#define __STDC_UTF_16__ 1
+        \\#define __STDC_UTF_32__ 1
+        \\
+    );
+    if (comp.langopts.standard.StdCVersionMacro()) |stdc_version| {
+        try buf.appendSlice("#define __STDC_VERSION__ ");
+        try buf.appendSlice(stdc_version);
+        try buf.append('\n');
+    }
+
+    // timestamps
+    const timestamp = try comp.getTimestamp();
+    try generateDateAndTime(buf.writer(), timestamp);
+
+    if (system_defines_mode == .include_system_defines) {
+        try comp.generateSystemDefines(buf.writer());
+    }
 
     return comp.addSourceFromBuffer("<builtin>", buf.items);
 }
@@ -573,7 +606,7 @@ fn generateFloatMacros(w: anytype, prefix: []const u8, semantics: target_util.FP
     try w.print("#define {s}MIN__ {s}{s}\n", .{ prefix_slice, min, ext });
 }
 
-fn generateTypeMacro(w: anytype, mapper: StringInterner.TypeMapper, name: []const u8, ty: Type, langopts: LangOpts) !void {
+fn generateTypeMacro(w: anytype, mapper: StrInt.TypeMapper, name: []const u8, ty: Type, langopts: LangOpts) !void {
     try w.print("#define {s} ", .{name});
     try ty.print(mapper, langopts, w);
     try w.writeByte('\n');
@@ -661,7 +694,7 @@ fn intSize(comp: *const Compilation, specifier: Type.Specifier) u64 {
     return ty.sizeof(comp).?;
 }
 
-fn generateExactWidthTypes(comp: *const Compilation, w: anytype, mapper: StringInterner.TypeMapper) !void {
+fn generateExactWidthTypes(comp: *const Compilation, w: anytype, mapper: StrInt.TypeMapper) !void {
     try comp.generateExactWidthType(w, mapper, .schar);
 
     if (comp.intSize(.short) > comp.intSize(.char)) {
@@ -726,7 +759,7 @@ fn generateSuffixMacro(comp: *const Compilation, prefix: []const u8, w: anytype,
 ///     Name macro (e.g. #define __UINT32_TYPE__ unsigned int)
 ///     Format strings (e.g. #define __UINT32_FMTu__ "u")
 ///     Suffix macro (e.g. #define __UINT32_C_SUFFIX__ U)
-fn generateExactWidthType(comp: *const Compilation, w: anytype, mapper: StringInterner.TypeMapper, specifier: Type.Specifier) !void {
+fn generateExactWidthType(comp: *const Compilation, w: anytype, mapper: StrInt.TypeMapper, specifier: Type.Specifier) !void {
     var ty = Type{ .specifier = specifier };
     const width = 8 * ty.sizeof(comp).?;
     const unsigned = ty.isUnsignedInt(comp);
@@ -751,13 +784,17 @@ fn generateExactWidthType(comp: *const Compilation, w: anytype, mapper: StringIn
     try comp.generateSuffixMacro(prefix.constSlice(), w, ty);
 }
 
+pub fn hasFloat128(comp: *const Compilation) bool {
+    return target_util.hasFloat128(comp.target);
+}
+
 pub fn hasHalfPrecisionFloatABI(comp: *const Compilation) bool {
     return comp.langopts.allow_half_args_and_returns or target_util.hasHalfPrecisionFloatABI(comp.target);
 }
 
 fn generateNsConstantStringType(comp: *Compilation) !void {
     comp.types.ns_constant_string.record = .{
-        .name = try comp.intern("__NSConstantString_tag"),
+        .name = try StrInt.intern(comp, "__NSConstantString_tag"),
         .fields = &comp.types.ns_constant_string.fields,
         .field_attributes = null,
         .type_layout = undefined,
@@ -765,10 +802,10 @@ fn generateNsConstantStringType(comp: *Compilation) !void {
     const const_int_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = &comp.types.ns_constant_string.int_ty } };
     const const_char_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = &comp.types.ns_constant_string.char_ty } };
 
-    comp.types.ns_constant_string.fields[0] = .{ .name = try comp.intern("isa"), .ty = const_int_ptr };
-    comp.types.ns_constant_string.fields[1] = .{ .name = try comp.intern("flags"), .ty = .{ .specifier = .int } };
-    comp.types.ns_constant_string.fields[2] = .{ .name = try comp.intern("str"), .ty = const_char_ptr };
-    comp.types.ns_constant_string.fields[3] = .{ .name = try comp.intern("length"), .ty = .{ .specifier = .long } };
+    comp.types.ns_constant_string.fields[0] = .{ .name = try StrInt.intern(comp, "isa"), .ty = const_int_ptr };
+    comp.types.ns_constant_string.fields[1] = .{ .name = try StrInt.intern(comp, "flags"), .ty = .{ .specifier = .int } };
+    comp.types.ns_constant_string.fields[2] = .{ .name = try StrInt.intern(comp, "str"), .ty = const_char_ptr };
+    comp.types.ns_constant_string.fields[3] = .{ .name = try StrInt.intern(comp, "length"), .ty = .{ .specifier = .long } };
     comp.types.ns_constant_string.ty = .{ .specifier = .@"struct", .data = .{ .record = &comp.types.ns_constant_string.record } };
     record_layout.compute(&comp.types.ns_constant_string.record, comp.types.ns_constant_string.ty, comp, null);
 }
@@ -795,7 +832,7 @@ fn generateVaListType(comp: *Compilation) !Type {
     };
 
     // TODO this might be bad?
-    const arena = comp.diag.arena.allocator();
+    const arena = comp.diagnostics.arena.allocator();
 
     var ty: Type = undefined;
     switch (kind) {
@@ -804,7 +841,7 @@ fn generateVaListType(comp: *Compilation) !Type {
         .aarch64_va_list => {
             const record_ty = try arena.create(Type.Record);
             record_ty.* = .{
-                .name = try comp.intern("__va_list_tag"),
+                .name = try StrInt.intern(comp, "__va_list_tag"),
                 .fields = try arena.alloc(Type.Record.Field, 5),
                 .field_attributes = null,
                 .type_layout = undefined, // computed below
@@ -812,18 +849,18 @@ fn generateVaListType(comp: *Compilation) !Type {
             const void_ty = try arena.create(Type);
             void_ty.* = .{ .specifier = .void };
             const void_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = void_ty } };
-            record_ty.fields[0] = .{ .name = try comp.intern("__stack"), .ty = void_ptr };
-            record_ty.fields[1] = .{ .name = try comp.intern("__gr_top"), .ty = void_ptr };
-            record_ty.fields[2] = .{ .name = try comp.intern("__vr_top"), .ty = void_ptr };
-            record_ty.fields[3] = .{ .name = try comp.intern("__gr_offs"), .ty = .{ .specifier = .int } };
-            record_ty.fields[4] = .{ .name = try comp.intern("__vr_offs"), .ty = .{ .specifier = .int } };
+            record_ty.fields[0] = .{ .name = try StrInt.intern(comp, "__stack"), .ty = void_ptr };
+            record_ty.fields[1] = .{ .name = try StrInt.intern(comp, "__gr_top"), .ty = void_ptr };
+            record_ty.fields[2] = .{ .name = try StrInt.intern(comp, "__vr_top"), .ty = void_ptr };
+            record_ty.fields[3] = .{ .name = try StrInt.intern(comp, "__gr_offs"), .ty = .{ .specifier = .int } };
+            record_ty.fields[4] = .{ .name = try StrInt.intern(comp, "__vr_offs"), .ty = .{ .specifier = .int } };
             ty = .{ .specifier = .@"struct", .data = .{ .record = record_ty } };
             record_layout.compute(record_ty, ty, comp, null);
         },
         .x86_64_va_list => {
             const record_ty = try arena.create(Type.Record);
             record_ty.* = .{
-                .name = try comp.intern("__va_list_tag"),
+                .name = try StrInt.intern(comp, "__va_list_tag"),
                 .fields = try arena.alloc(Type.Record.Field, 4),
                 .field_attributes = null,
                 .type_layout = undefined, // computed below
@@ -831,10 +868,10 @@ fn generateVaListType(comp: *Compilation) !Type {
             const void_ty = try arena.create(Type);
             void_ty.* = .{ .specifier = .void };
             const void_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = void_ty } };
-            record_ty.fields[0] = .{ .name = try comp.intern("gp_offset"), .ty = .{ .specifier = .uint } };
-            record_ty.fields[1] = .{ .name = try comp.intern("fp_offset"), .ty = .{ .specifier = .uint } };
-            record_ty.fields[2] = .{ .name = try comp.intern("overflow_arg_area"), .ty = void_ptr };
-            record_ty.fields[3] = .{ .name = try comp.intern("reg_save_area"), .ty = void_ptr };
+            record_ty.fields[0] = .{ .name = try StrInt.intern(comp, "gp_offset"), .ty = .{ .specifier = .uint } };
+            record_ty.fields[1] = .{ .name = try StrInt.intern(comp, "fp_offset"), .ty = .{ .specifier = .uint } };
+            record_ty.fields[2] = .{ .name = try StrInt.intern(comp, "overflow_arg_area"), .ty = void_ptr };
+            record_ty.fields[3] = .{ .name = try StrInt.intern(comp, "reg_save_area"), .ty = void_ptr };
             ty = .{ .specifier = .@"struct", .data = .{ .record = record_ty } };
             record_layout.compute(record_ty, ty, comp, null);
         },
@@ -932,7 +969,7 @@ pub fn defineSystemIncludes(comp: *Compilation, aro_dir: []const u8) !void {
         base_dir.access("include/stddef.h", .{}) catch continue;
         const path = try std.fs.path.join(comp.gpa, &.{ dirname, "include" });
         errdefer comp.gpa.free(path);
-        try comp.system_include_dirs.append(path);
+        try comp.system_include_dirs.append(comp.gpa, path);
         break;
     } else return error.AroIncludeNotFound;
 
@@ -946,12 +983,12 @@ pub fn defineSystemIncludes(comp: *Compilation, aro_dir: []const u8) !void {
         if (!std.meta.isError(std.fs.accessAbsolute(multiarch_path, .{}))) {
             const duped = try comp.gpa.dupe(u8, multiarch_path);
             errdefer comp.gpa.free(duped);
-            try comp.system_include_dirs.append(duped);
+            try comp.system_include_dirs.append(comp.gpa, duped);
         }
     }
     const usr_include = try comp.gpa.dupe(u8, "/usr/include");
     errdefer comp.gpa.free(usr_include);
-    try comp.system_include_dirs.append(usr_include);
+    try comp.system_include_dirs.append(comp.gpa, usr_include);
 }
 
 pub fn getSource(comp: *const Compilation, id: Source.Id) Source {
@@ -980,7 +1017,7 @@ pub fn addSourceFromReader(comp: *Compilation, reader: anytype, path: []const u8
 /// To add the contents of an arbitrary reader as a Source, see addSourceFromReader
 /// To add a file's contents given its path, see addSourceFromPath
 pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8, kind: Source.Kind) !Source {
-    try comp.sources.ensureUnusedCapacity(1);
+    try comp.sources.ensureUnusedCapacity(comp.gpa, 1);
 
     var contents = buf;
     const duped_path = try comp.gpa.dupe(u8, path);
@@ -1022,7 +1059,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8,
                         i = backslash_loc;
                         try splice_list.append(i);
                         if (state == .trailing_ws) {
-                            try comp.diag.add(.{
+                            try comp.addDiagnostic(.{
                                 .tag = .backslash_newline_escape,
                                 .loc = .{ .id = source_id, .byte_offset = i, .line = line },
                             }, &.{});
@@ -1046,7 +1083,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8,
                             try splice_list.append(i);
                         }
                         if (state == .trailing_ws) {
-                            try comp.diag.add(.{
+                            try comp.addDiagnostic(.{
                                 .tag = .backslash_newline_escape,
                                 .loc = .{ .id = source_id, .byte_offset = i, .line = line },
                             }, &.{});
@@ -1105,7 +1142,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8,
     if (i != contents.len) contents = try comp.gpa.realloc(contents, i);
     errdefer @compileError("errdefers in callers would possibly free the realloced slice using the original len");
 
-    var source = Source{
+    const source = Source{
         .id = source_id,
         .path = duped_path,
         .buf = contents,
@@ -1259,7 +1296,7 @@ pub const IncludeType = enum {
     angle_brackets,
 };
 
-fn getFileContents(comp: *Compilation, path: []const u8) ![]const u8 {
+fn getFileContents(comp: *Compilation, path: []const u8, limit: ?u32) ![]const u8 {
     if (mem.indexOfScalar(u8, path, 0) != null) {
         return error.FileNotFound;
     }
@@ -1267,7 +1304,16 @@ fn getFileContents(comp: *Compilation, path: []const u8) ![]const u8 {
     const file = try std.fs.cwd().openFile(path, .{});
     defer file.close();
 
-    return file.readToEndAlloc(comp.gpa, std.math.maxInt(u32));
+    var buf = std.ArrayList(u8).init(comp.gpa);
+    defer buf.deinit();
+
+    const max = limit orelse std.math.maxInt(u32);
+    file.reader().readAllArrayList(&buf, max) catch |e| switch (e) {
+        error.StreamTooLong => if (limit == null) return e,
+        else => return e,
+    };
+
+    return buf.toOwnedSlice();
 }
 
 pub fn findEmbed(
@@ -1276,9 +1322,10 @@ pub fn findEmbed(
     includer_token_source: Source.Id,
     /// angle bracket vs quotes
     include_type: IncludeType,
+    limit: ?u32,
 ) !?[]const u8 {
     if (std.fs.path.isAbsolute(filename)) {
-        return if (comp.getFileContents(filename)) |some|
+        return if (comp.getFileContents(filename, limit)) |some|
             some
         else |err| switch (err) {
             error.OutOfMemory => |e| return e,
@@ -1295,7 +1342,7 @@ pub fn findEmbed(
 
     while (try it.nextWithFile(filename, stack_fallback.get())) |found| {
         defer stack_fallback.get().free(found.path);
-        if (comp.getFileContents(found.path)) |some|
+        if (comp.getFileContents(found.path, limit)) |some|
             return some
         else |err| switch (err) {
             error.OutOfMemory => return error.OutOfMemory,
@@ -1342,7 +1389,7 @@ pub fn findInclude(
         defer stack_fallback.get().free(found.path);
         if (comp.addSourceFromPathExtra(found.path, found.kind)) |some| {
             if (it.tried_ms_cwd) {
-                try comp.diag.add(.{
+                try comp.addDiagnostic(.{
                     .tag = .ms_search_rule,
                     .extra = .{ .str = some.path },
                     .loc = .{
@@ -1362,7 +1409,7 @@ pub fn findInclude(
 }
 
 pub fn addPragmaHandler(comp: *Compilation, name: []const u8, handler: *Pragma) Allocator.Error!void {
-    try comp.pragma_handlers.putNoClobber(name, handler);
+    try comp.pragma_handlers.putNoClobber(comp.gpa, name, handler);
 }
 
 pub fn addDefaultPragmaHandlers(comp: *Compilation) Allocator.Error!void {
@@ -1444,7 +1491,7 @@ pub const CharUnitSize = enum(u32) {
     }
 };
 
-pub const renderErrors = Diagnostics.render;
+pub const addDiagnostic = Diagnostics.add;
 
 test "addSourceFromReader" {
     const Test = struct {
@@ -1456,7 +1503,7 @@ test "addSourceFromReader" {
             const source = try comp.addSourceFromReader(buf_reader.reader(), "path", .user);
 
             try std.testing.expectEqualStrings(expected, source.buf);
-            try std.testing.expectEqual(warning_count, @as(u32, @intCast(comp.diag.list.items.len)));
+            try std.testing.expectEqual(warning_count, @as(u32, @intCast(comp.diagnostics.list.items.len)));
             try std.testing.expectEqualSlices(u32, splices, source.splice_locs);
         }
 
deps/aro/aro/Diagnostics.zig
@@ -0,0 +1,588 @@
+const std = @import("std");
+const Allocator = mem.Allocator;
+const mem = std.mem;
+const Source = @import("Source.zig");
+const Compilation = @import("Compilation.zig");
+const Attribute = @import("Attribute.zig");
+const Builtins = @import("Builtins.zig");
+const Builtin = Builtins.Builtin;
+const Header = @import("Builtins/Properties.zig").Header;
+const Tree = @import("Tree.zig");
+const is_windows = @import("builtin").os.tag == .windows;
+const LangOpts = @import("LangOpts.zig");
+
+pub const Message = struct {
+    tag: Tag,
+    kind: Kind = undefined,
+    loc: Source.Location = .{},
+    extra: Extra = .{ .none = {} },
+
+    pub const Extra = union {
+        str: []const u8,
+        tok_id: struct {
+            expected: Tree.Token.Id,
+            actual: Tree.Token.Id,
+        },
+        tok_id_expected: Tree.Token.Id,
+        arguments: struct {
+            expected: u32,
+            actual: u32,
+        },
+        codepoints: struct {
+            actual: u21,
+            resembles: u21,
+        },
+        attr_arg_count: struct {
+            attribute: Attribute.Tag,
+            expected: u32,
+        },
+        attr_arg_type: struct {
+            expected: Attribute.ArgumentType,
+            actual: Attribute.ArgumentType,
+        },
+        attr_enum: struct {
+            tag: Attribute.Tag,
+        },
+        ignored_record_attr: struct {
+            tag: Attribute.Tag,
+            specifier: enum { @"struct", @"union", @"enum" },
+        },
+        builtin_with_header: struct {
+            builtin: Builtin.Tag,
+            header: Header,
+        },
+        invalid_escape: struct {
+            offset: u32,
+            char: u8,
+        },
+        actual_codepoint: u21,
+        ascii: u7,
+        unsigned: u64,
+        offset: u64,
+        pow_2_as_string: u8,
+        signed: i64,
+        normalized: []const u8,
+        none: void,
+    };
+};
+
+const Properties = struct {
+    msg: []const u8,
+    kind: Kind,
+    extra: std.meta.FieldEnum(Message.Extra) = .none,
+    opt: ?u8 = null,
+    all: bool = false,
+    w_extra: bool = false,
+    pedantic: bool = false,
+    suppress_version: ?LangOpts.Standard = null,
+    suppress_unless_version: ?LangOpts.Standard = null,
+    suppress_gnu: bool = false,
+    suppress_gcc: bool = false,
+    suppress_clang: bool = false,
+    suppress_msvc: bool = false,
+
+    pub fn makeOpt(comptime str: []const u8) u16 {
+        return @offsetOf(Options, str);
+    }
+    pub fn getKind(prop: Properties, options: *Options) Kind {
+        const opt = @as([*]Kind, @ptrCast(options))[prop.opt orelse return prop.kind];
+        if (opt == .default) return prop.kind;
+        return opt;
+    }
+    pub const max_bits = Compilation.bit_int_max_bits;
+};
+
+pub const Tag = @import("Diagnostics/messages.def").with(Properties).Tag;
+
+pub const Kind = enum { @"fatal error", @"error", note, warning, off, default };
+
+pub const Options = struct {
+    // do not directly use these, instead add `const NAME = true;`
+    all: Kind = .default,
+    extra: Kind = .default,
+    pedantic: Kind = .default,
+
+    @"unsupported-pragma": Kind = .default,
+    @"c99-extensions": Kind = .default,
+    @"implicit-int": Kind = .default,
+    @"duplicate-decl-specifier": Kind = .default,
+    @"missing-declaration": Kind = .default,
+    @"extern-initializer": Kind = .default,
+    @"implicit-function-declaration": Kind = .default,
+    @"unused-value": Kind = .default,
+    @"unreachable-code": Kind = .default,
+    @"unknown-warning-option": Kind = .default,
+    @"gnu-empty-struct": Kind = .default,
+    @"gnu-alignof-expression": Kind = .default,
+    @"macro-redefined": Kind = .default,
+    @"generic-qual-type": Kind = .default,
+    multichar: Kind = .default,
+    @"pointer-integer-compare": Kind = .default,
+    @"compare-distinct-pointer-types": Kind = .default,
+    @"literal-conversion": Kind = .default,
+    @"cast-qualifiers": Kind = .default,
+    @"array-bounds": Kind = .default,
+    @"int-conversion": Kind = .default,
+    @"pointer-type-mismatch": Kind = .default,
+    @"c23-extensions": Kind = .default,
+    @"incompatible-pointer-types": Kind = .default,
+    @"excess-initializers": Kind = .default,
+    @"division-by-zero": Kind = .default,
+    @"initializer-overrides": Kind = .default,
+    @"incompatible-pointer-types-discards-qualifiers": Kind = .default,
+    @"unknown-attributes": Kind = .default,
+    @"ignored-attributes": Kind = .default,
+    @"builtin-macro-redefined": Kind = .default,
+    @"gnu-label-as-value": Kind = .default,
+    @"malformed-warning-check": Kind = .default,
+    @"#pragma-messages": Kind = .default,
+    @"newline-eof": Kind = .default,
+    @"empty-translation-unit": Kind = .default,
+    @"implicitly-unsigned-literal": Kind = .default,
+    @"c99-compat": Kind = .default,
+    @"unicode-zero-width": Kind = .default,
+    @"unicode-homoglyph": Kind = .default,
+    unicode: Kind = .default,
+    @"return-type": Kind = .default,
+    @"dollar-in-identifier-extension": Kind = .default,
+    @"unknown-pragmas": Kind = .default,
+    @"predefined-identifier-outside-function": Kind = .default,
+    @"many-braces-around-scalar-init": Kind = .default,
+    uninitialized: Kind = .default,
+    @"gnu-statement-expression": Kind = .default,
+    @"gnu-imaginary-constant": Kind = .default,
+    @"gnu-complex-integer": Kind = .default,
+    @"ignored-qualifiers": Kind = .default,
+    @"integer-overflow": Kind = .default,
+    @"extra-semi": Kind = .default,
+    @"gnu-binary-literal": Kind = .default,
+    @"variadic-macros": Kind = .default,
+    varargs: Kind = .default,
+    @"#warnings": Kind = .default,
+    @"deprecated-declarations": Kind = .default,
+    @"backslash-newline-escape": Kind = .default,
+    @"pointer-to-int-cast": Kind = .default,
+    @"gnu-case-range": Kind = .default,
+    @"c++-compat": Kind = .default,
+    vla: Kind = .default,
+    @"float-overflow-conversion": Kind = .default,
+    @"float-zero-conversion": Kind = .default,
+    @"float-conversion": Kind = .default,
+    @"gnu-folding-constant": Kind = .default,
+    undef: Kind = .default,
+    @"ignored-pragmas": Kind = .default,
+    @"gnu-include-next": Kind = .default,
+    @"include-next-outside-header": Kind = .default,
+    @"include-next-absolute-path": Kind = .default,
+    @"enum-too-large": Kind = .default,
+    @"fixed-enum-extension": Kind = .default,
+    @"designated-init": Kind = .default,
+    @"attribute-warning": Kind = .default,
+    @"invalid-noreturn": Kind = .default,
+    @"zero-length-array": Kind = .default,
+    @"old-style-flexible-struct": Kind = .default,
+    @"gnu-zero-variadic-macro-arguments": Kind = .default,
+    @"main-return-type": Kind = .default,
+    @"expansion-to-defined": Kind = .default,
+    @"bit-int-extension": Kind = .default,
+    @"keyword-macro": Kind = .default,
+    @"pointer-arith": Kind = .default,
+    @"sizeof-array-argument": Kind = .default,
+    @"pre-c23-compat": Kind = .default,
+    @"pointer-bool-conversion": Kind = .default,
+    @"string-conversion": Kind = .default,
+    @"gnu-auto-type": Kind = .default,
+    @"gnu-union-cast": Kind = .default,
+    @"pointer-sign": Kind = .default,
+    @"fuse-ld-path": Kind = .default,
+    @"language-extension-token": Kind = .default,
+    @"complex-component-init": Kind = .default,
+    @"microsoft-include": Kind = .default,
+    @"microsoft-end-of-file": Kind = .default,
+    @"invalid-source-encoding": Kind = .default,
+    @"four-char-constants": Kind = .default,
+    @"unknown-escape-sequence": Kind = .default,
+    @"invalid-pp-token": Kind = .default,
+    @"deprecated-non-prototype": Kind = .default,
+    @"duplicate-embed-param": Kind = .default,
+    @"unsupported-embed-param": Kind = .default,
+    @"unused-result": Kind = .default,
+    normalized: Kind = .default,
+};
+
+const Diagnostics = @This();
+
+list: std.ArrayListUnmanaged(Message) = .{},
+arena: std.heap.ArenaAllocator,
+fatal_errors: bool = false,
+options: Options = .{},
+errors: u32 = 0,
+macro_backtrace_limit: u32 = 6,
+
+pub fn warningExists(name: []const u8) bool {
+    inline for (std.meta.fields(Options)) |f| {
+        if (mem.eql(u8, f.name, name)) return true;
+    }
+    return false;
+}
+
+pub fn set(d: *Diagnostics, name: []const u8, to: Kind) !void {
+    inline for (std.meta.fields(Options)) |f| {
+        if (mem.eql(u8, f.name, name)) {
+            @field(d.options, f.name) = to;
+            return;
+        }
+    }
+    try d.addExtra(.{}, .{
+        .tag = .unknown_warning,
+        .extra = .{ .str = name },
+    }, &.{});
+}
+
+pub fn init(gpa: Allocator) Diagnostics {
+    return .{
+        .arena = std.heap.ArenaAllocator.init(gpa),
+    };
+}
+
+pub fn deinit(d: *Diagnostics) void {
+    d.list.deinit(d.arena.child_allocator);
+    d.arena.deinit();
+}
+
+pub fn add(comp: *Compilation, msg: Message, expansion_locs: []const Source.Location) Compilation.Error!void {
+    return comp.diagnostics.addExtra(comp.langopts, msg, expansion_locs);
+}
+
+pub fn addExtra(
+    d: *Diagnostics,
+    langopts: LangOpts,
+    msg: Message,
+    expansion_locs: []const Source.Location,
+) Compilation.Error!void {
+    const kind = d.tagKind(msg.tag, langopts);
+    if (kind == .off) return;
+    var copy = msg;
+    copy.kind = kind;
+
+    if (expansion_locs.len != 0) copy.loc = expansion_locs[expansion_locs.len - 1];
+    try d.list.append(d.arena.child_allocator, copy);
+    if (expansion_locs.len != 0) {
+        // Add macro backtrace notes in reverse order omitting from the middle if needed.
+        var i = expansion_locs.len - 1;
+        const half = d.macro_backtrace_limit / 2;
+        const limit = if (i < d.macro_backtrace_limit) 0 else i - half;
+        try d.list.ensureUnusedCapacity(
+            d.arena.child_allocator,
+            if (limit == 0) expansion_locs.len else d.macro_backtrace_limit + 1,
+        );
+        while (i > limit) {
+            i -= 1;
+            d.list.appendAssumeCapacity(.{
+                .tag = .expanded_from_here,
+                .kind = .note,
+                .loc = expansion_locs[i],
+            });
+        }
+        if (limit != 0) {
+            d.list.appendAssumeCapacity(.{
+                .tag = .skipping_macro_backtrace,
+                .kind = .note,
+                .extra = .{ .unsigned = expansion_locs.len - d.macro_backtrace_limit },
+            });
+            i = half - 1;
+            while (i > 0) {
+                i -= 1;
+                d.list.appendAssumeCapacity(.{
+                    .tag = .expanded_from_here,
+                    .kind = .note,
+                    .loc = expansion_locs[i],
+                });
+            }
+        }
+
+        d.list.appendAssumeCapacity(.{
+            .tag = .expanded_from_here,
+            .kind = .note,
+            .loc = msg.loc,
+        });
+    }
+    if (kind == .@"fatal error" or (kind == .@"error" and d.fatal_errors))
+        return error.FatalError;
+}
+
+pub fn render(comp: *Compilation, config: std.io.tty.Config) void {
+    if (comp.diagnostics.list.items.len == 0) return;
+    var m = defaultMsgWriter(config);
+    defer m.deinit();
+    renderMessages(comp, &m);
+}
+pub fn defaultMsgWriter(config: std.io.tty.Config) MsgWriter {
+    return MsgWriter.init(config);
+}
+
+pub fn renderMessages(comp: *Compilation, m: anytype) void {
+    var errors: u32 = 0;
+    var warnings: u32 = 0;
+    for (comp.diagnostics.list.items) |msg| {
+        switch (msg.kind) {
+            .@"fatal error", .@"error" => errors += 1,
+            .warning => warnings += 1,
+            .note => {},
+            .off => continue, // happens if an error is added before it is disabled
+            .default => unreachable,
+        }
+        renderMessage(comp, m, msg);
+    }
+    const w_s: []const u8 = if (warnings == 1) "" else "s";
+    const e_s: []const u8 = if (errors == 1) "" else "s";
+    if (errors != 0 and warnings != 0) {
+        m.print("{d} warning{s} and {d} error{s} generated.\n", .{ warnings, w_s, errors, e_s });
+    } else if (warnings != 0) {
+        m.print("{d} warning{s} generated.\n", .{ warnings, w_s });
+    } else if (errors != 0) {
+        m.print("{d} error{s} generated.\n", .{ errors, e_s });
+    }
+
+    comp.diagnostics.list.items.len = 0;
+    comp.diagnostics.errors += errors;
+}
+
+pub fn renderMessage(comp: *Compilation, m: anytype, msg: Message) void {
+    var line: ?[]const u8 = null;
+    var end_with_splice = false;
+    const width = if (msg.loc.id != .unused) blk: {
+        var loc = msg.loc;
+        switch (msg.tag) {
+            .escape_sequence_overflow,
+            .invalid_universal_character,
+            => loc.byte_offset += @truncate(msg.extra.offset),
+            .non_standard_escape_char,
+            .unknown_escape_sequence,
+            => loc.byte_offset += msg.extra.invalid_escape.offset,
+            else => {},
+        }
+        const source = comp.getSource(loc.id);
+        var line_col = source.lineCol(loc);
+        line = line_col.line;
+        end_with_splice = line_col.end_with_splice;
+        if (msg.tag == .backslash_newline_escape) {
+            line = line_col.line[0 .. line_col.col - 1];
+            line_col.col += 1;
+            line_col.width += 1;
+        }
+        m.location(source.path, line_col.line_no, line_col.col);
+        break :blk line_col.width;
+    } else 0;
+
+    m.start(msg.kind);
+    const prop = msg.tag.property();
+    switch (prop.extra) {
+        .str => printRt(m, prop.msg, .{"{s}"}, .{msg.extra.str}),
+        .tok_id => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+            msg.extra.tok_id.expected.symbol(),
+            msg.extra.tok_id.actual.symbol(),
+        }),
+        .tok_id_expected => printRt(m, prop.msg, .{"{s}"}, .{msg.extra.tok_id_expected.symbol()}),
+        .arguments => printRt(m, prop.msg, .{ "{d}", "{d}" }, .{
+            msg.extra.arguments.expected,
+            msg.extra.arguments.actual,
+        }),
+        .codepoints => printRt(m, prop.msg, .{ "{X:0>4}", "{u}" }, .{
+            msg.extra.codepoints.actual,
+            msg.extra.codepoints.resembles,
+        }),
+        .attr_arg_count => printRt(m, prop.msg, .{ "{s}", "{d}" }, .{
+            @tagName(msg.extra.attr_arg_count.attribute),
+            msg.extra.attr_arg_count.expected,
+        }),
+        .attr_arg_type => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+            msg.extra.attr_arg_type.expected.toString(),
+            msg.extra.attr_arg_type.actual.toString(),
+        }),
+        .actual_codepoint => printRt(m, prop.msg, .{"{X:0>4}"}, .{msg.extra.actual_codepoint}),
+        .ascii => printRt(m, prop.msg, .{"{c}"}, .{msg.extra.ascii}),
+        .unsigned => printRt(m, prop.msg, .{"{d}"}, .{msg.extra.unsigned}),
+        .pow_2_as_string => printRt(m, prop.msg, .{"{s}"}, .{switch (msg.extra.pow_2_as_string) {
+            63 => "9223372036854775808",
+            64 => "18446744073709551616",
+            127 => "170141183460469231731687303715884105728",
+            128 => "340282366920938463463374607431768211456",
+            else => unreachable,
+        }}),
+        .signed => printRt(m, prop.msg, .{"{d}"}, .{msg.extra.signed}),
+        .attr_enum => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+            @tagName(msg.extra.attr_enum.tag),
+            Attribute.Formatting.choices(msg.extra.attr_enum.tag),
+        }),
+        .ignored_record_attr => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+            @tagName(msg.extra.ignored_record_attr.tag),
+            @tagName(msg.extra.ignored_record_attr.specifier),
+        }),
+        .builtin_with_header => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+            @tagName(msg.extra.builtin_with_header.header),
+            Builtin.nameFromTag(msg.extra.builtin_with_header.builtin).span(),
+        }),
+        .invalid_escape => {
+            if (std.ascii.isPrint(msg.extra.invalid_escape.char)) {
+                const str: [1]u8 = .{msg.extra.invalid_escape.char};
+                printRt(m, prop.msg, .{"{s}"}, .{&str});
+            } else {
+                var buf: [3]u8 = undefined;
+                const str = std.fmt.bufPrint(&buf, "x{x}", .{std.fmt.fmtSliceHexLower(&.{msg.extra.invalid_escape.char})}) catch unreachable;
+                printRt(m, prop.msg, .{"{s}"}, .{str});
+            }
+        },
+        .normalized => {
+            const f = struct {
+                pub fn f(
+                    bytes: []const u8,
+                    comptime _: []const u8,
+                    _: std.fmt.FormatOptions,
+                    writer: anytype,
+                ) !void {
+                    var it: std.unicode.Utf8Iterator = .{
+                        .bytes = bytes,
+                        .i = 0,
+                    };
+                    while (it.nextCodepoint()) |codepoint| {
+                        if (codepoint < 0x7F) {
+                            try writer.writeByte(@intCast(codepoint));
+                        } else if (codepoint < 0xFFFF) {
+                            try writer.writeAll("\\u");
+                            try std.fmt.formatInt(codepoint, 16, .upper, .{
+                                .fill = '0',
+                                .width = 4,
+                            }, writer);
+                        } else {
+                            try writer.writeAll("\\U");
+                            try std.fmt.formatInt(codepoint, 16, .upper, .{
+                                .fill = '0',
+                                .width = 8,
+                            }, writer);
+                        }
+                    }
+                }
+            }.f;
+            printRt(m, prop.msg, .{"{s}"}, .{
+                std.fmt.Formatter(f){ .data = msg.extra.normalized },
+            });
+        },
+        .none, .offset => m.write(prop.msg),
+    }
+
+    if (prop.opt) |some| {
+        if (msg.kind == .@"error" and prop.kind != .@"error") {
+            m.print(" [-Werror,-W{s}]", .{optName(some)});
+        } else if (msg.kind != .note) {
+            m.print(" [-W{s}]", .{optName(some)});
+        }
+    }
+
+    m.end(line, width, end_with_splice);
+}
+
+fn printRt(m: anytype, str: []const u8, comptime fmts: anytype, args: anytype) void {
+    var i: usize = 0;
+    inline for (fmts, args) |fmt, arg| {
+        const new = std.mem.indexOfPos(u8, str, i, fmt).?;
+        m.write(str[i..new]);
+        i = new + fmt.len;
+        m.print(fmt, .{arg});
+    }
+    m.write(str[i..]);
+}
+
+fn optName(offset: u16) []const u8 {
+    return std.meta.fieldNames(Options)[offset / @sizeOf(Kind)];
+}
+
+fn tagKind(d: *Diagnostics, tag: Tag, langopts: LangOpts) Kind {
+    const prop = tag.property();
+    var kind = prop.getKind(&d.options);
+
+    if (prop.all) {
+        if (d.options.all != .default) kind = d.options.all;
+    }
+    if (prop.w_extra) {
+        if (d.options.extra != .default) kind = d.options.extra;
+    }
+    if (prop.pedantic) {
+        if (d.options.pedantic != .default) kind = d.options.pedantic;
+    }
+    if (prop.suppress_version) |some| if (langopts.standard.atLeast(some)) return .off;
+    if (prop.suppress_unless_version) |some| if (!langopts.standard.atLeast(some)) return .off;
+    if (prop.suppress_gnu and langopts.standard.isExplicitGNU()) return .off;
+    if (prop.suppress_gcc and langopts.emulate == .gcc) return .off;
+    if (prop.suppress_clang and langopts.emulate == .clang) return .off;
+    if (prop.suppress_msvc and langopts.emulate == .msvc) return .off;
+    if (kind == .@"error" and d.fatal_errors) kind = .@"fatal error";
+    return kind;
+}
+
+const MsgWriter = struct {
+    w: std.io.BufferedWriter(4096, std.fs.File.Writer),
+    config: std.io.tty.Config,
+
+    fn init(config: std.io.tty.Config) MsgWriter {
+        std.debug.getStderrMutex().lock();
+        return .{
+            .w = std.io.bufferedWriter(std.io.getStdErr().writer()),
+            .config = config,
+        };
+    }
+
+    pub fn deinit(m: *MsgWriter) void {
+        m.w.flush() catch {};
+        std.debug.getStderrMutex().unlock();
+    }
+
+    pub fn print(m: *MsgWriter, comptime fmt: []const u8, args: anytype) void {
+        m.w.writer().print(fmt, args) catch {};
+    }
+
+    fn write(m: *MsgWriter, msg: []const u8) void {
+        m.w.writer().writeAll(msg) catch {};
+    }
+
+    fn setColor(m: *MsgWriter, color: std.io.tty.Color) void {
+        m.config.setColor(m.w.writer(), color) catch {};
+    }
+
+    fn location(m: *MsgWriter, path: []const u8, line: u32, col: u32) void {
+        m.setColor(.bold);
+        m.print("{s}:{d}:{d}: ", .{ path, line, col });
+    }
+
+    fn start(m: *MsgWriter, kind: Kind) void {
+        switch (kind) {
+            .@"fatal error", .@"error" => m.setColor(.bright_red),
+            .note => m.setColor(.bright_cyan),
+            .warning => m.setColor(.bright_magenta),
+            .off, .default => unreachable,
+        }
+        m.write(switch (kind) {
+            .@"fatal error" => "fatal error: ",
+            .@"error" => "error: ",
+            .note => "note: ",
+            .warning => "warning: ",
+            .off, .default => unreachable,
+        });
+        m.setColor(.white);
+    }
+
+    fn end(m: *MsgWriter, maybe_line: ?[]const u8, col: u32, end_with_splice: bool) void {
+        const line = maybe_line orelse {
+            m.write("\n");
+            m.setColor(.reset);
+            return;
+        };
+        const trailer = if (end_with_splice) "\\ " else "";
+        m.setColor(.reset);
+        m.print("\n{s}{s}\n{s: >[3]}", .{ line, trailer, "", col });
+        m.setColor(.bold);
+        m.setColor(.bright_green);
+        m.write("^\n");
+        m.setColor(.reset);
+    }
+};
deps/aro/Driver.zig → deps/aro/aro/Driver.zig
@@ -2,18 +2,17 @@ const std = @import("std");
 const mem = std.mem;
 const Allocator = mem.Allocator;
 const process = std.process;
-const Codegen = @import("Codegen_legacy.zig");
+const backend = @import("backend");
+const Ir = backend.Ir;
+const Object = backend.Object;
 const Compilation = @import("Compilation.zig");
+const Diagnostics = @import("Diagnostics.zig");
 const LangOpts = @import("LangOpts.zig");
 const Preprocessor = @import("Preprocessor.zig");
-const Parser = @import("Parser.zig");
 const Source = @import("Source.zig");
 const Toolchain = @import("Toolchain.zig");
-const util = @import("util.zig");
 const target_util = @import("target.zig");
 
-const Driver = @This();
-
 pub const Linker = enum {
     ld,
     bfd,
@@ -22,11 +21,14 @@ pub const Linker = enum {
     mold,
 };
 
+const Driver = @This();
+
 comp: *Compilation,
 inputs: std.ArrayListUnmanaged(Source) = .{},
 link_objects: std.ArrayListUnmanaged([]const u8) = .{},
 output_name: ?[]const u8 = null,
 sysroot: ?[]const u8 = null,
+system_defines: Compilation.SystemDefinesMode = .include_system_defines,
 temp_file_count: u32 = 0,
 /// If false, do not emit line directives in -E mode
 line_commands: bool = true,
@@ -40,6 +42,7 @@ verbose_ast: bool = false,
 verbose_pp: bool = false,
 verbose_ir: bool = false,
 verbose_linker_args: bool = false,
+color: ?bool = null,
 
 /// Full path to the aro executable
 aro_name: []const u8 = "",
@@ -87,8 +90,8 @@ pub const usage =
     \\  -c, --compile           Only run preprocess, compile, and assemble steps
     \\  -D <macro>=<value>      Define <macro> to <value> (defaults to 1)
     \\  -E                      Only run the preprocessor
-    \\  -fchar8_t               Enable char8_t (enabled by default in C2X and later)
-    \\  -fno-char8_t            Disable char8_t (disabled by default for pre-C2X)
+    \\  -fchar8_t               Enable char8_t (enabled by default in C23 and later)
+    \\  -fno-char8_t            Disable char8_t (disabled by default for pre-C23)
     \\  -fcolor-diagnostics     Enable colors in diagnostics
     \\  -fno-color-diagnostics  Disable colors in diagnostics
     \\  -fdeclspec              Enable support for __declspec attributes
@@ -131,6 +134,7 @@ pub const usage =
     \\  --sysroot=<dir>         Use dir as the logical root directory for headers and libraries (not fully implemented)
     \\  --target=<value>        Generate code for the given target
     \\  -U <macro>              Undefine <macro>
+    \\  -undef                  Do not predefine any system-specific macros. Standard predefined macros remain defined.
     \\  -Werror                 Treat all warnings as errors
     \\  -Werror=<warning>       Treat warning as error
     \\  -W<warning>             Enable the specified warning
@@ -172,23 +176,18 @@ pub fn parseArgs(
     args: []const []const u8,
 ) !bool {
     var i: usize = 1;
-    var color_setting: enum {
-        on,
-        off,
-        unset,
-    } = .unset;
     var comment_arg: []const u8 = "";
     while (i < args.len) : (i += 1) {
         const arg = args[i];
         if (mem.startsWith(u8, arg, "-") and arg.len > 1) {
             if (mem.eql(u8, arg, "-h") or mem.eql(u8, arg, "--help")) {
                 std_out.print(usage, .{args[0]}) catch |er| {
-                    return d.fatal("unable to print usage: {s}", .{util.errorDescription(er)});
+                    return d.fatal("unable to print usage: {s}", .{errorDescription(er)});
                 };
                 return true;
             } else if (mem.eql(u8, arg, "-v") or mem.eql(u8, arg, "--version")) {
-                std_out.writeAll(@import("lib.zig").version_str ++ "\n") catch |er| {
-                    return d.fatal("unable to print version: {s}", .{util.errorDescription(er)});
+                std_out.writeAll(@import("backend").version_str ++ "\n") catch |er| {
+                    return d.fatal("unable to print version: {s}", .{errorDescription(er)});
                 };
                 return true;
             } else if (mem.startsWith(u8, arg, "-D")) {
@@ -218,6 +217,8 @@ pub fn parseArgs(
                     macro = args[i];
                 }
                 try macro_buf.print("#undef {s}\n", .{macro});
+            } else if (mem.eql(u8, arg, "-undef")) {
+                d.system_defines = .no_system_defines;
             } else if (mem.eql(u8, arg, "-c") or mem.eql(u8, arg, "--compile")) {
                 d.only_compile = true;
             } else if (mem.eql(u8, arg, "-E")) {
@@ -233,9 +234,9 @@ pub fn parseArgs(
             } else if (mem.eql(u8, arg, "-fno-char8_t")) {
                 d.comp.langopts.has_char8_t_override = false;
             } else if (mem.eql(u8, arg, "-fcolor-diagnostics")) {
-                color_setting = .on;
+                d.color = true;
             } else if (mem.eql(u8, arg, "-fno-color-diagnostics")) {
-                color_setting = .off;
+                d.color = false;
             } else if (mem.eql(u8, arg, "-fdollars-in-identifiers")) {
                 d.comp.langopts.dollars_in_identifiers = true;
             } else if (mem.eql(u8, arg, "-fno-dollars-in-identifiers")) {
@@ -255,7 +256,7 @@ pub fn parseArgs(
                 };
 
                 if (limit == 0) limit = std.math.maxInt(u32);
-                d.comp.diag.macro_backtrace_limit = limit;
+                d.comp.diagnostics.macro_backtrace_limit = limit;
             } else if (mem.eql(u8, arg, "-fnative-half-type")) {
                 d.comp.langopts.use_native_half_type = true;
             } else if (mem.eql(u8, arg, "-fnative-half-arguments-and-returns")) {
@@ -290,7 +291,7 @@ pub fn parseArgs(
                     }
                     path = args[i];
                 }
-                try d.comp.include_dirs.append(path);
+                try d.comp.include_dirs.append(d.comp.gpa, path);
             } else if (mem.startsWith(u8, arg, "-fsyntax-only")) {
                 d.only_syntax = true;
             } else if (mem.startsWith(u8, arg, "-fno-syntax-only")) {
@@ -307,17 +308,17 @@ pub fn parseArgs(
                 }
                 const duped = try d.comp.gpa.dupe(u8, path);
                 errdefer d.comp.gpa.free(duped);
-                try d.comp.system_include_dirs.append(duped);
+                try d.comp.system_include_dirs.append(d.comp.gpa, duped);
             } else if (option(arg, "--emulate=")) |compiler_str| {
                 const compiler = std.meta.stringToEnum(LangOpts.Compiler, compiler_str) orelse {
-                    try d.comp.diag.add(.{ .tag = .cli_invalid_emulate, .extra = .{ .str = arg } }, &.{});
+                    try d.comp.addDiagnostic(.{ .tag = .cli_invalid_emulate, .extra = .{ .str = arg } }, &.{});
                     continue;
                 };
                 d.comp.langopts.setEmulatedCompiler(compiler);
             } else if (option(arg, "-ffp-eval-method=")) |fp_method_str| {
                 const fp_eval_method = std.meta.stringToEnum(LangOpts.FPEvalMethod, fp_method_str) orelse .indeterminate;
                 if (fp_eval_method == .indeterminate) {
-                    try d.comp.diag.add(.{ .tag = .cli_invalid_fp_eval_method, .extra = .{ .str = fp_method_str } }, &.{});
+                    try d.comp.addDiagnostic(.{ .tag = .cli_invalid_fp_eval_method, .extra = .{ .str = fp_method_str } }, &.{});
                     continue;
                 }
                 d.comp.langopts.setFpEvalMethod(fp_eval_method);
@@ -335,31 +336,31 @@ pub fn parseArgs(
             } else if (option(arg, "--sysroot=")) |sysroot| {
                 d.sysroot = sysroot;
             } else if (mem.eql(u8, arg, "-pedantic")) {
-                d.comp.diag.options.pedantic = .warning;
+                d.comp.diagnostics.options.pedantic = .warning;
             } else if (option(arg, "--rtlib=")) |rtlib| {
                 if (mem.eql(u8, rtlib, "compiler-rt") or mem.eql(u8, rtlib, "libgcc") or mem.eql(u8, rtlib, "platform")) {
                     d.rtlib = rtlib;
                 } else {
-                    try d.comp.diag.add(.{ .tag = .invalid_rtlib, .extra = .{ .str = rtlib } }, &.{});
+                    try d.comp.addDiagnostic(.{ .tag = .invalid_rtlib, .extra = .{ .str = rtlib } }, &.{});
                 }
             } else if (option(arg, "-Werror=")) |err_name| {
-                try d.comp.diag.set(err_name, .@"error");
+                try d.comp.diagnostics.set(err_name, .@"error");
             } else if (mem.eql(u8, arg, "-Wno-fatal-errors")) {
-                d.comp.diag.fatal_errors = false;
+                d.comp.diagnostics.fatal_errors = false;
             } else if (option(arg, "-Wno-")) |err_name| {
-                try d.comp.diag.set(err_name, .off);
+                try d.comp.diagnostics.set(err_name, .off);
             } else if (mem.eql(u8, arg, "-Wfatal-errors")) {
-                d.comp.diag.fatal_errors = true;
+                d.comp.diagnostics.fatal_errors = true;
             } else if (option(arg, "-W")) |err_name| {
-                try d.comp.diag.set(err_name, .warning);
+                try d.comp.diagnostics.set(err_name, .warning);
             } else if (option(arg, "-std=")) |standard| {
                 d.comp.langopts.setStandard(standard) catch
-                    try d.comp.diag.add(.{ .tag = .cli_invalid_standard, .extra = .{ .str = arg } }, &.{});
+                    try d.comp.addDiagnostic(.{ .tag = .cli_invalid_standard, .extra = .{ .str = arg } }, &.{});
             } else if (mem.eql(u8, arg, "-S") or mem.eql(u8, arg, "--assemble")) {
                 d.only_preprocess_and_compile = true;
             } else if (option(arg, "--target=")) |triple| {
                 const cross = std.zig.CrossTarget.parse(.{ .arch_os_abi = triple }) catch {
-                    try d.comp.diag.add(.{ .tag = .cli_invalid_target, .extra = .{ .str = arg } }, &.{});
+                    try d.comp.addDiagnostic(.{ .tag = .cli_invalid_target, .extra = .{ .str = arg } }, &.{});
                     continue;
                 };
                 d.comp.target = cross.toTarget(); // TODO deprecated
@@ -422,25 +423,20 @@ pub fn parseArgs(
                         break;
                     }
                 } else {
-                    try d.comp.diag.add(.{ .tag = .invalid_unwindlib, .extra = .{ .str = unwindlib } }, &.{});
+                    try d.comp.addDiagnostic(.{ .tag = .invalid_unwindlib, .extra = .{ .str = unwindlib } }, &.{});
                 }
             } else {
-                try d.comp.diag.add(.{ .tag = .cli_unknown_arg, .extra = .{ .str = arg } }, &.{});
+                try d.comp.addDiagnostic(.{ .tag = .cli_unknown_arg, .extra = .{ .str = arg } }, &.{});
             }
         } else if (std.mem.endsWith(u8, arg, ".o") or std.mem.endsWith(u8, arg, ".obj")) {
             try d.link_objects.append(d.comp.gpa, arg);
         } else {
             const source = d.addSource(arg) catch |er| {
-                return d.fatal("unable to add source file '{s}': {s}", .{ arg, util.errorDescription(er) });
+                return d.fatal("unable to add source file '{s}': {s}", .{ arg, errorDescription(er) });
             };
             try d.inputs.append(d.comp.gpa, source);
         }
     }
-    d.comp.diag.color = switch (color_setting) {
-        .on => true,
-        .off => false,
-        .unset => util.fileSupportsColor(std.io.getStdErr()) and !std.process.hasEnvVarConstant("NO_COLOR"),
-    };
     if (d.comp.langopts.preserve_comments and !d.only_preprocess) {
         return d.fatal("invalid argument '{s}' only allowed with '-E'", .{comment_arg});
     }
@@ -465,15 +461,65 @@ fn addSource(d: *Driver, path: []const u8) !Source {
 }
 
 pub fn err(d: *Driver, msg: []const u8) !void {
-    try d.comp.diag.add(.{ .tag = .cli_error, .extra = .{ .str = msg } }, &.{});
+    try d.comp.addDiagnostic(.{ .tag = .cli_error, .extra = .{ .str = msg } }, &.{});
+}
+
+pub fn fatal(d: *Driver, comptime fmt: []const u8, args: anytype) error{ FatalError, OutOfMemory } {
+    try d.comp.diagnostics.list.append(d.comp.gpa, .{
+        .tag = .cli_error,
+        .kind = .@"fatal error",
+        .extra = .{ .str = try std.fmt.allocPrint(d.comp.diagnostics.arena.allocator(), fmt, args) },
+    });
+    return error.FatalError;
 }
 
-pub fn fatal(d: *Driver, comptime fmt: []const u8, args: anytype) error{FatalError} {
-    d.comp.renderErrors();
-    return d.comp.diag.fatalNoSrc(fmt, args);
+pub fn renderErrors(d: *Driver) void {
+    Diagnostics.render(d.comp, d.detectConfig(std.io.getStdErr()));
 }
 
-pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
+pub fn detectConfig(d: *Driver, file: std.fs.File) std.io.tty.Config {
+    if (d.color == true) return .escape_codes;
+    if (d.color == false) return .no_color;
+
+    if (file.supportsAnsiEscapeCodes()) return .escape_codes;
+    if (@import("builtin").os.tag == .windows and file.isTty()) {
+        var info: std.os.windows.CONSOLE_SCREEN_BUFFER_INFO = undefined;
+        if (std.os.windows.kernel32.GetConsoleScreenBufferInfo(file.handle, &info) != std.os.windows.TRUE) {
+            return .no_color;
+        }
+        return .{ .windows_api = .{
+            .handle = file.handle,
+            .reset_attributes = info.wAttributes,
+        } };
+    }
+
+    return .no_color;
+}
+
+pub fn errorDescription(e: anyerror) []const u8 {
+    return switch (e) {
+        error.OutOfMemory => "ran out of memory",
+        error.FileNotFound => "file not found",
+        error.IsDir => "is a directory",
+        error.NotDir => "is not a directory",
+        error.NotOpenForReading => "file is not open for reading",
+        error.NotOpenForWriting => "file is not open for writing",
+        error.InvalidUtf8 => "input is not valid UTF-8",
+        error.FileBusy => "file is busy",
+        error.NameTooLong => "file name is too long",
+        error.AccessDenied => "access denied",
+        error.FileTooBig => "file is too big",
+        error.ProcessFdQuotaExceeded, error.SystemFdQuotaExceeded => "ran out of file descriptors",
+        error.SystemResources => "ran out of system resources",
+        error.FatalError => "a fatal error occurred",
+        error.Unexpected => "an unexpected error occurred",
+        else => @errorName(e),
+    };
+}
+
+/// The entry point of the Aro compiler.
+/// **MAY call `exit` if `fast_exit` is set.**
+pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_exit: bool) !void {
     var macro_buf = std.ArrayList(u8).init(d.comp.gpa);
     defer macro_buf.deinit();
 
@@ -489,7 +535,7 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
     }
 
     if (!linking) for (d.link_objects.items) |obj| {
-        try d.comp.diag.add(.{ .tag = .cli_unused_link_object, .extra = .{ .str = obj } }, &.{});
+        try d.comp.addDiagnostic(.{ .tag = .cli_unused_link_object, .extra = .{ .str = obj } }, &.{});
     };
 
     d.comp.defineSystemIncludes(d.aro_name) catch |er| switch (er) {
@@ -497,15 +543,13 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
         error.AroIncludeNotFound => return d.fatal("unable to find Aro builtin headers", .{}),
     };
 
-    const builtin = try d.comp.generateBuiltinMacros();
+    const builtin = try d.comp.generateBuiltinMacros(d.system_defines);
     const user_macros = try d.comp.addSourceFromBuffer("<command line>", macro_buf.items);
 
-    const fast_exit = @import("builtin").mode != .Debug;
-
     if (fast_exit and d.inputs.items.len == 1) {
         d.processSource(tc, d.inputs.items[0], builtin, user_macros, fast_exit) catch |e| switch (e) {
             error.FatalError => {
-                d.comp.renderErrors();
+                d.renderErrors();
                 d.exitWithCleanup(1);
             },
             else => |er| return er,
@@ -516,12 +560,12 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
     for (d.inputs.items) |source| {
         d.processSource(tc, source, builtin, user_macros, fast_exit) catch |e| switch (e) {
             error.FatalError => {
-                d.comp.renderErrors();
+                d.renderErrors();
             },
             else => |er| return er,
         };
     }
-    if (d.comp.diag.errors != 0) {
+    if (d.comp.diagnostics.errors != 0) {
         if (fast_exit) d.exitWithCleanup(1);
         return;
     }
@@ -540,7 +584,7 @@ fn processSource(
     comptime fast_exit: bool,
 ) !void {
     d.comp.generated_buf.items.len = 0;
-    var pp = Preprocessor.init(d.comp);
+    var pp = try Preprocessor.initDefault(d.comp);
     defer pp.deinit();
 
     if (d.comp.langopts.ms_extensions) {
@@ -554,52 +598,48 @@ fn processSource(
             pp.linemarkers = if (d.use_line_directives) .line_directives else .numeric_directives;
         }
     }
-    try pp.addBuiltinMacros();
 
-    try pp.addIncludeStart(source);
-    try pp.addIncludeStart(builtin);
-    _ = try pp.preprocess(builtin);
-    try pp.addIncludeStart(user_macros);
-    _ = try pp.preprocess(user_macros);
-    try pp.addIncludeResume(source.id, 0, 0);
-    const eof = try pp.preprocess(source);
-    try pp.tokens.append(pp.comp.gpa, eof);
+    try pp.preprocessSources(&.{ source, builtin, user_macros });
 
     if (d.only_preprocess) {
-        d.comp.renderErrors();
+        d.renderErrors();
+
+        if (d.comp.diagnostics.errors != 0) {
+            if (fast_exit) std.process.exit(1); // Not linking, no need for cleanup.
+            return;
+        }
 
         const file = if (d.output_name) |some|
             std.fs.cwd().createFile(some, .{}) catch |er|
-                return d.fatal("unable to create output file '{s}': {s}", .{ some, util.errorDescription(er) })
+                return d.fatal("unable to create output file '{s}': {s}", .{ some, errorDescription(er) })
         else
             std.io.getStdOut();
         defer if (d.output_name != null) file.close();
 
         var buf_w = std.io.bufferedWriter(file.writer());
         pp.prettyPrintTokens(buf_w.writer()) catch |er|
-            return d.fatal("unable to write result: {s}", .{util.errorDescription(er)});
+            return d.fatal("unable to write result: {s}", .{errorDescription(er)});
 
         buf_w.flush() catch |er|
-            return d.fatal("unable to write result: {s}", .{util.errorDescription(er)});
+            return d.fatal("unable to write result: {s}", .{errorDescription(er)});
         if (fast_exit) std.process.exit(0); // Not linking, no need for cleanup.
         return;
     }
 
-    var tree = try Parser.parse(&pp);
+    var tree = try pp.parse();
     defer tree.deinit();
 
     if (d.verbose_ast) {
         const stdout = std.io.getStdOut();
         var buf_writer = std.io.bufferedWriter(stdout.writer());
-        const color = d.comp.diag.color and util.fileSupportsColor(stdout);
-        tree.dump(color, buf_writer.writer()) catch {};
+        tree.dump(d.detectConfig(stdout), buf_writer.writer()) catch {};
         buf_writer.flush() catch {};
     }
 
-    const prev_errors = d.comp.diag.errors;
-    d.comp.renderErrors();
+    const prev_errors = d.comp.diagnostics.errors;
+    d.renderErrors();
 
-    if (d.comp.diag.errors != prev_errors) {
+    if (d.comp.diagnostics.errors != prev_errors) {
         if (fast_exit) d.exitWithCleanup(1);
         return; // do not compile if there were errors
     }
@@ -616,11 +656,31 @@ fn processSource(
         );
     }
 
+    var ir = try tree.genIr();
+    defer ir.deinit(d.comp.gpa);
+
     if (d.verbose_ir) {
-        try @import("CodeGen.zig").generateTree(d.comp, tree);
+        const stdout = std.io.getStdOut();
+        var buf_writer = std.io.bufferedWriter(stdout.writer());
+        ir.dump(d.comp.gpa, d.detectConfig(stdout), buf_writer.writer()) catch {};
+        buf_writer.flush() catch {};
+    }
+
+    var render_errors: Ir.Renderer.ErrorList = .{};
+    defer {
+        for (render_errors.values()) |msg| d.comp.gpa.free(msg);
+        render_errors.deinit(d.comp.gpa);
     }
 
-    const obj = try Codegen.generateTree(d.comp, tree);
+    var obj = ir.render(d.comp.gpa, d.comp.target, &render_errors) catch |e| switch (e) {
+        error.OutOfMemory => return error.OutOfMemory,
+        error.LowerFail => {
+            return d.fatal(
+                "unable to render Ir to machine code: {s}",
+                .{render_errors.values()[0]},
+            );
+        },
+    };
     defer obj.deinit();
 
     // If it's used, name_buf will either hold a filename or `/tmp/<12 random bytes with base-64 encoding>.<extension>`
@@ -653,11 +713,11 @@ fn processSource(
     };
 
     const out_file = std.fs.cwd().createFile(out_file_name, .{}) catch |er|
-        return d.fatal("unable to create output file '{s}': {s}", .{ out_file_name, util.errorDescription(er) });
+        return d.fatal("unable to create output file '{s}': {s}", .{ out_file_name, errorDescription(er) });
     defer out_file.close();
 
     obj.finish(out_file) catch |er|
-        return d.fatal("could not output to object file '{s}': {s}", .{ out_file_name, util.errorDescription(er) });
+        return d.fatal("could not output to object file '{s}': {s}", .{ out_file_name, errorDescription(er) });
 
     if (d.only_compile) {
         if (fast_exit) std.process.exit(0); // Not linking, no need for cleanup.
@@ -680,6 +740,8 @@ fn dumpLinkerArgs(items: []const []const u8) !void {
     try stdout.writeByte('\n');
 }
 
+/// The entry point of the Aro compiler.
+/// **MAY call `exit` if `fast_exit` is set.**
 pub fn invokeLinker(d: *Driver, tc: *Toolchain, comptime fast_exit: bool) !void {
     try tc.discover();
 
@@ -694,7 +756,7 @@ pub fn invokeLinker(d: *Driver, tc: *Toolchain, comptime fast_exit: bool) !void
 
     if (d.verbose_linker_args) {
         dumpLinkerArgs(argv.items) catch |er| {
-            return d.fatal("unable to dump linker args: {s}", .{util.errorDescription(er)});
+            return d.fatal("unable to dump linker args: {s}", .{errorDescription(er)});
         };
     }
     var child = std.ChildProcess.init(argv.items, d.comp.gpa);
@@ -704,11 +766,19 @@ pub fn invokeLinker(d: *Driver, tc: *Toolchain, comptime fast_exit: bool) !void
     child.stderr_behavior = .Inherit;
 
     const term = child.spawnAndWait() catch |er| {
-        return d.fatal("unable to spawn linker: {s}", .{util.errorDescription(er)});
+        return d.fatal("unable to spawn linker: {s}", .{errorDescription(er)});
     };
     switch (term) {
-        .Exited => |code| if (code != 0) d.exitWithCleanup(code),
-        else => std.process.abort(),
+        .Exited => |code| if (code != 0) {
+            const e = d.fatal("linker exited with an error code", .{});
+            if (fast_exit) d.exitWithCleanup(code);
+            return e;
+        },
+        else => {
+            const e = d.fatal("linker crashed", .{});
+            if (fast_exit) d.exitWithCleanup(1);
+            return e;
+        },
     }
     if (fast_exit) d.exitWithCleanup(0);
 }
deps/aro/features.zig → deps/aro/aro/features.zig
File renamed without changes
deps/aro/InitList.zig → deps/aro/aro/InitList.zig
@@ -12,8 +12,6 @@ const Diagnostics = @import("Diagnostics.zig");
 const NodeList = std.ArrayList(NodeIndex);
 const Parser = @import("Parser.zig");
 
-const InitList = @This();
-
 const Item = struct {
     list: InitList = .{},
     index: u64,
@@ -23,6 +21,8 @@ const Item = struct {
     }
 };
 
+const InitList = @This();
+
 list: std.ArrayListUnmanaged(Item) = .{},
 node: NodeIndex = .none,
 tok: TokenIndex = 0,
deps/aro/LangOpts.zig → deps/aro/aro/LangOpts.zig
@@ -1,8 +1,6 @@
 const std = @import("std");
 const DiagnosticTag = @import("Diagnostics.zig").Tag;
-const CharInfo = @import("CharInfo.zig");
-
-const LangOpts = @This();
+const char_info = @import("char_info.zig");
 
 pub const Compiler = enum {
     clang,
@@ -44,19 +42,21 @@ pub const Standard = enum {
     default,
     /// ISO C 2017 with GNU extensions
     gnu17,
-    /// Working Draft for ISO C2x
-    c2x,
-    /// Working Draft for ISO C2x with GNU extensions
-    gnu2x,
+    /// Working Draft for ISO C23
+    c23,
+    /// Working Draft for ISO C23 with GNU extensions
+    gnu23,
 
     const NameMap = std.ComptimeStringMap(Standard, .{
         .{ "c89", .c89 },                .{ "c90", .c89 },          .{ "iso9899:1990", .c89 },
         .{ "iso9899:199409", .iso9899 }, .{ "gnu89", .gnu89 },      .{ "gnu90", .gnu89 },
-        .{ "c99", .c99 },                .{ "iso9899:1999", .c99 }, .{ "gnu99", .gnu99 },
-        .{ "c11", .c11 },                .{ "iso9899:2011", .c11 }, .{ "gnu11", .gnu11 },
-        .{ "c17", .c17 },                .{ "iso9899:2017", .c17 }, .{ "c18", .c17 },
-        .{ "iso9899:2018", .c17 },       .{ "gnu17", .gnu17 },      .{ "gnu18", .gnu17 },
-        .{ "c2x", .c2x },                .{ "gnu2x", .gnu2x },
+        .{ "c99", .c99 },                .{ "iso9899:1999", .c99 }, .{ "c9x", .c99 },
+        .{ "iso9899:199x", .c99 },       .{ "gnu99", .gnu99 },      .{ "gnu9x", .gnu99 },
+        .{ "c11", .c11 },                .{ "iso9899:2011", .c11 }, .{ "c1x", .c11 },
+        .{ "iso9899:201x", .c11 },       .{ "gnu11", .gnu11 },      .{ "c17", .c17 },
+        .{ "iso9899:2017", .c17 },       .{ "c18", .c17 },          .{ "iso9899:2018", .c17 },
+        .{ "gnu17", .gnu17 },            .{ "gnu18", .gnu17 },      .{ "c23", .c23 },
+        .{ "gnu23", .gnu23 },            .{ "c2x", .c23 },          .{ "gnu2x", .gnu23 },
     });
 
     pub fn atLeast(self: Standard, other: Standard) bool {
@@ -65,7 +65,7 @@ pub const Standard = enum {
 
     pub fn isGNU(standard: Standard) bool {
         return switch (standard) {
-            .gnu89, .gnu99, .gnu11, .default, .gnu17, .gnu2x => true,
+            .gnu89, .gnu99, .gnu11, .default, .gnu17, .gnu23 => true,
             else => false,
         };
     }
@@ -82,26 +82,31 @@ pub const Standard = enum {
             .c99, .gnu99 => "199901L",
             .c11, .gnu11 => "201112L",
             .default, .c17, .gnu17 => "201710L",
-            // todo: subject to change, verify once c23 finalized
-            .c2x, .gnu2x => "202311L",
+            .c23, .gnu23 => "202311L",
         };
     }
 
     pub fn codepointAllowedInIdentifier(standard: Standard, codepoint: u21, is_start: bool) bool {
         if (is_start) {
-            return if (standard.atLeast(.c11))
-                CharInfo.isC11IdChar(codepoint) and !CharInfo.isC11DisallowedInitialIdChar(codepoint)
+            return if (standard.atLeast(.c23))
+                char_info.isXidStart(codepoint)
+            else if (standard.atLeast(.c11))
+                char_info.isC11IdChar(codepoint) and !char_info.isC11DisallowedInitialIdChar(codepoint)
             else
-                CharInfo.isC99IdChar(codepoint) and !CharInfo.isC99DisallowedInitialIDChar(codepoint);
+                char_info.isC99IdChar(codepoint) and !char_info.isC99DisallowedInitialIDChar(codepoint);
         } else {
-            return if (standard.atLeast(.c11))
-                CharInfo.isC11IdChar(codepoint)
+            return if (standard.atLeast(.c23))
+                char_info.isXidContinue(codepoint)
+            else if (standard.atLeast(.c11))
+                char_info.isC11IdChar(codepoint)
             else
-                CharInfo.isC99IdChar(codepoint);
+                char_info.isC99IdChar(codepoint);
         }
     }
 };
 
+const LangOpts = @This();
+
 emulate: Compiler = .clang,
 standard: Standard = .default,
 /// -fshort-enums option, makes enums only take up as much space as they need to hold all the values.
@@ -119,7 +124,7 @@ allow_half_args_and_returns: bool = false,
 fp_eval_method: ?FPEvalMethod = null,
 /// If set, use specified signedness for `char` instead of the target's default char signedness
 char_signedness_override: ?std.builtin.Signedness = null,
-/// If set, override the default availability of char8_t (by default, enabled in C2X and later; disabled otherwise)
+/// If set, override the default availability of char8_t (by default, enabled in C23 and later; disabled otherwise)
 has_char8_t_override: ?bool = null,
 
 /// Whether to allow GNU-style inline assembly
@@ -145,7 +150,7 @@ pub fn disableMSExtensions(self: *LangOpts) void {
 }
 
 pub fn hasChar8_T(self: *const LangOpts) bool {
-    return self.has_char8_t_override orelse self.standard.atLeast(.c2x);
+    return self.has_char8_t_override orelse self.standard.atLeast(.c23);
 }
 
 pub fn hasDigraphs(self: *const LangOpts) bool {
deps/aro/number_affixes.zig → deps/aro/aro/number_affixes.zig
File renamed without changes
deps/aro/Parser.zig → deps/aro/aro/Parser.zig
@@ -16,13 +16,14 @@ const Diagnostics = @import("Diagnostics.zig");
 const NodeList = std.ArrayList(NodeIndex);
 const InitList = @import("InitList.zig");
 const Attribute = @import("Attribute.zig");
-const CharInfo = @import("CharInfo.zig");
-const TextLiteral = @import("TextLiteral.zig");
+const char_info = @import("char_info.zig");
+const text_literal = @import("text_literal.zig");
 const Value = @import("Value.zig");
 const SymbolStack = @import("SymbolStack.zig");
 const Symbol = SymbolStack.Symbol;
 const record_layout = @import("record_layout.zig");
-const StringId = @import("StringInterner.zig").StringId;
+const StrInt = @import("StringInterner.zig");
+const StringId = StrInt.StringId;
 const number_affixes = @import("number_affixes.zig");
 const NumberPrefix = number_affixes.Prefix;
 const NumberSuffix = number_affixes.Suffix;
@@ -30,12 +31,11 @@ const Builtins = @import("Builtins.zig");
 const Builtin = Builtins.Builtin;
 const target_util = @import("target.zig");
 
-const Parser = @This();
-
 const Switch = struct {
     default: ?TokenIndex = null,
     ranges: std.ArrayList(Range),
     ty: Type,
+    comp: *Compilation,
 
     const Range = struct {
         first: Value,
@@ -43,15 +43,9 @@ const Switch = struct {
         tok: TokenIndex,
     };
 
-    fn add(
-        self: *Switch,
-        comp: *Compilation,
-        first: Value,
-        last: Value,
-        tok: TokenIndex,
-    ) !?Range {
+    fn add(self: *Switch, first: Value, last: Value, tok: TokenIndex) !?Range {
         for (self.ranges.items) |range| {
-            if (last.compare(.gte, range.first, self.ty, comp) and first.compare(.lte, range.last, self.ty, comp)) {
+            if (last.compare(.gte, range.first, self.comp) and first.compare(.lte, range.last, self.comp)) {
                 return range; // They overlap.
             }
         }
@@ -90,6 +84,8 @@ const ConstDeclFoldingMode = enum {
     no_const_decl_folding,
 };
 
+const Parser = @This();
+
 // values from preprocessor
 pp: *Preprocessor,
 comp: *Compilation,
@@ -101,7 +97,6 @@ tok_i: TokenIndex = 0,
 arena: Allocator,
 nodes: Tree.Node.List = .{},
 data: NodeList,
-retained_strings: std.ArrayList(u8),
 value_map: Tree.ValueMap,
 
 // buffers used during compilation
@@ -193,29 +188,29 @@ string_ids: struct {
 fn checkIdentifierCodepointWarnings(comp: *Compilation, codepoint: u21, loc: Source.Location) Compilation.Error!bool {
     assert(codepoint >= 0x80);
 
-    const err_start = comp.diag.list.items.len;
+    const err_start = comp.diagnostics.list.items.len;
 
-    if (!CharInfo.isC99IdChar(codepoint)) {
-        try comp.diag.add(.{
+    if (!char_info.isC99IdChar(codepoint)) {
+        try comp.addDiagnostic(.{
             .tag = .c99_compat,
             .loc = loc,
         }, &.{});
     }
-    if (CharInfo.isInvisible(codepoint)) {
-        try comp.diag.add(.{
+    if (char_info.isInvisible(codepoint)) {
+        try comp.addDiagnostic(.{
             .tag = .unicode_zero_width,
             .loc = loc,
             .extra = .{ .actual_codepoint = codepoint },
         }, &.{});
     }
-    if (CharInfo.homoglyph(codepoint)) |resembles| {
-        try comp.diag.add(.{
+    if (char_info.homoglyph(codepoint)) |resembles| {
+        try comp.addDiagnostic(.{
             .tag = .unicode_homoglyph,
             .loc = loc,
             .extra = .{ .codepoints = .{ .actual = codepoint, .resembles = resembles } },
         }, &.{});
     }
-    return comp.diag.list.items.len != err_start;
+    return comp.diagnostics.list.items.len != err_start;
 }
 
 /// Issues diagnostics for the current extended identifier token
@@ -238,6 +233,8 @@ fn validateExtendedIdentifier(p: *Parser) !bool {
     var invalid_char: u21 = undefined;
     var loc = p.pp.tokens.items(.loc)[p.tok_i];
 
+    var normalized = true;
+    var last_canonical_class: char_info.CanonicalCombiningClass = .not_reordered;
     const standard = p.comp.langopts.standard;
     while (it.nextCodepoint()) |codepoint| {
         defer {
@@ -246,7 +243,7 @@ fn validateExtendedIdentifier(p: *Parser) !bool {
         }
         if (codepoint == '$') {
             warned = true;
-            try p.comp.diag.add(.{
+            if (p.comp.langopts.dollars_in_identifiers) try p.comp.addDiagnostic(.{
                 .tag = .dollar_in_identifier_extension,
                 .loc = loc,
             }, &.{});
@@ -265,6 +262,22 @@ fn validateExtendedIdentifier(p: *Parser) !bool {
         if (!warned) {
             warned = try checkIdentifierCodepointWarnings(p.comp, codepoint, loc);
         }
+
+        // Check NFC normalization.
+        if (!normalized) continue;
+        const canonical_class = char_info.getCanonicalClass(codepoint);
+        if (@intFromEnum(last_canonical_class) > @intFromEnum(canonical_class) and
+            canonical_class != .not_reordered)
+        {
+            normalized = false;
+            try p.errStr(.identifier_not_normalized, p.tok_i, slice);
+            continue;
+        }
+        if (char_info.isNormalized(codepoint) != .yes) {
+            normalized = false;
+            try p.errExtra(.identifier_not_normalized, p.tok_i, .{ .normalized = slice });
+        }
+        last_canonical_class = canonical_class;
     }
 
     if (!valid_identifier) {
@@ -357,11 +370,7 @@ fn expectClosing(p: *Parser, opening: TokenIndex, id: Token.Id) Error!void {
 }
 
 fn errOverflow(p: *Parser, op_tok: TokenIndex, res: Result) !void {
-    if (res.ty.isUnsignedInt(p.comp)) {
-        try p.errExtra(.overflow_unsigned, op_tok, .{ .unsigned = res.val.data.int });
-    } else {
-        try p.errExtra(.overflow_signed, op_tok, .{ .signed = res.val.signExtend(res.ty, p.comp) });
-    }
+    try p.errStr(.overflow, op_tok, try res.str(p));
 }
 
 fn errExpectedToken(p: *Parser, expected: Token.Id, actual: Token.Id) Error {
@@ -391,7 +400,7 @@ pub fn errExtra(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, extra: Diag
         loc = prev.loc;
         loc.byte_offset += @intCast(p.tokSlice(tok_i - 1).len);
     }
-    try p.comp.diag.add(.{
+    try p.comp.addDiagnostic(.{
         .tag = tag,
         .loc = loc,
         .extra = extra,
@@ -413,6 +422,16 @@ pub fn todo(p: *Parser, msg: []const u8) Error {
     return error.ParsingFailed;
 }
 
+pub fn removeNull(p: *Parser, str: Value) !Value {
+    const strings_top = p.strings.items.len;
+    defer p.strings.items.len = strings_top;
+    {
+        const bytes = p.comp.interner.get(str.ref()).bytes;
+        try p.strings.appendSlice(bytes[0 .. bytes.len - 1]);
+    }
+    return Value.intern(p.comp, .{ .bytes = p.strings.items[strings_top..] });
+}
+
 pub fn typeStr(p: *Parser, ty: Type) ![]const u8 {
     if (Type.Builder.fromType(ty).str(p.comp.langopts)) |str| return str;
     const strings_top = p.strings.items.len;
@@ -420,7 +439,7 @@ pub fn typeStr(p: *Parser, ty: Type) ![]const u8 {
 
     const mapper = p.comp.string_interner.getSlowTypeMapper();
     try ty.print(mapper, p.comp.langopts, p.strings.writer());
-    return try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+    return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
 }
 
 pub fn typePairStr(p: *Parser, a: Type, b: Type) ![]const u8 {
@@ -439,27 +458,25 @@ pub fn typePairStrExtra(p: *Parser, a: Type, msg: []const u8, b: Type) ![]const
     try p.strings.append('\'');
     try b.print(mapper, p.comp.langopts, p.strings.writer());
     try p.strings.append('\'');
-    return try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+    return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
 }
 
-pub fn floatValueChangedStr(p: *Parser, res: *Result, old_value: f64, int_ty: Type) ![]const u8 {
+pub fn floatValueChangedStr(p: *Parser, res: *Result, old_value: Value, int_ty: Type) ![]const u8 {
     const strings_top = p.strings.items.len;
     defer p.strings.items.len = strings_top;
 
     var w = p.strings.writer();
     const type_pair_str = try p.typePairStrExtra(res.ty, " to ", int_ty);
     try w.writeAll(type_pair_str);
-    const is_zero = res.val.isZero();
-    const non_zero_str: []const u8 = if (is_zero) "non-zero " else "";
-    if (int_ty.is(.bool)) {
-        try w.print(" changes {s}value from {d} to {}", .{ non_zero_str, old_value, res.val.getBool() });
-    } else if (int_ty.isUnsignedInt(p.comp)) {
-        try w.print(" changes {s}value from {d} to {d}", .{ non_zero_str, old_value, res.val.getInt(u64) });
-    } else {
-        try w.print(" changes {s}value from {d} to {d}", .{ non_zero_str, old_value, res.val.getInt(i64) });
-    }
 
-    return try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+    try w.writeAll(" changes ");
+    if (res.val.isZero(p.comp)) try w.writeAll("non-zero ");
+    try w.writeAll("value from ");
+    try old_value.print(res.ty, p.comp, w);
+    try w.writeAll(" to ");
+    try res.val.print(int_ty, p.comp, w);
+
+    return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
 }
 
 fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_tok: TokenIndex) !void {
@@ -468,9 +485,11 @@ fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_
         defer p.strings.items.len = strings_top;
 
         const w = p.strings.writer();
-        const msg_str = p.attributeMessageString(@"error".msg);
-        try w.print("call to '{s}' declared with attribute error: {s}", .{ p.tokSlice(@"error".__name_tok), msg_str });
-        const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+        const msg_str = p.comp.interner.get(@"error".msg.ref()).bytes;
+        try w.print("call to '{s}' declared with attribute error: {}", .{
+            p.tokSlice(@"error".__name_tok), std.zig.fmtEscapes(msg_str),
+        });
+        const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
         try p.errStr(.error_attribute, usage_tok, str);
     }
     if (ty.getAttribute(.warning)) |warning| {
@@ -478,9 +497,11 @@ fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_
         defer p.strings.items.len = strings_top;
 
         const w = p.strings.writer();
-        const msg_str = p.attributeMessageString(warning.msg);
-        try w.print("call to '{s}' declared with attribute warning: {s}", .{ p.tokSlice(warning.__name_tok), msg_str });
-        const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+        const msg_str = p.comp.interner.get(warning.msg.ref()).bytes;
+        try w.print("call to '{s}' declared with attribute warning: {}", .{
+            p.tokSlice(warning.__name_tok), std.zig.fmtEscapes(msg_str),
+        });
+        const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
         try p.errStr(.warning_attribute, usage_tok, str);
     }
     if (ty.getAttribute(.unavailable)) |unavailable| {
@@ -493,13 +514,7 @@ fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_
     }
 }
 
-/// Assumes that the specified range was created by an ordinary or `u8` string literal
-/// Returned slice is invalidated if additional strings are added to p.retained_strings
-fn attributeMessageString(p: *Parser, range: Value.ByteRange) []const u8 {
-    return range.slice(p.retained_strings.items, .@"1");
-}
-
-fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Value.ByteRange) Compilation.Error!void {
+fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Value) Compilation.Error!void {
     const strings_top = p.strings.items.len;
     defer p.strings.items.len = strings_top;
 
@@ -512,10 +527,10 @@ fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Valu
     };
     try w.writeAll(reason);
     if (msg) |m| {
-        const str = p.attributeMessageString(m);
-        try w.print(": {s}", .{str});
+        const str = p.comp.interner.get(m.ref()).bytes;
+        try w.print(": {}", .{std.zig.fmtEscapes(str)});
     }
-    const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+    const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
     return p.errStr(tag, tok_i, str);
 }
 
@@ -564,6 +579,36 @@ fn getNode(p: *Parser, node: NodeIndex, tag: Tree.Tag) ?NodeIndex {
     }
 }
 
+fn nodeIsCompoundLiteral(p: *Parser, node: NodeIndex) bool {
+    var cur = node;
+    const tags = p.nodes.items(.tag);
+    const data = p.nodes.items(.data);
+    while (true) {
+        switch (tags[@intFromEnum(cur)]) {
+            .paren_expr => cur = data[@intFromEnum(cur)].un,
+            .compound_literal_expr,
+            .static_compound_literal_expr,
+            .thread_local_compound_literal_expr,
+            .static_thread_local_compound_literal_expr,
+            => return true,
+            else => return false,
+        }
+    }
+}
+
+fn tmpTree(p: *Parser) Tree {
+    return .{
+        .nodes = p.nodes.slice(),
+        .data = p.data.items,
+        .value_map = p.value_map,
+        .comp = p.comp,
+        .arena = undefined,
+        .generated = undefined,
+        .tokens = undefined,
+        .root_decls = undefined,
+    };
+}
+
 fn pragma(p: *Parser) Compilation.Error!bool {
     var found_pragma = false;
     while (p.eatToken(.keyword_pragma)) |_| {
@@ -591,7 +636,7 @@ fn diagnoseIncompleteDefinitions(p: *Parser) !void {
     const tys = node_slices.items(.ty);
     const data = node_slices.items(.data);
 
-    const err_start = p.comp.diag.list.items.len;
+    const err_start = p.comp.diagnostics.list.items.len;
     for (p.decl_buf.items) |decl_node| {
         const idx = @intFromEnum(decl_node);
         switch (tags[idx]) {
@@ -612,7 +657,7 @@ fn diagnoseIncompleteDefinitions(p: *Parser) !void {
         try p.errStr(.tentative_definition_incomplete, tentative_def_tok, type_str);
         try p.errStr(.forward_declaration_here, data[idx].decl_ref, type_str);
     }
-    const errors_added = p.comp.diag.list.items.len - err_start;
+    const errors_added = p.comp.diagnostics.list.items.len - err_start;
     assert(errors_added == 2 * p.tentative_defs.count()); // Each tentative def should add an error + note
 }
 
@@ -630,7 +675,6 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
         .arena = arena.allocator(),
         .tok_ids = pp.tokens.items(.id),
         .strings = std.ArrayList(u8).init(pp.comp.gpa),
-        .retained_strings = std.ArrayList(u8).init(pp.comp.gpa),
         .value_map = Tree.ValueMap.init(pp.comp.gpa),
         .data = NodeList.init(pp.comp.gpa),
         .labels = std.ArrayList(Label).init(pp.comp.gpa),
@@ -641,17 +685,16 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
         .record_buf = std.ArrayList(Type.Record.Field).init(pp.comp.gpa),
         .field_attr_buf = std.ArrayList([]const Attribute).init(pp.comp.gpa),
         .string_ids = .{
-            .declspec_id = try pp.comp.intern("__declspec"),
-            .main_id = try pp.comp.intern("main"),
-            .file = try pp.comp.intern("FILE"),
-            .jmp_buf = try pp.comp.intern("jmp_buf"),
-            .sigjmp_buf = try pp.comp.intern("sigjmp_buf"),
-            .ucontext_t = try pp.comp.intern("ucontext_t"),
+            .declspec_id = try StrInt.intern(pp.comp, "__declspec"),
+            .main_id = try StrInt.intern(pp.comp, "main"),
+            .file = try StrInt.intern(pp.comp, "FILE"),
+            .jmp_buf = try StrInt.intern(pp.comp, "jmp_buf"),
+            .sigjmp_buf = try StrInt.intern(pp.comp, "sigjmp_buf"),
+            .ucontext_t = try StrInt.intern(pp.comp, "ucontext_t"),
         },
     };
     errdefer {
         p.nodes.deinit(pp.comp.gpa);
-        p.retained_strings.deinit();
         p.value_map.deinit();
     }
     defer {
@@ -677,24 +720,24 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
 
     {
         if (p.comp.langopts.hasChar8_T()) {
-            try p.syms.defineTypedef(&p, try p.comp.intern("char8_t"), .{ .specifier = .uchar }, 0, .none);
+            try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "char8_t"), .{ .specifier = .uchar }, 0, .none);
         }
-        try p.syms.defineTypedef(&p, try p.comp.intern("__int128_t"), .{ .specifier = .int128 }, 0, .none);
-        try p.syms.defineTypedef(&p, try p.comp.intern("__uint128_t"), .{ .specifier = .uint128 }, 0, .none);
+        try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__int128_t"), .{ .specifier = .int128 }, 0, .none);
+        try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__uint128_t"), .{ .specifier = .uint128 }, 0, .none);
 
         const elem_ty = try p.arena.create(Type);
         elem_ty.* = .{ .specifier = .char };
-        try p.syms.defineTypedef(&p, try p.comp.intern("__builtin_ms_va_list"), .{
+        try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__builtin_ms_va_list"), .{
             .specifier = .pointer,
             .data = .{ .sub_type = elem_ty },
         }, 0, .none);
 
         const ty = &pp.comp.types.va_list;
-        try p.syms.defineTypedef(&p, try p.comp.intern("__builtin_va_list"), ty.*, 0, .none);
+        try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__builtin_va_list"), ty.*, 0, .none);
 
         if (ty.isArray()) ty.decayArray();
 
-        try p.syms.defineTypedef(&p, try p.comp.intern("__NSConstantString"), pp.comp.types.ns_constant_string.ty, 0, .none);
+        try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__NSConstantString"), pp.comp.types.ns_constant_string.ty, 0, .none);
     }
 
     while (p.eatToken(.eof) == null) {
@@ -751,8 +794,6 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
 
     const data = try p.data.toOwnedSlice();
     errdefer pp.comp.gpa.free(data);
-    const strings = try p.retained_strings.toOwnedSlice();
-    errdefer pp.comp.gpa.free(strings);
     return Tree{
         .comp = pp.comp,
         .tokens = pp.tokens.slice(),
@@ -761,7 +802,6 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
         .nodes = p.nodes.toOwnedSlice(),
         .data = data,
         .root_decls = root_decls,
-        .strings = strings,
         .value_map = p.value_map,
     };
 }
@@ -828,6 +868,7 @@ fn nextExternDecl(p: *Parser) void {
             .keyword_typeof,
             .keyword_typeof1,
             .keyword_typeof2,
+            .keyword_typeof_unqual,
             .keyword_extension,
             .keyword_bit_int,
             => if (parens == 0) return,
@@ -950,7 +991,7 @@ fn decl(p: *Parser) Error!bool {
         if (p.func.ty != null) try p.err(.func_not_in_root);
 
         const node = try p.addNode(undefined); // reserve space
-        const interned_declarator_name = try p.comp.intern(p.tokSlice(init_d.d.name));
+        const interned_declarator_name = try StrInt.intern(p.comp, p.tokSlice(init_d.d.name));
         try p.syms.defineSymbol(p, interned_declarator_name, init_d.d.ty, init_d.d.name, node, .{}, false);
 
         const func = p.func;
@@ -1013,7 +1054,7 @@ fn decl(p: *Parser) Error!bool {
                     // find and correct parameter types
                     // TODO check for missing declarations and redefinitions
                     const name_str = p.tokSlice(d.name);
-                    const interned_name = try p.comp.intern(name_str);
+                    const interned_name = try StrInt.intern(p.comp, name_str);
                     for (init_d.d.ty.params()) |*param| {
                         if (param.name == interned_name) {
                             param.ty = d.ty;
@@ -1087,6 +1128,7 @@ fn decl(p: *Parser) Error!bool {
     }
 
     // Declare all variable/typedef declarators.
+    var warned_auto = false;
     while (true) {
         if (init_d.d.old_style_func) |tok_i| try p.errTok(.invalid_old_style_params, tok_i);
         const tag = try decl_spec.validate(p, &init_d.d.ty, init_d.initializer.node != .none);
@@ -1096,7 +1138,7 @@ fn decl(p: *Parser) Error!bool {
         } });
         try p.decl_buf.append(node);
 
-        const interned_name = try p.comp.intern(p.tokSlice(init_d.d.name));
+        const interned_name = try StrInt.intern(p.comp, p.tokSlice(init_d.d.name));
         if (decl_spec.storage_class == .typedef) {
             try p.syms.defineTypedef(p, interned_name, init_d.d.ty, init_d.d.name, node);
             p.typedefDefined(interned_name, init_d.d.ty);
@@ -1119,7 +1161,16 @@ fn decl(p: *Parser) Error!bool {
 
         if (p.eatToken(.comma) == null) break;
 
-        if (decl_spec.auto_type) |tok_i| try p.errTok(.auto_type_requires_single_declarator, tok_i);
+        if (!warned_auto) {
+            if (decl_spec.auto_type) |tok_i| {
+                try p.errTok(.auto_type_requires_single_declarator, tok_i);
+                warned_auto = true;
+            }
+            if (p.comp.langopts.standard.atLeast(.c23) and decl_spec.storage_class == .auto) {
+                try p.errTok(.c23_auto_single_declarator, decl_spec.storage_class.auto);
+                warned_auto = true;
+            }
+        }
 
         init_d = (try p.initDeclarator(&decl_spec, attr_buf_top)) orelse {
             try p.err(.expected_ident_or_l_paren);
@@ -1158,11 +1209,11 @@ fn staticAssertMessage(p: *Parser, cond_node: NodeIndex, message: Result) !?[]co
         if (buf.items.len > 0) {
             try buf.append(' ');
         }
-        const byte_range = message.val.data.bytes;
-        try buf.ensureUnusedCapacity(byte_range.len());
-        try byte_range.dumpString(message.ty, p.comp, p.retained_strings.items, buf.writer());
+        const bytes = p.comp.interner.get(message.val.ref()).bytes;
+        try buf.ensureUnusedCapacity(bytes.len);
+        try Value.printString(bytes, message.ty, p.comp, buf.writer());
     }
-    return try p.comp.diag.arena.allocator().dupe(u8, buf.items);
+    return try p.comp.diagnostics.arena.allocator().dupe(u8, buf.items);
 }
 
 /// staticAssert
@@ -1194,25 +1245,25 @@ fn staticAssert(p: *Parser) Error!bool {
     _ = try p.expectToken(.semicolon);
     if (str.node == .none) {
         try p.errTok(.static_assert_missing_message, static_assert);
-        try p.errStr(.pre_c2x_compat, static_assert, "'_Static_assert' with no message");
+        try p.errStr(.pre_c23_compat, static_assert, "'_Static_assert' with no message");
     }
 
     // Array will never be zero; a value of zero for a pointer is a null pointer constant
-    if ((res.ty.isArray() or res.ty.isPtr()) and !res.val.isZero()) {
-        const err_start = p.comp.diag.list.items.len;
+    if ((res.ty.isArray() or res.ty.isPtr()) and !res.val.isZero(p.comp)) {
+        const err_start = p.comp.diagnostics.list.items.len;
         try p.errTok(.const_decl_folded, res_token);
-        if (res.ty.isPtr() and err_start != p.comp.diag.list.items.len) {
+        if (res.ty.isPtr() and err_start != p.comp.diagnostics.list.items.len) {
             // Don't show the note if the .const_decl_folded diagnostic was not added
             try p.errTok(.constant_expression_conversion_not_allowed, res_token);
         }
     }
     try res.boolCast(p, .{ .specifier = .bool }, res_token);
-    if (res.val.tag == .unavailable) {
+    if (res.val.opt_ref == .none) {
         if (res.ty.specifier != .invalid) {
             try p.errTok(.static_assert_not_constant, res_token);
         }
     } else {
-        if (!res.val.getBool()) {
+        if (!res.val.toBool(p.comp)) {
             if (try p.staticAssertMessage(res_node, str)) |message| {
                 try p.errStr(.static_assert_failure_message, static_assert, message);
             } else {
@@ -1308,7 +1359,10 @@ pub const DeclSpec = struct {
             // TODO move to attribute validation
             if (d.noreturn) |tok_i| try p.errStr(.func_spec_non_func, tok_i, "_Noreturn");
             switch (d.storage_class) {
-                .auto, .register => if (p.func.ty == null) try p.err(.illegal_storage_on_global),
+                .auto => if (p.func.ty == null and !p.comp.langopts.standard.atLeast(.c23)) {
+                    try p.err(.illegal_storage_on_global);
+                },
+                .register => if (p.func.ty == null) try p.err(.illegal_storage_on_global),
                 .typedef => return .typedef,
                 else => {},
             }
@@ -1332,8 +1386,13 @@ pub const DeclSpec = struct {
 ///   : keyword_typeof '(' typeName ')'
 ///   | keyword_typeof '(' expr ')'
 fn typeof(p: *Parser) Error!?Type {
+    var unqual = false;
     switch (p.tok_ids[p.tok_i]) {
         .keyword_typeof, .keyword_typeof1, .keyword_typeof2 => p.tok_i += 1,
+        .keyword_typeof_unqual => {
+            p.tok_i += 1;
+            unqual = true;
+        },
         else => return null,
     }
     const l_paren = try p.expectToken(.l_paren);
@@ -1342,7 +1401,7 @@ fn typeof(p: *Parser) Error!?Type {
         const typeof_ty = try p.arena.create(Type);
         typeof_ty.* = .{
             .data = ty.data,
-            .qual = ty.qual.inheritFromTypeof(),
+            .qual = if (unqual) .{} else ty.qual.inheritFromTypeof(),
             .specifier = ty.specifier,
         };
 
@@ -1356,7 +1415,10 @@ fn typeof(p: *Parser) Error!?Type {
     try p.expectClosing(l_paren, .r_paren);
     // Special case nullptr_t since it's defined as typeof(nullptr)
     if (typeof_expr.ty.is(.nullptr_t)) {
-        return Type{ .specifier = .nullptr_t, .qual = typeof_expr.ty.qual.inheritFromTypeof() };
+        return Type{
+            .specifier = .nullptr_t,
+            .qual = if (unqual) .{} else typeof_expr.ty.qual.inheritFromTypeof(),
+        };
     }
 
     const inner = try p.arena.create(Type.Expr);
@@ -1364,7 +1426,7 @@ fn typeof(p: *Parser) Error!?Type {
         .node = typeof_expr.node,
         .ty = .{
             .data = typeof_expr.ty.data,
-            .qual = typeof_expr.ty.qual.inheritFromTypeof(),
+            .qual = if (unqual) .{} else typeof_expr.ty.qual.inheritFromTypeof(),
             .specifier = typeof_expr.ty.specifier,
         },
     };
@@ -1376,6 +1438,46 @@ fn typeof(p: *Parser) Error!?Type {
 }
 
 /// declSpec: (storageClassSpec | typeSpec | typeQual | funcSpec | alignSpec)+
+/// funcSpec : keyword_inline | keyword_noreturn
+fn declSpec(p: *Parser) Error!?DeclSpec {
+    var d: DeclSpec = .{ .ty = .{ .specifier = undefined } };
+    var spec: Type.Builder = .{};
+
+    var combined_auto = !p.comp.langopts.standard.atLeast(.c23);
+    const start = p.tok_i;
+    while (true) {
+        if (!combined_auto and d.storage_class == .auto) {
+            try spec.combine(p, .c23_auto, d.storage_class.auto);
+            combined_auto = true;
+        }
+        if (try p.storageClassSpec(&d)) continue;
+        if (try p.typeSpec(&spec)) continue;
+        const id = p.tok_ids[p.tok_i];
+        switch (id) {
+            .keyword_inline, .keyword_inline1, .keyword_inline2 => {
+                if (d.@"inline" != null) {
+                    try p.errStr(.duplicate_decl_spec, p.tok_i, "inline");
+                }
+                d.@"inline" = p.tok_i;
+            },
+            .keyword_noreturn => {
+                if (d.noreturn != null) {
+                    try p.errStr(.duplicate_decl_spec, p.tok_i, "_Noreturn");
+                }
+                d.noreturn = p.tok_i;
+            },
+            else => break,
+        }
+        p.tok_i += 1;
+    }
+
+    if (p.tok_i == start) return null;
+
+    d.ty = try spec.finish(p);
+    d.auto_type = spec.auto_type_tok;
+    return d;
+}
+
 /// storageClassSpec:
 ///  : keyword_typedef
 ///  | keyword_extern
@@ -1383,14 +1485,9 @@ fn typeof(p: *Parser) Error!?Type {
 ///  | keyword_threadlocal
 ///  | keyword_auto
 ///  | keyword_register
-/// funcSpec : keyword_inline | keyword_noreturn
-fn declSpec(p: *Parser) Error!?DeclSpec {
-    var d: DeclSpec = .{ .ty = .{ .specifier = undefined } };
-    var spec: Type.Builder = .{};
-
+fn storageClassSpec(p: *Parser, d: *DeclSpec) Error!bool {
     const start = p.tok_i;
     while (true) {
-        if (try p.typeSpec(&spec)) continue;
         const id = p.tok_ids[p.tok_i];
         switch (id) {
             .keyword_typedef,
@@ -1450,28 +1547,11 @@ fn declSpec(p: *Parser) Error!?DeclSpec {
                 }
                 d.constexpr = p.tok_i;
             },
-            .keyword_inline, .keyword_inline1, .keyword_inline2 => {
-                if (d.@"inline" != null) {
-                    try p.errStr(.duplicate_decl_spec, p.tok_i, "inline");
-                }
-                d.@"inline" = p.tok_i;
-            },
-            .keyword_noreturn => {
-                if (d.noreturn != null) {
-                    try p.errStr(.duplicate_decl_spec, p.tok_i, "_Noreturn");
-                }
-                d.noreturn = p.tok_i;
-            },
             else => break,
         }
         p.tok_i += 1;
     }
-
-    if (p.tok_i == start) return null;
-
-    d.ty = try spec.finish(p);
-    d.auto_type = spec.auto_type_tok;
-    return d;
+    return p.tok_i != start;
 }
 
 const InitDeclarator = struct { d: Declarator, initializer: Result = .{} };
@@ -1521,7 +1601,7 @@ fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?Te
                 const arg_start = p.tok_i;
                 var first_expr = try p.assignExpr();
                 try first_expr.expect(p);
-                if (p.diagnose(attr, &arguments, arg_idx, first_expr)) |msg| {
+                if (try p.diagnose(attr, &arguments, arg_idx, first_expr)) |msg| {
                     try p.errExtra(msg.tag, arg_start, msg.extra);
                     p.skipTo(.r_paren);
                     return error.ParsingFailed;
@@ -1534,7 +1614,7 @@ fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?Te
                 const arg_start = p.tok_i;
                 var arg_expr = try p.assignExpr();
                 try arg_expr.expect(p);
-                if (p.diagnose(attr, &arguments, arg_idx, arg_expr)) |msg| {
+                if (try p.diagnose(attr, &arguments, arg_idx, arg_expr)) |msg| {
                     try p.errExtra(msg.tag, arg_start, msg.extra);
                     p.skipTo(.r_paren);
                     return error.ParsingFailed;
@@ -1550,12 +1630,12 @@ fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?Te
     return TentativeAttribute{ .attr = .{ .tag = attr, .args = arguments, .syntax = kind.toSyntax() }, .tok = name_tok };
 }
 
-fn diagnose(p: *Parser, attr: Attribute.Tag, arguments: *Attribute.Arguments, arg_idx: u32, res: Result) ?Diagnostics.Message {
+fn diagnose(p: *Parser, attr: Attribute.Tag, arguments: *Attribute.Arguments, arg_idx: u32, res: Result) !?Diagnostics.Message {
     if (Attribute.wantsAlignment(attr, arg_idx)) {
-        return Attribute.diagnoseAlignment(attr, arguments, arg_idx, res.val, res.ty, p.comp);
+        return Attribute.diagnoseAlignment(attr, arguments, arg_idx, res, p);
     }
     const node = p.nodes.get(@intFromEnum(res.node));
-    return Attribute.diagnose(attr, arguments, arg_idx, res.val, node, p.retained_strings.items);
+    return Attribute.diagnose(attr, arguments, arg_idx, res, node, p);
 }
 
 /// attributeList : (attribute (',' attribute)*)?
@@ -1569,16 +1649,16 @@ fn gnuAttributeList(p: *Parser) Error!void {
     }
 }
 
-fn c2xAttributeList(p: *Parser) Error!void {
+fn c23AttributeList(p: *Parser) Error!void {
     while (p.tok_ids[p.tok_i] != .r_bracket) {
-        var namespace_tok = try p.expectIdentifier();
+        const namespace_tok = try p.expectIdentifier();
         var namespace: ?[]const u8 = null;
         if (p.eatToken(.colon_colon)) |_| {
             namespace = p.tokSlice(namespace_tok);
         } else {
             p.tok_i -= 1;
         }
-        if (try p.attribute(.c2x, namespace)) |attr| try p.attr_buf.append(p.gpa, attr);
+        if (try p.attribute(.c23, namespace)) |attr| try p.attr_buf.append(p.gpa, attr);
         _ = p.eatToken(.comma);
     }
 }
@@ -1590,15 +1670,15 @@ fn msvcAttributeList(p: *Parser) Error!void {
     }
 }
 
-fn c2xAttribute(p: *Parser) !bool {
-    if (!p.comp.langopts.standard.atLeast(.c2x)) return false;
+fn c23Attribute(p: *Parser) !bool {
+    if (!p.comp.langopts.standard.atLeast(.c23)) return false;
     const bracket1 = p.eatToken(.l_bracket) orelse return false;
     const bracket2 = p.eatToken(.l_bracket) orelse {
         p.tok_i -= 1;
         return false;
     };
 
-    try p.c2xAttributeList();
+    try p.c23AttributeList();
 
     _ = try p.expectClosing(bracket2, .r_bracket);
     _ = try p.expectClosing(bracket1, .r_bracket);
@@ -1638,7 +1718,7 @@ fn attributeSpecifier(p: *Parser) Error!void {
 fn attributeSpecifierExtra(p: *Parser, declarator_name: ?TokenIndex) Error!void {
     while (true) {
         if (try p.gnuAttribute()) continue;
-        if (try p.c2xAttribute()) continue;
+        if (try p.c23Attribute()) continue;
         const maybe_declspec_tok = p.tok_i;
         const attr_buf_top = p.attr_buf.len;
         if (try p.msvcAttribute()) {
@@ -1662,6 +1742,11 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
         .d = (try p.declarator(decl_spec.ty, .normal)) orelse return null,
     };
 
+    if (decl_spec.ty.is(.c23_auto) and !init_d.d.ty.is(.c23_auto)) {
+        try p.errTok(.c23_auto_plain_declarator, decl_spec.storage_class.auto);
+        return error.ParsingFailed;
+    }
+
     try p.attributeSpecifierExtra(init_d.d.name);
     _ = try p.assembly(.decl_label);
     try p.attributeSpecifierExtra(init_d.d.name);
@@ -1680,7 +1765,9 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
     }
 
     if (p.eatToken(.equal)) |eq| init: {
-        if (decl_spec.storage_class == .typedef or init_d.d.func_declarator != null) {
+        if (decl_spec.storage_class == .typedef or
+            (init_d.d.func_declarator != null and init_d.d.ty.isFunc()))
+        {
             try p.errTok(.illegal_initializer, eq);
         } else if (init_d.d.ty.is(.variable_len_array)) {
             try p.errTok(.vla_init, eq);
@@ -1693,11 +1780,15 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
             try p.errStr(.variable_incomplete_ty, init_d.d.name, try p.typeStr(init_d.d.ty));
             return error.ParsingFailed;
         }
+        if (p.tok_ids[p.tok_i] == .l_brace and init_d.d.ty.is(.c23_auto)) {
+            try p.errTok(.c23_auto_scalar_init, decl_spec.storage_class.auto);
+            return error.ParsingFailed;
+        }
 
         try p.syms.pushScope(p);
         defer p.syms.popScope();
 
-        const interned_name = try p.comp.intern(p.tokSlice(init_d.d.name));
+        const interned_name = try StrInt.intern(p.comp, p.tokSlice(init_d.d.name));
         try p.syms.declareSymbol(p, interned_name, init_d.d.ty, init_d.d.name, .none);
         var init_list_expr = try p.initializer(init_d.d.ty);
         init_d.initializer = init_list_expr;
@@ -1710,10 +1801,15 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
     }
 
     const name = init_d.d.name;
-    if (init_d.d.ty.is(.auto_type)) {
+    const c23_auto = init_d.d.ty.is(.c23_auto);
+    if (init_d.d.ty.is(.auto_type) or c23_auto) {
         if (init_d.initializer.node == .none) {
             init_d.d.ty = Type.invalid;
-            try p.errStr(.auto_type_requires_initializer, name, p.tokSlice(name));
+            if (c23_auto) {
+                try p.errStr(.c32_auto_requires_initializer, decl_spec.storage_class.auto, p.tokSlice(name));
+            } else {
+                try p.errStr(.auto_type_requires_initializer, name, p.tokSlice(name));
+            }
             return init_d;
         } else {
             init_d.d.ty.specifier = init_d.initializer.ty.specifier;
@@ -1811,7 +1907,12 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
             .keyword_double => try ty.combine(p, .double, p.tok_i),
             .keyword_complex => try ty.combine(p, .complex, p.tok_i),
             .keyword_float80 => try ty.combine(p, .float80, p.tok_i),
-            .keyword_float128 => try ty.combine(p, .float128, p.tok_i),
+            .keyword_float128_1, .keyword_float128_2 => {
+                if (!p.comp.hasFloat128()) {
+                    try p.errStr(.type_not_supported_on_target, p.tok_i, p.tok_ids[p.tok_i].lexeme().?);
+                }
+                try ty.combine(p, .float128, p.tok_i);
+            },
             .keyword_atomic => {
                 const atomic_tok = p.tok_i;
                 p.tok_i += 1;
@@ -1856,9 +1957,9 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
                 } else {
                     const arg_start = p.tok_i;
                     const res = try p.integerConstExpr(.no_const_decl_folding);
-                    if (!res.val.isZero()) {
+                    if (!res.val.isZero(p.comp)) {
                         var args = Attribute.initArguments(.aligned, align_tok);
-                        if (p.diagnose(.aligned, &args, 0, res)) |msg| {
+                        if (try p.diagnose(.aligned, &args, 0, res)) |msg| {
                             try p.errExtra(msg.tag, arg_start, msg.extra);
                             p.skipTo(.r_paren);
                             return error.ParsingFailed;
@@ -1909,7 +2010,7 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
                 continue;
             },
             .identifier, .extended_identifier => {
-                var interned_name = try p.comp.intern(p.tokSlice(p.tok_i));
+                var interned_name = try StrInt.intern(p.comp, p.tokSlice(p.tok_i));
                 var declspec_found = false;
 
                 if (interned_name == p.string_ids.declspec_id) {
@@ -1923,7 +2024,7 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
                 }
                 if (ty.typedef != null) break;
                 if (declspec_found) {
-                    interned_name = try p.comp.intern(p.tokSlice(p.tok_i));
+                    interned_name = try StrInt.intern(p.comp, p.tokSlice(p.tok_i));
                 }
                 const typedef = (try p.syms.findTypedef(p, interned_name, p.tok_i, ty.specifier != .none)) orelse break;
                 if (!ty.combineTypedef(p, typedef.ty, typedef.tok)) break;
@@ -1936,16 +2037,14 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
                 const res = try p.integerConstExpr(.gnu_folding_extension);
                 try p.expectClosing(l_paren, .r_paren);
 
-                var bits: i16 = undefined;
-                if (res.val.tag == .unavailable) {
+                var bits: u64 = undefined;
+                if (res.val.opt_ref == .none) {
                     try p.errTok(.expected_integer_constant_expr, bit_int_tok);
                     return error.ParsingFailed;
-                } else if (res.val.compare(.lte, Value.int(0), res.ty, p.comp)) {
-                    bits = -1;
-                } else if (res.val.compare(.gt, Value.int(128), res.ty, p.comp)) {
-                    bits = 129;
+                } else if (res.val.compare(.lte, Value.zero, p.comp)) {
+                    bits = 0;
                 } else {
-                    bits = res.val.getInt(i16);
+                    bits = res.val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
                 }
 
                 try ty.combine(p, .{ .bit_int = bits }, bit_int_tok);
@@ -1974,7 +2073,7 @@ fn getAnonymousName(p: *Parser, kind_tok: TokenIndex) !StringId {
         "(anonymous {s} at {s}:{d}:{d})",
         .{ kind_str, source.path, line_col.line_no, line_col.col },
     );
-    return p.comp.intern(str);
+    return StrInt.intern(p.comp, str);
 }
 
 /// recordSpec
@@ -1996,7 +2095,7 @@ fn recordSpec(p: *Parser) Error!Type {
             return error.ParsingFailed;
         };
         // check if this is a reference to a previous type
-        const interned_name = try p.comp.intern(p.tokSlice(ident));
+        const interned_name = try StrInt.intern(p.comp, p.tokSlice(ident));
         if (try p.syms.findTag(p, interned_name, p.tok_ids[kind_tok], ident, p.tok_ids[p.tok_i])) |prev| {
             return prev.ty;
         } else {
@@ -2029,7 +2128,7 @@ fn recordSpec(p: *Parser) Error!Type {
     var defined = false;
     const record_ty: *Type.Record = if (maybe_ident) |ident| record_ty: {
         const ident_str = p.tokSlice(ident);
-        const interned_name = try p.comp.intern(ident_str);
+        const interned_name = try StrInt.intern(p.comp, ident_str);
         if (try p.syms.defineTag(p, interned_name, p.tok_ids[kind_tok], ident)) |prev| {
             if (!prev.ty.hasIncompleteSize()) {
                 // if the record isn't incomplete, this is a redefinition
@@ -2212,27 +2311,26 @@ fn recordDeclarator(p: *Parser) Error!bool {
                 break :bits;
             }
 
-            if (res.val.tag == .unavailable) {
+            if (res.val.opt_ref == .none) {
                 try p.errTok(.expected_integer_constant_expr, bits_tok);
                 break :bits;
-            } else if (res.val.compare(.lt, Value.int(0), res.ty, p.comp)) {
-                try p.errExtra(.negative_bitwidth, first_tok, .{
-                    .signed = res.val.signExtend(res.ty, p.comp),
-                });
+            } else if (res.val.compare(.lt, Value.zero, p.comp)) {
+                try p.errStr(.negative_bitwidth, first_tok, try res.str(p));
                 break :bits;
             }
 
             // incomplete size error is reported later
             const bit_size = ty.bitSizeof(p.comp) orelse break :bits;
-            if (res.val.compare(.gt, Value.int(bit_size), res.ty, p.comp)) {
+            const bits_unchecked = res.val.toInt(u32, p.comp) orelse std.math.maxInt(u32);
+            if (bits_unchecked > bit_size) {
                 try p.errTok(.bitfield_too_big, name_tok);
                 break :bits;
-            } else if (res.val.isZero() and name_tok != 0) {
+            } else if (bits_unchecked == 0 and name_tok != 0) {
                 try p.errTok(.zero_width_named_field, name_tok);
                 break :bits;
             }
 
-            bits = res.val.getInt(u32);
+            bits = bits_unchecked;
             bits_node = res.node;
         }
 
@@ -2272,7 +2370,7 @@ fn recordDeclarator(p: *Parser) Error!bool {
             }
             try p.err(.missing_declaration);
         } else {
-            const interned_name = if (name_tok != 0) try p.comp.intern(p.tokSlice(name_tok)) else try p.getAnonymousName(first_tok);
+            const interned_name = if (name_tok != 0) try StrInt.intern(p.comp, p.tokSlice(name_tok)) else try p.getAnonymousName(first_tok);
             try p.record_buf.append(.{
                 .name = interned_name,
                 .ty = ty,
@@ -2363,7 +2461,7 @@ fn enumSpec(p: *Parser) Error!Type {
             return error.ParsingFailed;
         };
         // check if this is a reference to a previous type
-        const interned_name = try p.comp.intern(p.tokSlice(ident));
+        const interned_name = try StrInt.intern(p.comp, p.tokSlice(ident));
         if (try p.syms.findTag(p, interned_name, .keyword_enum, ident, p.tok_ids[p.tok_i])) |prev| {
             // only check fixed underlying type in forward declarations and not in references.
             if (p.tok_ids[p.tok_i] == .semicolon)
@@ -2399,7 +2497,7 @@ fn enumSpec(p: *Parser) Error!Type {
     var defined = false;
     const enum_ty: *Type.Enum = if (maybe_ident) |ident| enum_ty: {
         const ident_str = p.tokSlice(ident);
-        const interned_name = try p.comp.intern(ident_str);
+        const interned_name = try StrInt.intern(p.comp, ident_str);
         if (try p.syms.defineTag(p, interned_name, .keyword_enum, ident)) |prev| {
             const enum_ty = prev.ty.get(.@"enum").?.data.@"enum";
             if (!enum_ty.isIncomplete() and !enum_ty.fixed) {
@@ -2462,14 +2560,14 @@ fn enumSpec(p: *Parser) Error!Type {
             var res = Result{ .node = field.node, .ty = field.ty, .val = vals[i] };
             const dest_ty = if (p.comp.fixedEnumTagSpecifier()) |some|
                 Type{ .specifier = some }
-            else if (res.intFitsInType(p, Type.int))
+            else if (try res.intFitsInType(p, Type.int))
                 Type.int
             else if (!res.ty.eql(enum_ty.tag_ty, p.comp, false))
                 enum_ty.tag_ty
             else
                 continue;
 
-            vals[i].intCast(field.ty, dest_ty, p.comp);
+            try vals[i].intCast(dest_ty, p.comp);
             types[i] = dest_ty;
             p.nodes.items(.ty)[@intFromEnum(field_nodes[i])] = dest_ty;
             field.ty = dest_ty;
@@ -2546,10 +2644,7 @@ const Enumerator = struct {
 
     fn init(fixed_ty: ?Type) Enumerator {
         return .{
-            .res = .{
-                .ty = fixed_ty orelse .{ .specifier = .int },
-                .val = .{ .tag = .unavailable },
-            },
+            .res = .{ .ty = fixed_ty orelse .{ .specifier = .int } },
             .fixed = fixed_ty != null,
         };
     }
@@ -2558,12 +2653,12 @@ const Enumerator = struct {
     fn incr(e: *Enumerator, p: *Parser, tok: TokenIndex) !void {
         e.res.node = .none;
         const old_val = e.res.val;
-        if (old_val.tag == .unavailable) {
+        if (old_val.opt_ref == .none) {
             // First enumerator, set to 0 fits in all types.
-            e.res.val = Value.int(0);
+            e.res.val = Value.zero;
             return;
         }
-        if (e.res.val.add(e.res.val, Value.int(1), e.res.ty, p.comp)) {
+        if (try e.res.val.add(e.res.val, Value.one, e.res.ty, p.comp)) {
             const byte_size = e.res.ty.sizeof(p.comp).?;
             const bit_size: u8 = @intCast(if (e.res.ty.isUnsignedInt(p.comp)) byte_size * 8 else byte_size * 8 - 1);
             if (e.fixed) {
@@ -2578,7 +2673,7 @@ const Enumerator = struct {
                 break :blk Type{ .specifier = .ulong_long };
             };
             e.res.ty = new_ty;
-            _ = e.res.val.add(old_val, Value.int(1), e.res.ty, p.comp);
+            _ = try e.res.val.add(old_val, Value.one, e.res.ty, p.comp);
         }
     }
 
@@ -2586,7 +2681,7 @@ const Enumerator = struct {
     fn set(e: *Enumerator, p: *Parser, res: Result, tok: TokenIndex) !void {
         if (res.ty.specifier == .invalid) return;
         if (e.fixed and !res.ty.eql(e.res.ty, p.comp, false)) {
-            if (!res.intFitsInType(p, e.res.ty)) {
+            if (!try res.intFitsInType(p, e.res.ty)) {
                 try p.errStr(.enum_not_representable_fixed, tok, try p.typeStr(e.res.ty));
                 return error.ParsingFailed;
             }
@@ -2652,10 +2747,10 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {
     defer p.attr_buf.len = attr_buf_top;
     try p.attributeSpecifier();
 
-    const err_start = p.comp.diag.list.items.len;
+    const err_start = p.comp.diagnostics.list.items.len;
     if (p.eatToken(.equal)) |_| {
         const specified = try p.integerConstExpr(.gnu_folding_extension);
-        if (specified.val.tag == .unavailable) {
+        if (specified.val.opt_ref == .none) {
             try p.errTok(.enum_val_unavailable, name_tok + 2);
             try e.incr(p, name_tok);
         } else {
@@ -2668,32 +2763,30 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {
     var res = e.res;
     res.ty = try Attribute.applyEnumeratorAttributes(p, res.ty, attr_buf_top);
 
-    if (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, Value.int(0), res.ty, p.comp)) {
-        e.num_positive_bits = @max(e.num_positive_bits, res.val.minUnsignedBits(res.ty, p.comp));
+    if (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, Value.zero, p.comp)) {
+        e.num_positive_bits = @max(e.num_positive_bits, res.val.minUnsignedBits(p.comp));
     } else {
-        e.num_negative_bits = @max(e.num_negative_bits, res.val.minSignedBits(res.ty, p.comp));
+        e.num_negative_bits = @max(e.num_negative_bits, res.val.minSignedBits(p.comp));
     }
 
-    if (err_start == p.comp.diag.list.items.len) {
+    if (err_start == p.comp.diagnostics.list.items.len) {
         // only do these warnings if we didn't already warn about overflow or non-representable values
-        if (e.res.val.compare(.lt, Value.int(0), e.res.ty, p.comp)) {
-            const val = e.res.val.getInt(i64);
-            if (val < (Type{ .specifier = .int }).minInt(p.comp)) {
-                try p.errExtra(.enumerator_too_small, name_tok, .{
-                    .signed = val,
-                });
+        if (e.res.val.compare(.lt, Value.zero, p.comp)) {
+            const min_int = (Type{ .specifier = .int }).minInt(p.comp);
+            const min_val = try Value.int(min_int, p.comp);
+            if (e.res.val.compare(.lt, min_val, p.comp)) {
+                try p.errStr(.enumerator_too_small, name_tok, try e.res.str(p));
             }
         } else {
-            const val = e.res.val.getInt(u64);
-            if (val > (Type{ .specifier = .int }).maxInt(p.comp)) {
-                try p.errExtra(.enumerator_too_large, name_tok, .{
-                    .unsigned = val,
-                });
+            const max_int = (Type{ .specifier = .int }).maxInt(p.comp);
+            const max_val = try Value.int(max_int, p.comp);
+            if (e.res.val.compare(.gt, max_val, p.comp)) {
+                try p.errStr(.enumerator_too_large, name_tok, try e.res.str(p));
             }
         }
     }
 
-    const interned_name = try p.comp.intern(p.tokSlice(name_tok));
+    const interned_name = try StrInt.intern(p.comp, p.tokSlice(name_tok));
     try p.syms.defineEnumeration(p, interned_name, res.ty, name_tok, e.res.val);
     const node = try p.addNode(.{
         .tag = .enum_field_decl,
@@ -2792,6 +2885,7 @@ fn declarator(
         try res.ty.combine(outer);
         try res.ty.validateCombinedType(p, suffix_start);
         res.old_style_func = d.old_style_func;
+        res.func_declarator = d.func_declarator;
         return res;
     }
 
@@ -2825,7 +2919,7 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
     if (p.eatToken(.l_bracket)) |l_bracket| {
         if (p.tok_ids[p.tok_i] == .l_bracket) {
             switch (kind) {
-                .normal, .record => if (p.comp.langopts.standard.atLeast(.c2x)) {
+                .normal, .record => if (p.comp.langopts.standard.atLeast(.c23)) {
                     p.tok_i -= 1;
                     return base_type;
                 },
@@ -2875,19 +2969,20 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
             try p.errStr(.array_of_auto_type, d.name, p.tokSlice(d.name));
             return error.ParsingFailed;
         }
+
         const outer = try p.directDeclarator(base_type, d, kind);
         var max_bits = p.comp.target.ptrBitWidth();
         if (max_bits > 61) max_bits = 61;
         const max_bytes = (@as(u64, 1) << @truncate(max_bits)) - 1;
-        // `outer` is validated later so it may be invalid here
-        const outer_size = outer.sizeof(p.comp);
-        const max_elems = max_bytes / @max(1, outer_size orelse 1);
 
         if (!size.ty.isInt()) {
             try p.errStr(.array_size_non_int, size_tok, try p.typeStr(size.ty));
             return error.ParsingFailed;
         }
-        if (size.val.tag == .unavailable) {
+        if (base_type.is(.c23_auto)) {
+            // issue error later
+            return Type.invalid;
+        } else if (size.val.opt_ref == .none) {
             if (size.node != .none) {
                 try p.errTok(.vla, size_tok);
                 if (p.func.ty == null and kind != .param and p.record.kind == .invalid) {
@@ -2913,21 +3008,23 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
                 res_ty.specifier = .incomplete_array;
             }
         } else {
+            // `outer` is validated later so it may be invalid here
+            const outer_size = outer.sizeof(p.comp);
+            const max_elems = max_bytes / @max(1, outer_size orelse 1);
+
             var size_val = size.val;
-            const size_t = p.comp.types.size;
-            if (size_val.isZero()) {
+            if (size_val.isZero(p.comp)) {
                 try p.errTok(.zero_length_array, l_bracket);
-            } else if (size_val.compare(.lt, Value.int(0), size_t, p.comp)) {
+            } else if (size_val.compare(.lt, Value.zero, p.comp)) {
                 try p.errTok(.negative_array_size, l_bracket);
                 return error.ParsingFailed;
             }
             const arr_ty = try p.arena.create(Type.Array);
             arr_ty.elem = .{ .specifier = .void };
-            if (size_val.compare(.gt, Value.int(max_elems), size_t, p.comp)) {
+            arr_ty.len = size_val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
+            if (arr_ty.len > max_elems) {
                 try p.errTok(.array_too_large, l_bracket);
                 arr_ty.len = max_elems;
-            } else {
-                arr_ty.len = size_val.getInt(u64);
             }
             res_ty.data = .{ .array = arr_ty };
             res_ty.specifier = .array;
@@ -2953,11 +3050,14 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
             return res_ty;
         }
 
-        if (try p.paramDecls()) |params| {
+        if (try p.paramDecls(d)) |params| {
             func_ty.params = params;
             if (p.eatToken(.ellipsis)) |_| specifier = .var_args_func;
         } else if (p.tok_ids[p.tok_i] == .r_paren) {
-            specifier = .var_args_func;
+            specifier = if (p.comp.langopts.standard.atLeast(.c23))
+                .func
+            else
+                .old_style_func;
         } else if (p.tok_ids[p.tok_i] == .identifier or p.tok_ids[p.tok_i] == .extended_identifier) {
             d.old_style_func = p.tok_i;
             const param_buf_top = p.param_buf.items.len;
@@ -2970,7 +3070,7 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
             specifier = .old_style_func;
             while (true) {
                 const name_tok = try p.expectIdentifier();
-                const interned_name = try p.comp.intern(p.tokSlice(name_tok));
+                const interned_name = try StrInt.intern(p.comp, p.tokSlice(name_tok));
                 try p.syms.defineParam(p, interned_name, undefined, name_tok);
                 try p.param_buf.append(.{
                     .name = interned_name,
@@ -3015,7 +3115,7 @@ fn pointer(p: *Parser, base_ty: Type) Error!Type {
 
 /// paramDecls : paramDecl (',' paramDecl)* (',' '...')
 /// paramDecl : declSpec (declarator | abstractDeclarator)
-fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
+fn paramDecls(p: *Parser, d: *Declarator) Error!?[]Type.Func.Param {
     // TODO warn about visibility of types declared here
     const param_buf_top = p.param_buf.items.len;
     defer p.param_buf.items.len = param_buf_top;
@@ -3027,9 +3127,26 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
         defer p.attr_buf.len = attr_buf_top;
         const param_decl_spec = if (try p.declSpec()) |some|
             some
-        else if (p.param_buf.items.len == param_buf_top)
-            return null
-        else blk: {
+        else if (p.comp.langopts.standard.atLeast(.c23) and
+            (p.tok_ids[p.tok_i] == .identifier or p.tok_ids[p.tok_i] == .extended_identifier))
+        {
+            // handle deprecated K&R style parameters
+            const identifier = try p.expectIdentifier();
+            try p.errStr(.unknown_type_name, identifier, p.tokSlice(identifier));
+            if (d.old_style_func == null) d.old_style_func = identifier;
+
+            try p.param_buf.append(.{
+                .name = try StrInt.intern(p.comp, p.tokSlice(identifier)),
+                .name_tok = identifier,
+                .ty = .{ .specifier = .int },
+            });
+
+            if (p.eatToken(.comma) == null) break;
+            if (p.tok_ids[p.tok_i] == .ellipsis) break;
+            continue;
+        } else if (p.param_buf.items.len == param_buf_top) {
+            return null;
+        } else blk: {
             var spec: Type.Builder = .{};
             break :blk DeclSpec{ .ty = try spec.finish(p) };
         };
@@ -3044,7 +3161,7 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
             name_tok = some.name;
             param_ty = some.ty;
             if (some.name != 0) {
-                const interned_name = try p.comp.intern(p.tokSlice(name_tok));
+                const interned_name = try StrInt.intern(p.comp, p.tokSlice(name_tok));
                 try p.syms.defineParam(p, interned_name, param_ty, name_tok);
             }
         }
@@ -3077,7 +3194,7 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
 
         try param_decl_spec.validateParam(p, &param_ty);
         try p.param_buf.append(.{
-            .name = if (name_tok == 0) .empty else try p.comp.intern(p.tokSlice(name_tok)),
+            .name = if (name_tok == 0) .empty else try StrInt.intern(p.comp, p.tokSlice(name_tok)),
             .name_tok = if (name_tok == 0) first_tok else name_tok,
             .ty = param_ty,
         });
@@ -3092,7 +3209,7 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
 fn typeName(p: *Parser) Error!?Type {
     const attr_buf_top = p.attr_buf.len;
     defer p.attr_buf.len = attr_buf_top;
-    var ty = (try p.specQual()) orelse return null;
+    const ty = (try p.specQual()) orelse return null;
     if (try p.declarator(ty, .abstract)) |some| {
         if (some.old_style_func) |tok_i| try p.errTok(.invalid_old_style_params, tok_i);
         return try Attribute.applyTypeAttributes(p, some.ty, attr_buf_top, .align_ignored);
@@ -3187,31 +3304,29 @@ fn initializerItem(p: *Parser, il: *InitList, init_ty: Type) Error!bool {
                 const index_res = try p.integerConstExpr(.gnu_folding_extension);
                 try p.expectClosing(l_bracket, .r_bracket);
 
-                if (index_res.val.tag == .unavailable) {
+                if (index_res.val.opt_ref == .none) {
                     try p.errTok(.expected_integer_constant_expr, expr_tok);
                     return error.ParsingFailed;
-                } else if (index_res.val.compare(.lt, index_res.val.zero(), index_res.ty, p.comp)) {
-                    try p.errExtra(.negative_array_designator, l_bracket + 1, .{
-                        .signed = index_res.val.signExtend(index_res.ty, p.comp),
-                    });
+                } else if (index_res.val.compare(.lt, Value.zero, p.comp)) {
+                    try p.errStr(.negative_array_designator, l_bracket + 1, try index_res.str(p));
                     return error.ParsingFailed;
                 }
 
                 const max_len = cur_ty.arrayLen() orelse std.math.maxInt(usize);
-                if (index_res.val.data.int >= max_len) {
-                    try p.errExtra(.oob_array_designator, l_bracket + 1, .{ .unsigned = index_res.val.data.int });
+                const index_int = index_res.val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
+                if (index_int >= max_len) {
+                    try p.errStr(.oob_array_designator, l_bracket + 1, try index_res.str(p));
                     return error.ParsingFailed;
                 }
-                const checked = index_res.val.getInt(u64);
-                cur_index_hint = cur_index_hint orelse checked;
+                cur_index_hint = cur_index_hint orelse index_int;
 
-                cur_il = try cur_il.find(p.gpa, checked);
+                cur_il = try cur_il.find(p.gpa, index_int);
                 cur_ty = cur_ty.elemType();
                 designation = true;
             } else if (p.eatToken(.period)) |period| {
                 const field_tok = try p.expectIdentifier();
                 const field_str = p.tokSlice(field_tok);
-                const field_name = try p.comp.intern(field_str);
+                const field_name = try StrInt.intern(p.comp, field_str);
                 cur_ty = cur_ty.canonicalize(.standard);
                 if (!cur_ty.isRecord()) {
                     try p.errStr(.invalid_field_designator, period, try p.typeStr(cur_ty));
@@ -3289,8 +3404,8 @@ fn initializerItem(p: *Parser, il: *InitList, init_ty: Type) Error!bool {
 
             excess: {
                 if (index_hint) |*hint| {
-                    if (try p.findScalarInitializerAt(&cur_il, &cur_ty, res.ty, first_tok, hint)) break :excess;
-                } else if (try p.findScalarInitializer(&cur_il, &cur_ty, res.ty, first_tok)) break :excess;
+                    if (try p.findScalarInitializerAt(&cur_il, &cur_ty, &res, first_tok, hint)) break :excess;
+                } else if (try p.findScalarInitializer(&cur_il, &cur_ty, &res, first_tok)) break :excess;
 
                 if (designation) break :excess;
                 if (!warned_excess) try p.errTok(if (init_ty.isArray()) .excess_array_init else .excess_struct_init, first_tok);
@@ -3340,7 +3455,7 @@ fn initializerItem(p: *Parser, il: *InitList, init_ty: Type) Error!bool {
 }
 
 /// Returns true if the value is unused.
-fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type, first_tok: TokenIndex, start_index: *u64) Error!bool {
+fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, res: *Result, first_tok: TokenIndex, start_index: *u64) Error!bool {
     if (ty.isArray()) {
         if (il.*.node != .none) return false;
         start_index.* += 1;
@@ -3356,7 +3471,7 @@ fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Typ
         if (start_index.* < elem_count) {
             ty.* = elem_ty;
             il.* = try arr_il.find(p.gpa, start_index.*);
-            _ = try p.findScalarInitializer(il, ty, actual_ty, first_tok);
+            _ = try p.findScalarInitializer(il, ty, res, first_tok);
             return true;
         }
         return false;
@@ -3374,7 +3489,7 @@ fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Typ
             const field = fields[@intCast(start_index.*)];
             ty.* = field.ty;
             il.* = try struct_il.find(p.gpa, start_index.*);
-            _ = try p.findScalarInitializer(il, ty, actual_ty, first_tok);
+            _ = try p.findScalarInitializer(il, ty, res, first_tok);
             return true;
         }
         return false;
@@ -3385,9 +3500,11 @@ fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Typ
 }
 
 /// Returns true if the value is unused.
-fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type, first_tok: TokenIndex) Error!bool {
+fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, res: *Result, first_tok: TokenIndex) Error!bool {
+    const actual_ty = res.ty;
     if (ty.isArray() or ty.isComplex()) {
         if (il.*.node != .none) return false;
+        if (try p.coerceArrayInitExtra(res, first_tok, ty.*, false)) return true;
         const start_index = il.*.list.items.len;
         var index = if (start_index != 0) il.*.list.items[start_index - 1].index else start_index;
 
@@ -3403,7 +3520,7 @@ fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type,
             ty.* = elem_ty;
             il.* = try arr_il.find(p.gpa, index);
             if (il.*.node == .none and actual_ty.eql(elem_ty, p.comp, false)) return true;
-            if (try p.findScalarInitializer(il, ty, actual_ty, first_tok)) return true;
+            if (try p.findScalarInitializer(il, ty, res, first_tok)) return true;
         }
         return false;
     } else if (ty.get(.@"struct")) |struct_ty| {
@@ -3423,7 +3540,8 @@ fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type,
             ty.* = field.ty;
             il.* = try struct_il.find(p.gpa, index);
             if (il.*.node == .none and actual_ty.eql(field.ty, p.comp, false)) return true;
-            if (try p.findScalarInitializer(il, ty, actual_ty, first_tok)) return true;
+            if (il.*.node == .none and try p.coerceArrayInitExtra(res, first_tok, ty.*, false)) return true;
+            if (try p.findScalarInitializer(il, ty, res, first_tok)) return true;
         }
         return false;
     } else if (ty.get(.@"union")) |union_ty| {
@@ -3436,7 +3554,8 @@ fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type,
         ty.* = union_ty.data.record.fields[0].ty;
         il.* = try il.*.find(p.gpa, 0);
         // if (il.*.node == .none and actual_ty.eql(ty, p.comp, false)) return true;
-        if (try p.findScalarInitializer(il, ty, actual_ty, first_tok)) return true;
+        if (try p.coerceArrayInitExtra(res, first_tok, ty.*, false)) return true;
+        if (try p.findScalarInitializer(il, ty, res, first_tok)) return true;
         return false;
     }
     return il.*.node == .none;
@@ -3496,10 +3615,15 @@ fn findAggregateInitializer(p: *Parser, il: **InitList, ty: *Type, start_index:
 }
 
 fn coerceArrayInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !bool {
+    return p.coerceArrayInitExtra(item, tok, target, true);
+}
+
+fn coerceArrayInitExtra(p: *Parser, item: *Result, tok: TokenIndex, target: Type, report_err: bool) !bool {
     if (!target.isArray()) return false;
 
     const is_str_lit = p.nodeIs(item.node, .string_literal_expr);
-    if (!is_str_lit and !p.nodeIs(item.node, .compound_literal_expr) or !item.ty.isArray()) {
+    if (!is_str_lit and !p.nodeIsCompoundLiteral(item.node) or !item.ty.isArray()) {
+        if (!report_err) return false;
         try p.errTok(.array_init_str, tok);
         return true; // do not do further coercion
     }
@@ -3511,6 +3635,7 @@ fn coerceArrayInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !bo
         (is_str_lit and item_spec == .char and (target_spec == .uchar or target_spec == .schar)) or
         (is_str_lit and item_spec == .uchar and (target_spec == .uchar or target_spec == .schar or target_spec == .char));
     if (!compatible) {
+        if (!report_err) return false;
         const e_msg = " with array of type ";
         try p.errStr(.incompatible_array_init, tok, try p.typePairStrExtra(target, e_msg, item.ty));
         return true; // do not do further coercion
@@ -3518,13 +3643,14 @@ fn coerceArrayInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !bo
 
     if (target.get(.array)) |arr_ty| {
         assert(item.ty.specifier == .array);
-        var len = item.ty.arrayLen().?;
+        const len = item.ty.arrayLen().?;
         const array_len = arr_ty.arrayLen().?;
         if (is_str_lit) {
             // the null byte of a string can be dropped
-            if (len - 1 > array_len)
+            if (len - 1 > array_len and report_err) {
                 try p.errTok(.str_init_too_long, tok);
-        } else if (len > array_len) {
+            }
+        } else if (len > array_len and report_err) {
             try p.errStr(
                 .arr_init_too_long,
                 tok,
@@ -3542,9 +3668,11 @@ fn coerceInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !void {
     try item.lvalConversion(p);
     if (target.is(.auto_type)) {
         if (p.getNode(node, .member_access_expr) orelse p.getNode(node, .member_access_ptr_expr)) |member_node| {
-            if (Tree.isBitfield(p.nodes.slice(), member_node)) try p.errTok(.auto_type_from_bitfield, tok);
+            if (p.tmpTree().isBitfield(member_node)) try p.errTok(.auto_type_from_bitfield, tok);
         }
         return;
+    } else if (target.is(.c23_auto)) {
+        return;
     }
 
     try item.coerce(p, target, tok, .init);
@@ -3876,8 +4004,8 @@ fn gnuAsmStmt(p: *Parser, quals: Tree.GNUAssemblyQualifiers, l_paren: TokenIndex
 
 fn checkAsmStr(p: *Parser, asm_str: Value, tok: TokenIndex) !void {
     if (!p.comp.langopts.gnu_asm) {
-        const str = asm_str.data.bytes;
-        if (str.len() > 1) {
+        const str = p.comp.interner.get(asm_str.ref()).bytes;
+        if (str.len > 1) {
             // Empty string (just a NUL byte) is ok because it does not emit any assembly
             try p.errTok(.gnu_asm_disabled, tok);
         }
@@ -3928,7 +4056,8 @@ fn assembly(p: *Parser, kind: enum { global, decl_label, stmt }) Error!?NodeInde
     switch (kind) {
         .decl_label => {
             const asm_str = try p.asmStr();
-            const str = asm_str.val.data.bytes.trim(1); // remove null-terminator
+            const str = try p.removeNull(asm_str.val);
+
             const attr = Attribute{ .tag = .asm_label, .args = .{ .asm_label = .{ .name = str } }, .syntax = .keyword };
             try p.attr_buf.append(p.gpa, .{ .attr = attr, .tok = asm_tok });
         },
@@ -3962,7 +4091,13 @@ fn asmStr(p: *Parser) Error!Result {
             try p.errStr(.invalid_asm_str, p.tok_i, "wide");
             return error.ParsingFailed;
         },
-        else => break,
+        else => {
+            if (i == p.tok_i) {
+                try p.errStr(.expected_str_literal_in, p.tok_i, "asm");
+                return error.ParsingFailed;
+            }
+            break;
+        },
     };
     return try p.stringLiteral();
 }
@@ -4029,6 +4164,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
         var @"switch" = Switch{
             .ranges = std.ArrayList(Switch.Range).init(p.gpa),
             .ty = cond.ty,
+            .comp = p.comp,
         };
         p.@"switch" = &@"switch";
         defer {
@@ -4105,7 +4241,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
 
         // for (init
         const init_start = p.tok_i;
-        var err_start = p.comp.diag.list.items.len;
+        var err_start = p.comp.diagnostics.list.items.len;
         var init = if (!got_decl) try p.expr() else Result{};
         try init.saveValue(p);
         try init.maybeWarnUnused(p, init_start, err_start);
@@ -4125,7 +4261,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
 
         // for (init; cond; incr
         const incr_start = p.tok_i;
-        err_start = p.comp.diag.list.items.len;
+        err_start = p.comp.diagnostics.list.items.len;
         var incr = try p.expr();
         try incr.maybeWarnUnused(p, incr_start, err_start);
         try incr.saveValue(p);
@@ -4174,7 +4310,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
                     try p.errStr(.incompatible_arg, expr_tok, try p.typePairStrExtra(e.ty, " to parameter of incompatible type ", result_ty));
                     return error.ParsingFailed;
                 }
-                if (e.val.isZero()) {
+                if (e.val.isZero(p.comp)) {
                     try e.nullCast(p, result_ty);
                 } else {
                     try p.errStr(.implicit_int_to_ptr, expr_tok, try p.typePairStrExtra(e.ty, " to ", result_ty));
@@ -4211,7 +4347,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
     if (try p.assembly(.stmt)) |some| return some;
 
     const expr_start = p.tok_i;
-    const err_start = p.comp.diag.list.items.len;
+    const err_start = p.comp.diagnostics.list.items.len;
 
     const e = try p.expr();
     if (e.node != .none) {
@@ -4265,7 +4401,7 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
 
         var labeled_stmt = Tree.Node{
             .tag = .labeled_stmt,
-            .data = .{ .decl = .{ .name = name_tok, .node = try p.stmt() } },
+            .data = .{ .decl = .{ .name = name_tok, .node = try p.labelableStmt() } },
         };
         labeled_stmt.ty = try Attribute.applyLabelAttributes(p, labeled_stmt.ty, attr_buf_top);
         return try p.addNode(labeled_stmt);
@@ -4283,36 +4419,28 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
 
             const first = first_item.val;
             const last = if (second_item) |second| second.val else first;
-            if (first.tag == .unavailable) {
+            if (first.opt_ref == .none) {
                 try p.errTok(.case_val_unavailable, case + 1);
                 break :check;
-            } else if (last.tag == .unavailable) {
+            } else if (last.opt_ref == .none) {
                 try p.errTok(.case_val_unavailable, ellipsis + 1);
                 break :check;
-            } else if (last.compare(.lt, first, some.ty, p.comp)) {
+            } else if (last.compare(.lt, first, p.comp)) {
                 try p.errTok(.empty_case_range, case + 1);
                 break :check;
             }
 
             // TODO cast to target type
-            const prev = (try some.add(p.comp, first, last, case + 1)) orelse break :check;
+            const prev = (try some.add(first, last, case + 1)) orelse break :check;
 
             // TODO check which value was already handled
-            if (some.ty.isUnsignedInt(p.comp)) {
-                try p.errExtra(.duplicate_switch_case_unsigned, case + 1, .{
-                    .unsigned = first.data.int,
-                });
-            } else {
-                try p.errExtra(.duplicate_switch_case_signed, case + 1, .{
-                    .signed = first.signExtend(some.ty, p.comp),
-                });
-            }
+            try p.errStr(.duplicate_switch_case, case + 1, try first_item.str(p));
             try p.errTok(.previous_case, prev.tok);
         } else {
             try p.errStr(.case_not_in_switch, case, "case");
         }
 
-        const s = try p.stmt();
+        const s = try p.labelableStmt();
         if (second_item) |some| return try p.addNode(.{
             .tag = .case_range_stmt,
             .data = .{ .if3 = .{ .cond = s, .body = (try p.addList(&.{ first_item.node, some.node })).start } },
@@ -4322,7 +4450,7 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
         });
     } else if (p.eatToken(.keyword_default)) |default| {
         _ = try p.expectToken(.colon);
-        const s = try p.stmt();
+        const s = try p.labelableStmt();
         const node = try p.addNode(.{
             .tag = .default_stmt,
             .data = .{ .un = s },
@@ -4341,6 +4469,14 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
     } else return null;
 }
 
+fn labelableStmt(p: *Parser) Error!NodeIndex {
+    if (p.tok_ids[p.tok_i] == .r_brace) {
+        try p.err(.label_compound_end);
+        return p.addNode(.{ .tag = .null_stmt, .data = undefined });
+    }
+    return p.stmt();
+}
+
 const StmtExprState = struct {
     last_expr_tok: TokenIndex = 0,
     last_expr_res: Result = .{ .ty = .{ .specifier = .void } },
@@ -4417,7 +4553,7 @@ fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState)
             var return_zero = false;
             if (last_noreturn == .no and !ret_ty.is(.void) and !ret_ty.isFunc() and !ret_ty.isArray()) {
                 const func_name = p.tokSlice(p.func.name);
-                const interned_name = try p.comp.intern(func_name);
+                const interned_name = try StrInt.intern(p.comp, func_name);
                 if (interned_name == p.string_ids.main_id and ret_ty.is(.int)) {
                     return_zero = true;
                 } else {
@@ -4507,7 +4643,10 @@ fn nextStmt(p: *Parser, l_brace: TokenIndex) !void {
             else {
                 parens -= 1;
             },
-            .semicolon,
+            .semicolon => if (parens == 0) {
+                p.tok_i += 1;
+                return;
+            },
             .keyword_for,
             .keyword_while,
             .keyword_do,
@@ -4551,6 +4690,7 @@ fn nextStmt(p: *Parser, l_brace: TokenIndex) !void {
             .keyword_typeof,
             .keyword_typeof1,
             .keyword_typeof2,
+            .keyword_typeof_unqual,
             .keyword_extension,
             => if (parens == 0) return,
             .keyword_pragma => p.skipToPragmaSentinel(),
@@ -4597,11 +4737,11 @@ pub fn macroExpr(p: *Parser) Compilation.Error!bool {
         error.FatalError => return error.FatalError,
         error.ParsingFailed => return false,
     };
-    if (res.val.tag == .unavailable) {
+    if (res.val.opt_ref == .none) {
         try p.errTok(.expected_expr, p.tok_i);
         return false;
     }
-    return res.val.getBool();
+    return res.val.toBool(p.comp);
 }
 
 const CallExpr = union(enum) {
@@ -4737,14 +4877,27 @@ const CallExpr = union(enum) {
     }
 };
 
-const Result = struct {
+pub const Result = struct {
     node: NodeIndex = .none,
     ty: Type = .{ .specifier = .int },
     val: Value = .{},
 
+    pub fn str(res: Result, p: *Parser) ![]const u8 {
+        switch (res.val.opt_ref) {
+            .none => return "(none)",
+            .null => return "nullptr_t",
+            else => {},
+        }
+        const strings_top = p.strings.items.len;
+        defer p.strings.items.len = strings_top;
+
+        try res.val.print(res.ty, p.comp, p.strings.writer());
+        return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+    }
+
     fn expect(res: Result, p: *Parser) Error!void {
         if (p.in_macro) {
-            if (res.val.tag == .unavailable) {
+            if (res.val.opt_ref == .none) {
                 try p.errTok(.expected_expr, p.tok_i);
                 return error.ParsingFailed;
             }
@@ -4757,14 +4910,14 @@ const Result = struct {
     }
 
     fn empty(res: Result, p: *Parser) bool {
-        if (p.in_macro) return res.val.tag == .unavailable;
+        if (p.in_macro) return res.val.opt_ref == .none;
         return res.node == .none;
     }
 
     fn maybeWarnUnused(res: Result, p: *Parser, expr_start: TokenIndex, err_start: usize) Error!void {
         if (res.ty.is(.void) or res.node == .none) return;
         // don't warn about unused result if the expression contained errors besides other unused results
-        for (p.comp.diag.list.items[err_start..]) |err_item| {
+        for (p.comp.diagnostics.list.items[err_start..]) |err_item| {
             if (err_item.tag != .unused_value) return;
         }
         var cur_node = res.node;
@@ -4822,8 +4975,8 @@ const Result = struct {
     }
 
     fn boolRes(lhs: *Result, p: *Parser, tag: Tree.Tag, rhs: Result) !void {
-        if (lhs.val.tag == .nullptr_t) {
-            lhs.val = Value.int(0);
+        if (lhs.val.opt_ref == .null) {
+            lhs.val = Value.zero;
         }
         if (lhs.ty.specifier != .invalid) {
             lhs.ty = Type.int;
@@ -4988,8 +5141,8 @@ const Result = struct {
                     if (other_res.ty.isPtr()) {
                         try nullptr_res.nullCast(p, other_res.ty);
                         return other_res.shouldEval(nullptr_res, p);
-                    } else if (other_res.val.isZero()) {
-                        other_res.val = .{ .tag = .nullptr_t };
+                    } else if (other_res.val.isZero(p.comp)) {
+                        other_res.val = Value.null;
                         try other_res.nullCast(p, nullptr_res.ty);
                         return other_res.shouldEval(nullptr_res, p);
                     }
@@ -4999,7 +5152,7 @@ const Result = struct {
                 if (!a_scalar or !b_scalar or (a_float and b_ptr) or (b_float and a_ptr))
                     return a.invalidBinTy(tok, b, p);
 
-                if ((a_int or b_int) and !(a.val.isZero() or b.val.isZero())) {
+                if ((a_int or b_int) and !(a.val.isZero(p.comp) or b.val.isZero(p.comp))) {
                     try p.errStr(.comparison_ptr_int, tok, try p.typePairStr(a.ty, b.ty));
                 } else if (a_ptr and b_ptr) {
                     if (!a.ty.isVoidStar() and !b.ty.isVoidStar() and !a.ty.eql(b.ty, p.comp, false))
@@ -5022,7 +5175,7 @@ const Result = struct {
                 }
                 if (a_nullptr and b_nullptr) return true;
                 if ((a_ptr and b_int) or (a_int and b_ptr)) {
-                    if (a.val.isZero() or b.val.isZero()) {
+                    if (a.val.isZero(p.comp) or b.val.isZero(p.comp)) {
                         try a.nullCast(p, b.ty);
                         try b.nullCast(p, a.ty);
                         return true;
@@ -5077,16 +5230,16 @@ const Result = struct {
 
     fn lvalConversion(res: *Result, p: *Parser) Error!void {
         if (res.ty.isFunc()) {
-            var elem_ty = try p.arena.create(Type);
+            const elem_ty = try p.arena.create(Type);
             elem_ty.* = res.ty;
             res.ty.specifier = .pointer;
             res.ty.data = .{ .sub_type = elem_ty };
             try res.implicitCast(p, .function_to_pointer);
         } else if (res.ty.isArray()) {
-            res.val.tag = .unavailable;
+            res.val = .{};
             res.ty.decayArray();
             try res.implicitCast(p, .array_to_pointer);
-        } else if (!p.in_macro and Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, res.node)) {
+        } else if (!p.in_macro and p.tmpTree().isLval(res.node)) {
             res.ty.qual = .{};
             try res.implicitCast(p, .lval_to_rval);
         }
@@ -5094,26 +5247,26 @@ const Result = struct {
 
     fn boolCast(res: *Result, p: *Parser, bool_ty: Type, tok: TokenIndex) Error!void {
         if (res.ty.isArray()) {
-            if (res.val.tag == .bytes) {
+            if (res.val.is(.bytes, p.comp)) {
                 try p.errStr(.string_literal_to_bool, tok, try p.typePairStrExtra(res.ty, " to ", bool_ty));
             } else {
                 try p.errStr(.array_address_to_bool, tok, p.tokSlice(tok));
             }
             try res.lvalConversion(p);
-            res.val = Value.int(1);
+            res.val = Value.one;
             res.ty = bool_ty;
             try res.implicitCast(p, .pointer_to_bool);
         } else if (res.ty.isPtr()) {
-            res.val.toBool();
+            res.val.boolCast(p.comp);
             res.ty = bool_ty;
             try res.implicitCast(p, .pointer_to_bool);
         } else if (res.ty.isInt() and !res.ty.is(.bool)) {
-            res.val.toBool();
+            res.val.boolCast(p.comp);
             res.ty = bool_ty;
             try res.implicitCast(p, .int_to_bool);
         } else if (res.ty.isFloat()) {
             const old_value = res.val;
-            const value_change_kind = res.val.floatToInt(res.ty, bool_ty, p.comp);
+            const value_change_kind = try res.val.floatToInt(bool_ty, p.comp);
             try res.floatToIntWarning(p, bool_ty, old_value, value_change_kind, tok);
             if (!res.ty.isReal()) {
                 res.ty = res.ty.makeReal();
@@ -5142,7 +5295,7 @@ const Result = struct {
             }
         } else if (res.ty.isFloat()) {
             const old_value = res.val;
-            const value_change_kind = res.val.floatToInt(res.ty, int_ty, p.comp);
+            const value_change_kind = try res.val.floatToInt(int_ty, p.comp);
             try res.floatToIntWarning(p, int_ty, old_value, value_change_kind, tok);
             const old_real = res.ty.isReal();
             const new_real = int_ty.isReal();
@@ -5164,7 +5317,7 @@ const Result = struct {
                 try res.implicitCast(p, .complex_float_to_complex_int);
             }
         } else if (!res.ty.eql(int_ty, p.comp, true)) {
-            res.val.intCast(res.ty, int_ty, p.comp);
+            try res.val.intCast(int_ty, p.comp);
             const old_real = res.ty.isReal();
             const new_real = int_ty.isReal();
             if (old_real and new_real) {
@@ -5195,14 +5348,14 @@ const Result = struct {
             .none => return p.errStr(.float_to_int, tok, try p.typePairStrExtra(res.ty, " to ", int_ty)),
             .out_of_range => return p.errStr(.float_out_of_range, tok, try p.typePairStrExtra(res.ty, " to ", int_ty)),
             .overflow => return p.errStr(.float_overflow_conversion, tok, try p.typePairStrExtra(res.ty, " to ", int_ty)),
-            .nonzero_to_zero => return p.errStr(.float_zero_conversion, tok, try p.floatValueChangedStr(res, old_value.getFloat(f64), int_ty)),
-            .value_changed => return p.errStr(.float_value_changed, tok, try p.floatValueChangedStr(res, old_value.getFloat(f64), int_ty)),
+            .nonzero_to_zero => return p.errStr(.float_zero_conversion, tok, try p.floatValueChangedStr(res, old_value, int_ty)),
+            .value_changed => return p.errStr(.float_value_changed, tok, try p.floatValueChangedStr(res, old_value, int_ty)),
         }
     }
 
     fn floatCast(res: *Result, p: *Parser, float_ty: Type) Error!void {
         if (res.ty.is(.bool)) {
-            res.val.intToFloat(res.ty, float_ty, p.comp);
+            try res.val.intToFloat(float_ty, p.comp);
             res.ty = float_ty.makeReal();
             try res.implicitCast(p, .bool_to_float);
             if (!float_ty.isReal()) {
@@ -5210,7 +5363,7 @@ const Result = struct {
                 try res.implicitCast(p, .real_to_complex_float);
             }
         } else if (res.ty.isInt()) {
-            res.val.intToFloat(res.ty, float_ty, p.comp);
+            try res.val.intToFloat(float_ty, p.comp);
             const old_real = res.ty.isReal();
             const new_real = float_ty.isReal();
             if (old_real and new_real) {
@@ -5231,7 +5384,7 @@ const Result = struct {
                 try res.implicitCast(p, .complex_int_to_complex_float);
             }
         } else if (!res.ty.eql(float_ty, p.comp, true)) {
-            res.val.floatCast(res.ty, float_ty, p.comp);
+            try res.val.floatCast(float_ty, p.comp);
             const old_real = res.ty.isReal();
             const new_real = float_ty.isReal();
             if (old_real and new_real) {
@@ -5264,7 +5417,7 @@ const Result = struct {
             res.ty = ptr_ty;
             try res.implicitCast(p, .bool_to_pointer);
         } else if (res.ty.isInt()) {
-            res.val.intCast(res.ty, ptr_ty, p.comp);
+            try res.val.intCast(ptr_ty, p.comp);
             res.ty = ptr_ty;
             try res.implicitCast(p, .int_to_pointer);
         }
@@ -5284,7 +5437,7 @@ const Result = struct {
     }
 
     fn nullCast(res: *Result, p: *Parser, ptr_ty: Type) Error!void {
-        if (!res.ty.is(.nullptr_t) and !res.val.isZero()) return;
+        if (!res.ty.is(.nullptr_t) and !res.val.isZero(p.comp)) return;
         res.ty = ptr_ty;
         try res.implicitCast(p, .null_to_pointer);
     }
@@ -5314,8 +5467,7 @@ const Result = struct {
             return res.floatCast(p, .{ .specifier = .float });
         }
         if (res.ty.isInt()) {
-            const slice = p.nodes.slice();
-            if (Tree.bitfieldWidth(slice, res.node, true)) |width| {
+            if (p.tmpTree().bitfieldWidth(res.node, true)) |width| {
                 if (res.ty.bitfieldPromotion(p.comp, width)) |promotion_ty| {
                     return res.intCast(p, promotion_ty, tok);
                 }
@@ -5392,15 +5544,15 @@ const Result = struct {
 
     fn invalidBinTy(a: *Result, tok: TokenIndex, b: *Result, p: *Parser) Error!bool {
         try p.errStr(.invalid_bin_types, tok, try p.typePairStr(a.ty, b.ty));
-        a.val.tag = .unavailable;
-        b.val.tag = .unavailable;
+        a.val = .{};
+        b.val = .{};
         a.ty = Type.invalid;
         return false;
     }
 
     fn shouldEval(a: *Result, b: *Result, p: *Parser) Error!bool {
         if (p.no_eval) return false;
-        if (a.val.tag != .unavailable and b.val.tag != .unavailable)
+        if (a.val.opt_ref != .none and b.val.opt_ref != .none)
             return true;
 
         try a.saveValue(p);
@@ -5411,50 +5563,50 @@ const Result = struct {
     /// Saves value and replaces it with `.unavailable`.
     fn saveValue(res: *Result, p: *Parser) !void {
         assert(!p.in_macro);
-        if (res.val.tag == .unavailable or res.val.tag == .nullptr_t) return;
+        if (res.val.opt_ref == .none or res.val.opt_ref == .null) return;
         if (!p.in_macro) try p.value_map.put(res.node, res.val);
-        res.val.tag = .unavailable;
+        res.val = .{};
     }
 
-    fn castType(res: *Result, p: *Parser, to: Type, tok: TokenIndex) !void {
+    fn castType(res: *Result, p: *Parser, to: Type, operand_tok: TokenIndex, l_paren: TokenIndex) !void {
         var cast_kind: Tree.CastKind = undefined;
 
         if (to.is(.void)) {
             // everything can cast to void
             cast_kind = .to_void;
-            res.val.tag = .unavailable;
+            res.val = .{};
         } else if (to.is(.nullptr_t)) {
             if (res.ty.is(.nullptr_t)) {
                 cast_kind = .no_op;
             } else {
-                try p.errStr(.invalid_object_cast, tok, try p.typePairStrExtra(res.ty, " to ", to));
+                try p.errStr(.invalid_object_cast, l_paren, try p.typePairStrExtra(res.ty, " to ", to));
                 return error.ParsingFailed;
             }
         } else if (res.ty.is(.nullptr_t)) {
             if (to.is(.bool)) {
                 try res.nullCast(p, res.ty);
-                res.val.toBool();
+                res.val.boolCast(p.comp);
                 res.ty = .{ .specifier = .bool };
                 try res.implicitCast(p, .pointer_to_bool);
                 try res.saveValue(p);
             } else if (to.isPtr()) {
                 try res.nullCast(p, to);
             } else {
-                try p.errStr(.invalid_object_cast, tok, try p.typePairStrExtra(res.ty, " to ", to));
+                try p.errStr(.invalid_object_cast, l_paren, try p.typePairStrExtra(res.ty, " to ", to));
                 return error.ParsingFailed;
             }
             cast_kind = .no_op;
-        } else if (res.val.isZero() and to.isPtr()) {
+        } else if (res.val.isZero(p.comp) and to.isPtr()) {
             cast_kind = .null_to_pointer;
         } else if (to.isScalar()) cast: {
             const old_float = res.ty.isFloat();
             const new_float = to.isFloat();
 
             if (new_float and res.ty.isPtr()) {
-                try p.errStr(.invalid_cast_to_float, tok, try p.typeStr(to));
+                try p.errStr(.invalid_cast_to_float, l_paren, try p.typeStr(to));
                 return error.ParsingFailed;
             } else if (old_float and to.isPtr()) {
-                try p.errStr(.invalid_cast_to_pointer, tok, try p.typeStr(res.ty));
+                try p.errStr(.invalid_cast_to_pointer, l_paren, try p.typeStr(res.ty));
                 return error.ParsingFailed;
             }
             const old_real = res.ty.isReal();
@@ -5537,6 +5689,9 @@ const Result = struct {
                         try res.implicitCast(p, .complex_int_to_real);
                     }
                     cast_kind = .int_to_pointer;
+                } else {
+                    try p.errStr(.cond_expr_type, operand_tok, try p.typeStr(res.ty));
+                    return error.ParsingFailed;
                 }
             } else if (new_float) {
                 if (res.ty.is(.bool)) {
@@ -5575,49 +5730,49 @@ const Result = struct {
                     cast_kind = .complex_float_cast;
                 }
             }
-            if (res.val.tag == .unavailable) break :cast;
+            if (res.val.opt_ref == .none) break :cast;
 
             const old_int = res.ty.isInt() or res.ty.isPtr();
             const new_int = to.isInt() or to.isPtr();
             if (to.is(.bool)) {
-                res.val.toBool();
+                res.val.boolCast(p.comp);
             } else if (old_float and new_int) {
                 // Explicit cast, no conversion warning
-                _ = res.val.floatToInt(res.ty, to, p.comp);
+                _ = try res.val.floatToInt(to, p.comp);
             } else if (new_float and old_int) {
-                res.val.intToFloat(res.ty, to, p.comp);
+                try res.val.intToFloat(to, p.comp);
             } else if (new_float and old_float) {
-                res.val.floatCast(res.ty, to, p.comp);
+                try res.val.floatCast(to, p.comp);
             } else if (old_int and new_int) {
                 if (to.hasIncompleteSize()) {
-                    try p.errStr(.cast_to_incomplete_type, tok, try p.typeStr(to));
+                    try p.errStr(.cast_to_incomplete_type, l_paren, try p.typeStr(to));
                     return error.ParsingFailed;
                 }
-                res.val.intCast(res.ty, to, p.comp);
+                try res.val.intCast(to, p.comp);
             }
         } else if (to.get(.@"union")) |union_ty| {
             if (union_ty.data.record.hasFieldOfType(res.ty, p.comp)) {
                 cast_kind = .union_cast;
-                try p.errTok(.gnu_union_cast, tok);
+                try p.errTok(.gnu_union_cast, l_paren);
             } else {
                 if (union_ty.data.record.isIncomplete()) {
-                    try p.errStr(.cast_to_incomplete_type, tok, try p.typeStr(to));
+                    try p.errStr(.cast_to_incomplete_type, l_paren, try p.typeStr(to));
                 } else {
-                    try p.errStr(.invalid_union_cast, tok, try p.typeStr(res.ty));
+                    try p.errStr(.invalid_union_cast, l_paren, try p.typeStr(res.ty));
                 }
                 return error.ParsingFailed;
             }
         } else {
             if (to.is(.auto_type)) {
-                try p.errTok(.invalid_cast_to_auto_type, tok);
+                try p.errTok(.invalid_cast_to_auto_type, l_paren);
             } else {
-                try p.errStr(.invalid_cast_type, tok, try p.typeStr(to));
+                try p.errStr(.invalid_cast_type, l_paren, try p.typeStr(to));
             }
             return error.ParsingFailed;
         }
-        if (to.anyQual()) try p.errStr(.qual_cast, tok, try p.typeStr(to));
+        if (to.anyQual()) try p.errStr(.qual_cast, l_paren, try p.typeStr(to));
         if (to.isInt() and res.ty.isPtr() and to.sizeCompare(res.ty, p.comp) == .lt) {
-            try p.errStr(.cast_to_smaller_int, tok, try p.typePairStrExtra(to, " from ", res.ty));
+            try p.errStr(.cast_to_smaller_int, l_paren, try p.typePairStrExtra(to, " from ", res.ty));
         }
         res.ty = to;
         res.ty.qual = .{};
@@ -5628,11 +5783,11 @@ const Result = struct {
         });
     }
 
-    fn intFitsInType(res: Result, p: *Parser, ty: Type) bool {
-        const max_int = Value.int(ty.maxInt(p.comp));
-        const min_int = Value.int(ty.minInt(p.comp));
-        return res.val.compare(.lte, max_int, res.ty, p.comp) and
-            (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, min_int, res.ty, p.comp));
+    fn intFitsInType(res: Result, p: *Parser, ty: Type) !bool {
+        const max_int = try Value.int(ty.maxInt(p.comp), p.comp);
+        const min_int = try Value.int(ty.minInt(p.comp), p.comp);
+        return res.val.compare(.lte, max_int, p.comp) and
+            (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, min_int, p.comp));
     }
 
     const CoerceContext = union(enum) {
@@ -5642,16 +5797,16 @@ const Result = struct {
         arg: TokenIndex,
         test_coerce,
 
-        fn note(ctx: CoerceContext, p: *Parser) !void {
-            switch (ctx) {
+        fn note(c: CoerceContext, p: *Parser) !void {
+            switch (c) {
                 .arg => |tok| try p.errTok(.parameter_here, tok),
                 .test_coerce => unreachable,
                 else => {},
             }
         }
 
-        fn typePairStr(ctx: CoerceContext, p: *Parser, dest_ty: Type, src_ty: Type) ![]const u8 {
-            switch (ctx) {
+        fn typePairStr(c: CoerceContext, p: *Parser, dest_ty: Type, src_ty: Type) ![]const u8 {
+            switch (c) {
                 .assign, .init => return p.typePairStrExtra(dest_ty, " from incompatible type ", src_ty),
                 .ret => return p.typePairStrExtra(src_ty, " from a function with incompatible result type ", dest_ty),
                 .arg => return p.typePairStrExtra(src_ty, " to parameter of incompatible type ", dest_ty),
@@ -5661,19 +5816,24 @@ const Result = struct {
     };
 
     /// Perform assignment-like coercion to `dest_ty`.
-    fn coerce(res: *Result, p: *Parser, dest_ty: Type, tok: TokenIndex, ctx: CoerceContext) Error!void {
+    fn coerce(res: *Result, p: *Parser, dest_ty: Type, tok: TokenIndex, c: CoerceContext) Error!void {
         if (res.ty.specifier == .invalid or dest_ty.specifier == .invalid) {
             res.ty = Type.invalid;
             return;
         }
-        return res.coerceExtra(p, dest_ty, tok, ctx) catch |er| switch (er) {
+        return res.coerceExtra(p, dest_ty, tok, c) catch |er| switch (er) {
             error.CoercionFailed => unreachable,
             else => |e| return e,
         };
     }
 
-    const Stage1Limitation = Error || error{CoercionFailed};
-    fn coerceExtra(res: *Result, p: *Parser, dest_ty: Type, tok: TokenIndex, ctx: CoerceContext) Stage1Limitation!void {
+    fn coerceExtra(
+        res: *Result,
+        p: *Parser,
+        dest_ty: Type,
+        tok: TokenIndex,
+        c: CoerceContext,
+    ) (Error || error{CoercionFailed})!void {
         // Subject of the coercion does not need to be qualified.
         var unqual_ty = dest_ty.canonicalize(.standard);
         unqual_ty.qual = .{};
@@ -5690,9 +5850,9 @@ const Result = struct {
                 try res.intCast(p, unqual_ty, tok);
                 return;
             } else if (res.ty.isPtr()) {
-                if (ctx == .test_coerce) return error.CoercionFailed;
+                if (c == .test_coerce) return error.CoercionFailed;
                 try p.errStr(.implicit_ptr_to_int, tok, try p.typePairStrExtra(res.ty, " to ", dest_ty));
-                try ctx.note(p);
+                try c.note(p);
                 try res.intCast(p, unqual_ty, tok);
                 return;
             }
@@ -5702,13 +5862,13 @@ const Result = struct {
                 return;
             }
         } else if (unqual_ty.isPtr()) {
-            if (res.ty.is(.nullptr_t) or res.val.isZero()) {
+            if (res.ty.is(.nullptr_t) or res.val.isZero(p.comp)) {
                 try res.nullCast(p, dest_ty);
                 return;
             } else if (res.ty.isInt() and res.ty.isReal()) {
-                if (ctx == .test_coerce) return error.CoercionFailed;
+                if (c == .test_coerce) return error.CoercionFailed;
                 try p.errStr(.implicit_int_to_ptr, tok, try p.typePairStrExtra(res.ty, " to ", dest_ty));
-                try ctx.note(p);
+                try c.note(p);
                 try res.ptrCast(p, unqual_ty);
                 return;
             } else if (res.ty.isVoidStar() or unqual_ty.eql(res.ty, p.comp, true)) {
@@ -5717,26 +5877,26 @@ const Result = struct {
                 return; // ok
             } else if (unqual_ty.eql(res.ty, p.comp, false)) {
                 if (!unqual_ty.elemType().qual.hasQuals(res.ty.elemType().qual)) {
-                    try p.errStr(switch (ctx) {
+                    try p.errStr(switch (c) {
                         .assign => .ptr_assign_discards_quals,
                         .init => .ptr_init_discards_quals,
                         .ret => .ptr_ret_discards_quals,
                         .arg => .ptr_arg_discards_quals,
                         .test_coerce => return error.CoercionFailed,
-                    }, tok, try ctx.typePairStr(p, dest_ty, res.ty));
+                    }, tok, try c.typePairStr(p, dest_ty, res.ty));
                 }
                 try res.ptrCast(p, unqual_ty);
                 return;
             } else if (res.ty.isPtr()) {
                 const different_sign_only = unqual_ty.elemType().sameRankDifferentSign(res.ty.elemType(), p.comp);
-                try p.errStr(switch (ctx) {
+                try p.errStr(switch (c) {
                     .assign => ([2]Diagnostics.Tag{ .incompatible_ptr_assign, .incompatible_ptr_assign_sign })[@intFromBool(different_sign_only)],
                     .init => ([2]Diagnostics.Tag{ .incompatible_ptr_init, .incompatible_ptr_init_sign })[@intFromBool(different_sign_only)],
                     .ret => ([2]Diagnostics.Tag{ .incompatible_return, .incompatible_return_sign })[@intFromBool(different_sign_only)],
                     .arg => ([2]Diagnostics.Tag{ .incompatible_ptr_arg, .incompatible_ptr_arg_sign })[@intFromBool(different_sign_only)],
                     .test_coerce => return error.CoercionFailed,
-                }, tok, try ctx.typePairStr(p, dest_ty, res.ty));
-                try ctx.note(p);
+                }, tok, try c.typePairStr(p, dest_ty, res.ty));
+                try c.note(p);
                 try res.ptrChildTypeCast(p, unqual_ty);
                 return;
             }
@@ -5745,7 +5905,7 @@ const Result = struct {
                 return; // ok
             }
 
-            if (ctx == .arg) if (unqual_ty.get(.@"union")) |union_ty| {
+            if (c == .arg) if (unqual_ty.get(.@"union")) |union_ty| {
                 if (dest_ty.hasAttribute(.transparent_union)) transparent_union: {
                     res.coerceExtra(p, union_ty.data.record.fields[0].ty, tok, .test_coerce) catch |er| switch (er) {
                         error.CoercionFailed => break :transparent_union,
@@ -5765,10 +5925,10 @@ const Result = struct {
                 return; // ok
             }
         } else {
-            if (ctx == .assign and (unqual_ty.isArray() or unqual_ty.isFunc())) {
+            if (c == .assign and (unqual_ty.isArray() or unqual_ty.isFunc())) {
                 try p.errTok(.not_assignable, tok);
                 return;
-            } else if (ctx == .test_coerce) {
+            } else if (c == .test_coerce) {
                 return error.CoercionFailed;
             }
             // This case should not be possible and an error should have already been emitted but we
@@ -5776,27 +5936,27 @@ const Result = struct {
             return error.ParsingFailed;
         }
 
-        try p.errStr(switch (ctx) {
+        try p.errStr(switch (c) {
             .assign => .incompatible_assign,
             .init => .incompatible_init,
             .ret => .incompatible_return,
             .arg => .incompatible_arg,
             .test_coerce => return error.CoercionFailed,
-        }, tok, try ctx.typePairStr(p, dest_ty, res.ty));
-        try ctx.note(p);
+        }, tok, try c.typePairStr(p, dest_ty, res.ty));
+        try c.note(p);
     }
 };
 
 /// expr : assignExpr (',' assignExpr)*
 fn expr(p: *Parser) Error!Result {
     var expr_start = p.tok_i;
-    var err_start = p.comp.diag.list.items.len;
+    var err_start = p.comp.diagnostics.list.items.len;
     var lhs = try p.assignExpr();
     if (p.tok_ids[p.tok_i] == .comma) try lhs.expect(p);
     while (p.eatToken(.comma)) |_| {
         try lhs.maybeWarnUnused(p, expr_start, err_start);
         expr_start = p.tok_i;
-        err_start = p.comp.diag.list.items.len;
+        err_start = p.comp.diagnostics.list.items.len;
 
         var rhs = try p.assignExpr();
         try rhs.expect(p);
@@ -5864,7 +6024,7 @@ fn assignExpr(p: *Parser) Error!Result {
     try rhs.lvalConversion(p);
 
     var is_const: bool = undefined;
-    if (!Tree.isLvalExtra(p.nodes.slice(), p.data.items, p.value_map, lhs.node, &is_const) or is_const) {
+    if (!p.tmpTree().isLvalExtra(lhs.node, &is_const) or is_const) {
         try p.errTok(.not_assignable, tok);
         return error.ParsingFailed;
     }
@@ -5877,7 +6037,7 @@ fn assignExpr(p: *Parser) Error!Result {
         .div_assign_expr,
         .mod_assign_expr,
         => {
-            if (rhs.val.isZero() and lhs.ty.isInt() and rhs.ty.isInt()) {
+            if (rhs.val.isZero(p.comp) and lhs.ty.isInt() and rhs.ty.isInt()) {
                 switch (tag) {
                     .div_assign_expr => try p.errStr(.division_by_zero, div.?, "division"),
                     .mod_assign_expr => try p.errStr(.division_by_zero, mod.?, "remainder"),
@@ -5940,7 +6100,7 @@ fn constExpr(p: *Parser, decl_folding: ConstDeclFoldingMode) Error!Result {
     const res = try p.condExpr();
     try res.expect(p);
 
-    if (res.ty.specifier == .invalid or res.val.tag == .unavailable) return res;
+    if (res.ty.specifier == .invalid or res.val.opt_ref == .none) return res;
 
     // saveValue sets val to unavailable
     var copy = res;
@@ -5962,12 +6122,12 @@ fn condExpr(p: *Parser) Error!Result {
     }
 
     // Prepare for possible binary conditional expression.
-    var maybe_colon = p.eatToken(.colon);
+    const maybe_colon = p.eatToken(.colon);
 
     // Depending on the value of the condition, avoid evaluating unreachable branches.
     var then_expr = blk: {
         defer p.no_eval = saved_eval;
-        if (cond.val.tag != .unavailable and !cond.val.getBool()) p.no_eval = true;
+        if (cond.val.opt_ref != .none and !cond.val.toBool(p.comp)) p.no_eval = true;
         break :blk try p.expr();
     };
     try then_expr.expect(p);
@@ -5989,15 +6149,15 @@ fn condExpr(p: *Parser) Error!Result {
     const colon = try p.expectToken(.colon);
     var else_expr = blk: {
         defer p.no_eval = saved_eval;
-        if (cond.val.tag != .unavailable and cond.val.getBool()) p.no_eval = true;
+        if (cond.val.opt_ref != .none and cond.val.toBool(p.comp)) p.no_eval = true;
         break :blk try p.condExpr();
     };
     try else_expr.expect(p);
 
     _ = try then_expr.adjustTypes(colon, &else_expr, p, .conditional);
 
-    if (cond.val.tag != .unavailable) {
-        cond.val = if (cond.val.getBool()) then_expr.val else else_expr.val;
+    if (cond.val.opt_ref != .none) {
+        cond.val = if (cond.val.toBool(p.comp)) then_expr.val else else_expr.val;
     } else {
         try then_expr.saveValue(p);
         try else_expr.saveValue(p);
@@ -6019,13 +6179,13 @@ fn lorExpr(p: *Parser) Error!Result {
     defer p.no_eval = saved_eval;
 
     while (p.eatToken(.pipe_pipe)) |tok| {
-        if (lhs.val.tag != .unavailable and lhs.val.getBool()) p.no_eval = true;
+        if (lhs.val.opt_ref != .none and lhs.val.toBool(p.comp)) p.no_eval = true;
         var rhs = try p.landExpr();
         try rhs.expect(p);
 
         if (try lhs.adjustTypes(tok, &rhs, p, .boolean_logic)) {
-            const res = @intFromBool(lhs.val.getBool() or rhs.val.getBool());
-            lhs.val = Value.int(res);
+            const res = lhs.val.toBool(p.comp) or rhs.val.toBool(p.comp);
+            lhs.val = Value.fromBool(res);
         }
         try lhs.boolRes(p, .bool_or_expr, rhs);
     }
@@ -6040,13 +6200,13 @@ fn landExpr(p: *Parser) Error!Result {
     defer p.no_eval = saved_eval;
 
     while (p.eatToken(.ampersand_ampersand)) |tok| {
-        if (lhs.val.tag != .unavailable and !lhs.val.getBool()) p.no_eval = true;
+        if (lhs.val.opt_ref != .none and !lhs.val.toBool(p.comp)) p.no_eval = true;
         var rhs = try p.orExpr();
         try rhs.expect(p);
 
         if (try lhs.adjustTypes(tok, &rhs, p, .boolean_logic)) {
-            const res = @intFromBool(lhs.val.getBool() and rhs.val.getBool());
-            lhs.val = Value.int(res);
+            const res = lhs.val.toBool(p.comp) and rhs.val.toBool(p.comp);
+            lhs.val = Value.fromBool(res);
         }
         try lhs.boolRes(p, .bool_and_expr, rhs);
     }
@@ -6062,7 +6222,7 @@ fn orExpr(p: *Parser) Error!Result {
         try rhs.expect(p);
 
         if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
-            lhs.val = lhs.val.bitOr(rhs.val, lhs.ty, p.comp);
+            lhs.val = try lhs.val.bitOr(rhs.val, p.comp);
         }
         try lhs.bin(p, .bit_or_expr, rhs);
     }
@@ -6078,7 +6238,7 @@ fn xorExpr(p: *Parser) Error!Result {
         try rhs.expect(p);
 
         if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
-            lhs.val = lhs.val.bitXor(rhs.val, lhs.ty, p.comp);
+            lhs.val = try lhs.val.bitXor(rhs.val, p.comp);
         }
         try lhs.bin(p, .bit_xor_expr, rhs);
     }
@@ -6094,7 +6254,7 @@ fn andExpr(p: *Parser) Error!Result {
         try rhs.expect(p);
 
         if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
-            lhs.val = lhs.val.bitAnd(rhs.val, lhs.ty, p.comp);
+            lhs.val = try lhs.val.bitAnd(rhs.val, p.comp);
         }
         try lhs.bin(p, .bit_and_expr, rhs);
     }
@@ -6114,8 +6274,8 @@ fn eqExpr(p: *Parser) Error!Result {
 
         if (try lhs.adjustTypes(ne.?, &rhs, p, .equality)) {
             const op: std.math.CompareOperator = if (tag == .equal_expr) .eq else .neq;
-            const res = lhs.val.compare(op, rhs.val, lhs.ty, p.comp);
-            lhs.val = Value.int(@intFromBool(res));
+            const res = lhs.val.compare(op, rhs.val, p.comp);
+            lhs.val = Value.fromBool(res);
         }
         try lhs.boolRes(p, tag, rhs);
     }
@@ -6143,8 +6303,8 @@ fn compExpr(p: *Parser) Error!Result {
                 .greater_than_equal_expr => .gte,
                 else => unreachable,
             };
-            const res = lhs.val.compare(op, rhs.val, lhs.ty, p.comp);
-            lhs.val = Value.int(@intFromBool(res));
+            const res = lhs.val.compare(op, rhs.val, p.comp);
+            lhs.val = Value.fromBool(res);
         }
         try lhs.boolRes(p, tag, rhs);
     }
@@ -6164,9 +6324,9 @@ fn shiftExpr(p: *Parser) Error!Result {
 
         if (try lhs.adjustTypes(shr.?, &rhs, p, .integer)) {
             if (shl != null) {
-                lhs.val = lhs.val.shl(rhs.val, lhs.ty, p.comp);
+                if (try lhs.val.shl(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(shl.?, lhs);
             } else {
-                lhs.val = lhs.val.shr(rhs.val, lhs.ty, p.comp);
+                lhs.val = try lhs.val.shr(rhs.val, lhs.ty, p.comp);
             }
         }
         try lhs.bin(p, tag, rhs);
@@ -6188,9 +6348,9 @@ fn addExpr(p: *Parser) Error!Result {
         const lhs_ty = lhs.ty;
         if (try lhs.adjustTypes(minus.?, &rhs, p, if (plus != null) .add else .sub)) {
             if (plus != null) {
-                if (lhs.val.add(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(plus.?, lhs);
+                if (try lhs.val.add(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(plus.?, lhs);
             } else {
-                if (lhs.val.sub(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(minus.?, lhs);
+                if (try lhs.val.sub(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(minus.?, lhs);
             }
         }
         if (lhs.ty.specifier != .invalid and lhs_ty.isPtr() and !lhs_ty.isVoidStar() and lhs_ty.elemType().hasIncompleteSize()) {
@@ -6214,9 +6374,9 @@ fn mulExpr(p: *Parser) Error!Result {
         var rhs = try p.castExpr();
         try rhs.expect(p);
 
-        if (rhs.val.isZero() and mul == null and !p.no_eval and lhs.ty.isInt() and rhs.ty.isInt()) {
+        if (rhs.val.isZero(p.comp) and mul == null and !p.no_eval and lhs.ty.isInt() and rhs.ty.isInt()) {
             const err_tag: Diagnostics.Tag = if (p.in_macro) .division_by_zero_macro else .division_by_zero;
-            lhs.val.tag = .unavailable;
+            lhs.val = .{};
             if (div != null) {
                 try p.errStr(err_tag, div.?, "division");
             } else {
@@ -6227,15 +6387,15 @@ fn mulExpr(p: *Parser) Error!Result {
 
         if (try lhs.adjustTypes(percent.?, &rhs, p, if (tag == .mod_expr) .integer else .arithmetic)) {
             if (mul != null) {
-                if (lhs.val.mul(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(mul.?, lhs);
+                if (try lhs.val.mul(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(mul.?, lhs);
             } else if (div != null) {
-                lhs.val = Value.div(lhs.val, rhs.val, lhs.ty, p.comp);
+                if (try lhs.val.div(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(mul.?, lhs);
             } else {
-                var res = Value.rem(lhs.val, rhs.val, lhs.ty, p.comp);
-                if (res.tag == .unavailable) {
+                var res = try Value.rem(lhs.val, rhs.val, lhs.ty, p.comp);
+                if (res.opt_ref == .none) {
                     if (p.in_macro) {
                         // match clang behavior by defining invalid remainder to be zero in macros
-                        res = Value.int(0);
+                        res = Value.zero;
                     } else {
                         try lhs.saveValue(p);
                         try rhs.saveValue(p);
@@ -6253,13 +6413,13 @@ fn mulExpr(p: *Parser) Error!Result {
 /// This will always be the last message, if present
 fn removeUnusedWarningForTok(p: *Parser, last_expr_tok: TokenIndex) void {
     if (last_expr_tok == 0) return;
-    if (p.comp.diag.list.items.len == 0) return;
+    if (p.comp.diagnostics.list.items.len == 0) return;
 
     const last_expr_loc = p.pp.tokens.items(.loc)[last_expr_tok];
-    const last_msg = p.comp.diag.list.items[p.comp.diag.list.items.len - 1];
+    const last_msg = p.comp.diagnostics.list.items[p.comp.diagnostics.list.items.len - 1];
 
     if (last_msg.tag == .unused_value and last_msg.loc.eql(last_expr_loc)) {
-        p.comp.diag.list.items.len = p.comp.diag.list.items.len - 1;
+        p.comp.diagnostics.list.items.len = p.comp.diagnostics.list.items.len - 1;
     }
 }
 
@@ -6305,10 +6465,11 @@ fn castExpr(p: *Parser) Error!Result {
             break :cast_expr;
         }
 
+        const operand_tok = p.tok_i;
         var operand = try p.castExpr();
         try operand.expect(p);
         try operand.lvalConversion(p);
-        try operand.castType(p, ty, l_paren);
+        try operand.castType(p, ty, operand_tok, l_paren);
         return operand;
     }
     switch (p.tok_ids[p.tok_i]) {
@@ -6353,8 +6514,8 @@ fn typesCompatible(p: *Parser) Error!Result {
 
     const compatible = first_unqual.eql(second_unqual, p.comp, true);
 
-    var res = Result{
-        .val = Value.int(@intFromBool(compatible)),
+    const res = Result{
+        .val = Value.fromBool(compatible),
         .node = try p.addNode(.{ .tag = .builtin_types_compatible_p, .ty = Type.int, .data = .{ .bin = .{
             .lhs = lhs,
             .rhs = rhs,
@@ -6369,24 +6530,24 @@ fn builtinChooseExpr(p: *Parser) Error!Result {
     const l_paren = try p.expectToken(.l_paren);
     const cond_tok = p.tok_i;
     var cond = try p.integerConstExpr(.no_const_decl_folding);
-    if (cond.val.tag == .unavailable) {
+    if (cond.val.opt_ref == .none) {
         try p.errTok(.builtin_choose_cond, cond_tok);
         return error.ParsingFailed;
     }
 
     _ = try p.expectToken(.comma);
 
-    var then_expr = if (cond.val.getBool()) try p.assignExpr() else try p.parseNoEval(assignExpr);
+    var then_expr = if (cond.val.toBool(p.comp)) try p.assignExpr() else try p.parseNoEval(assignExpr);
     try then_expr.expect(p);
 
     _ = try p.expectToken(.comma);
 
-    var else_expr = if (!cond.val.getBool()) try p.assignExpr() else try p.parseNoEval(assignExpr);
+    var else_expr = if (!cond.val.toBool(p.comp)) try p.assignExpr() else try p.parseNoEval(assignExpr);
     try else_expr.expect(p);
 
     try p.expectClosing(l_paren, .r_paren);
 
-    if (cond.val.getBool()) {
+    if (cond.val.toBool(p.comp)) {
         cond.val = then_expr.val;
         cond.ty = then_expr.ty;
     } else {
@@ -6456,16 +6617,13 @@ fn builtinOffsetof(p: *Parser, want_bits: bool) Error!Result {
 
     _ = try p.expectToken(.comma);
 
-    const offsetof_expr = try p.offsetofMemberDesignator(ty);
+    const offsetof_expr = try p.offsetofMemberDesignator(ty, want_bits);
 
     try p.expectClosing(l_paren, .r_paren);
 
     return Result{
         .ty = p.comp.types.size,
-        .val = if (offsetof_expr.val.tag == .int and !want_bits)
-            Value.int(offsetof_expr.val.data.int / 8)
-        else
-            offsetof_expr.val,
+        .val = offsetof_expr.val,
         .node = try p.addNode(.{
             .tag = .special_builtin_call_one,
             .ty = p.comp.types.size,
@@ -6475,23 +6633,23 @@ fn builtinOffsetof(p: *Parser, want_bits: bool) Error!Result {
 }
 
 /// offsetofMemberDesignator: IDENTIFIER ('.' IDENTIFIER | '[' expr ']' )*
-fn offsetofMemberDesignator(p: *Parser, base_ty: Type) Error!Result {
+fn offsetofMemberDesignator(p: *Parser, base_ty: Type, want_bits: bool) Error!Result {
     errdefer p.skipTo(.r_paren);
     const base_field_name_tok = try p.expectIdentifier();
-    const base_field_name = try p.comp.intern(p.tokSlice(base_field_name_tok));
+    const base_field_name = try StrInt.intern(p.comp, p.tokSlice(base_field_name_tok));
     try p.validateFieldAccess(base_ty, base_ty, base_field_name_tok, base_field_name);
     const base_node = try p.addNode(.{ .tag = .default_init_expr, .ty = base_ty, .data = undefined });
 
-    var offset_num: u64 = 0;
+    var cur_offset: u64 = 0;
     const base_record_ty = base_ty.canonicalize(.standard);
-    var lhs = try p.fieldAccessExtra(base_node, base_record_ty, base_field_name, false, &offset_num);
-    var bit_offset = Value.int(offset_num);
+    var lhs = try p.fieldAccessExtra(base_node, base_record_ty, base_field_name, false, &cur_offset);
 
+    var total_offset = cur_offset;
     while (true) switch (p.tok_ids[p.tok_i]) {
         .period => {
             p.tok_i += 1;
             const field_name_tok = try p.expectIdentifier();
-            const field_name = try p.comp.intern(p.tokSlice(field_name_tok));
+            const field_name = try StrInt.intern(p.comp, p.tokSlice(field_name_tok));
 
             if (!lhs.ty.isRecord()) {
                 try p.errStr(.offsetof_ty, field_name_tok, try p.typeStr(lhs.ty));
@@ -6499,10 +6657,8 @@ fn offsetofMemberDesignator(p: *Parser, base_ty: Type) Error!Result {
             }
             try p.validateFieldAccess(lhs.ty, lhs.ty, field_name_tok, field_name);
             const record_ty = lhs.ty.canonicalize(.standard);
-            lhs = try p.fieldAccessExtra(lhs.node, record_ty, field_name, false, &offset_num);
-            if (bit_offset.tag != .unavailable) {
-                bit_offset = Value.int(offset_num + bit_offset.getInt(u64));
-            }
+            lhs = try p.fieldAccessExtra(lhs.node, record_ty, field_name, false, &cur_offset);
+            total_offset += cur_offset;
         },
         .l_bracket => {
             const l_bracket_tok = p.tok_i;
@@ -6528,8 +6684,8 @@ fn offsetofMemberDesignator(p: *Parser, base_ty: Type) Error!Result {
         },
         else => break,
     };
-
-    return Result{ .ty = base_ty, .val = bit_offset, .node = lhs.node };
+    const val = try Value.int(if (want_bits) total_offset else total_offset / 8, p.comp);
+    return Result{ .ty = base_ty, .val = val, .node = lhs.node };
 }
 
 /// unExpr
@@ -6575,11 +6731,13 @@ fn unExpr(p: *Parser) Error!Result {
             var operand = try p.castExpr();
             try operand.expect(p);
 
-            const slice = p.nodes.slice();
-            if (p.getNode(operand.node, .member_access_expr) orelse p.getNode(operand.node, .member_access_ptr_expr)) |member_node| {
-                if (Tree.isBitfield(slice, member_node)) try p.errTok(.addr_of_bitfield, tok);
+            const tree = p.tmpTree();
+            if (p.getNode(operand.node, .member_access_expr) orelse
+                p.getNode(operand.node, .member_access_ptr_expr)) |member_node|
+            {
+                if (tree.isBitfield(member_node)) try p.errTok(.addr_of_bitfield, tok);
             }
-            if (!Tree.isLval(slice, p.data.items, p.value_map, operand.node)) {
+            if (!tree.isLval(operand.node)) {
                 try p.errTok(.addr_of_rvalue, tok);
             }
             if (operand.ty.qual.register) try p.errTok(.addr_of_register, tok);
@@ -6636,10 +6794,10 @@ fn unExpr(p: *Parser) Error!Result {
                 try p.errStr(.invalid_argument_un, tok, try p.typeStr(operand.ty));
 
             try operand.usualUnaryConversion(p, tok);
-            if (operand.val.tag == .int or operand.val.tag == .float) {
-                _ = operand.val.sub(operand.val.zero(), operand.val, operand.ty, p.comp);
+            if (operand.val.is(.int, p.comp)) {
+                _ = try operand.val.sub(Value.zero, operand.val, operand.ty, p.comp);
             } else {
-                operand.val.tag = .unavailable;
+                operand.val = .{};
             }
             try operand.un(p, .negate_expr);
             return operand;
@@ -6654,17 +6812,17 @@ fn unExpr(p: *Parser) Error!Result {
             if (operand.ty.isComplex())
                 try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
 
-            if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+            if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
                 try p.errTok(.not_assignable, tok);
                 return error.ParsingFailed;
             }
             try operand.usualUnaryConversion(p, tok);
 
-            if (operand.val.tag == .int or operand.val.tag == .float) {
-                if (operand.val.add(operand.val, operand.val.one(), operand.ty, p.comp))
+            if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {
+                if (try operand.val.add(operand.val, Value.one, operand.ty, p.comp))
                     try p.errOverflow(tok, operand);
             } else {
-                operand.val.tag = .unavailable;
+                operand.val = .{};
             }
 
             try operand.un(p, .pre_inc_expr);
@@ -6680,17 +6838,17 @@ fn unExpr(p: *Parser) Error!Result {
             if (operand.ty.isComplex())
                 try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
 
-            if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+            if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
                 try p.errTok(.not_assignable, tok);
                 return error.ParsingFailed;
             }
             try operand.usualUnaryConversion(p, tok);
 
-            if (operand.val.tag == .int or operand.val.tag == .float) {
-                if (operand.val.sub(operand.val, operand.val.one(), operand.ty, p.comp))
+            if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {
+                if (try operand.val.sub(operand.val, Value.one, operand.ty, p.comp))
                     try p.errOverflow(tok, operand);
             } else {
-                operand.val.tag = .unavailable;
+                operand.val = .{};
             }
 
             try operand.un(p, .pre_dec_expr);
@@ -6704,12 +6862,12 @@ fn unExpr(p: *Parser) Error!Result {
             try operand.lvalConversion(p);
             try operand.usualUnaryConversion(p, tok);
             if (operand.ty.isInt()) {
-                if (operand.val.tag == .int) {
-                    operand.val = operand.val.bitNot(operand.ty, p.comp);
+                if (operand.val.is(.int, p.comp)) {
+                    operand.val = try operand.val.bitNot(operand.ty, p.comp);
                 }
             } else {
                 try p.errStr(.invalid_argument_un, tok, try p.typeStr(operand.ty));
-                operand.val.tag = .unavailable;
+                operand.val = .{};
             }
             try operand.un(p, .bit_not_expr);
             return operand;
@@ -6724,16 +6882,15 @@ fn unExpr(p: *Parser) Error!Result {
                 try p.errStr(.invalid_argument_un, tok, try p.typeStr(operand.ty));
 
             try operand.usualUnaryConversion(p, tok);
-            if (operand.val.tag == .int) {
-                const res = Value.int(@intFromBool(!operand.val.getBool()));
-                operand.val = res;
-            } else if (operand.val.tag == .nullptr_t) {
-                operand.val = Value.int(1);
+            if (operand.val.is(.int, p.comp)) {
+                operand.val = Value.fromBool(!operand.val.toBool(p.comp));
+            } else if (operand.val.opt_ref == .null) {
+                operand.val = Value.one;
             } else {
                 if (operand.ty.isDecayed()) {
-                    operand.val = Value.int(0);
+                    operand.val = Value.zero;
                 } else {
-                    operand.val.tag = .unavailable;
+                    operand.val = .{};
                 }
             }
             operand.ty = .{ .specifier = .int };
@@ -6770,10 +6927,10 @@ fn unExpr(p: *Parser) Error!Result {
                 if (size == 0) {
                     try p.errTok(.sizeof_returns_zero, tok);
                 }
-                res.val = Value.int(size);
+                res.val = try Value.int(size, p.comp);
                 res.ty = p.comp.types.size;
             } else {
-                res.val.tag = .unavailable;
+                res.val = .{};
                 if (res.ty.hasIncompleteSize()) {
                     try p.errStr(.invalid_sizeof, expected_paren - 1, try p.typeStr(res.ty));
                     res.ty = Type.invalid;
@@ -6813,7 +6970,7 @@ fn unExpr(p: *Parser) Error!Result {
                 try p.errStr(.pointer_arith_void, tok, "alignof");
             }
             if (res.ty.alignable()) {
-                res.val = Value.int(res.ty.alignof(p.comp));
+                res.val = try Value.int(res.ty.alignof(p.comp), p.comp);
                 res.ty = p.comp.types.size;
             } else {
                 try p.errStr(.invalid_alignof, expected_paren, try p.typeStr(res.ty));
@@ -6845,18 +7002,12 @@ fn unExpr(p: *Parser) Error!Result {
             if (operand.ty.isReal()) {
                 switch (p.comp.langopts.emulate) {
                     .msvc => {}, // Doesn't support `_Complex` or `__imag` in the first place
-                    .gcc => {
-                        if (operand.ty.isInt()) {
-                            operand.val = Value.int(0);
-                        } else if (operand.ty.isFloat()) {
-                            operand.val = Value.float(0);
-                        }
-                    },
+                    .gcc => operand.val = Value.zero,
                     .clang => {
-                        if (operand.val.tag == .int) {
-                            operand.val = Value.int(0);
+                        if (operand.val.is(.int, p.comp)) {
+                            operand.val = Value.zero;
                         } else {
-                            operand.val.tag = .unavailable;
+                            operand.val = .{};
                         }
                     },
                 }
@@ -6898,14 +7049,45 @@ fn unExpr(p: *Parser) Error!Result {
 }
 
 /// compoundLiteral
-///  : '(' type_name ')' '{' initializer_list '}'
-///  | '(' type_name ')' '{' initializer_list ',' '}'
+///  : '(' storageClassSpec* type_name ')' '{' initializer_list '}'
+///  | '(' storageClassSpec* type_name ')' '{' initializer_list ',' '}'
 fn compoundLiteral(p: *Parser) Error!Result {
     const l_paren = p.eatToken(.l_paren) orelse return Result{};
-    const ty = (try p.typeName()) orelse {
+
+    var d: DeclSpec = .{ .ty = .{ .specifier = undefined } };
+    const any = if (p.comp.langopts.standard.atLeast(.c23))
+        try p.storageClassSpec(&d)
+    else
+        false;
+
+    const tag: Tree.Tag = switch (d.storage_class) {
+        .static => if (d.thread_local != null)
+            .static_thread_local_compound_literal_expr
+        else
+            .static_compound_literal_expr,
+        .register, .none => if (d.thread_local != null)
+            .thread_local_compound_literal_expr
+        else
+            .compound_literal_expr,
+        .auto, .@"extern", .typedef => |tok| blk: {
+            try p.errStr(.invalid_compound_literal_storage_class, tok, @tagName(d.storage_class));
+            d.storage_class = .none;
+            break :blk if (d.thread_local != null)
+                .thread_local_compound_literal_expr
+            else
+                .compound_literal_expr;
+        },
+    };
+
+    var ty = (try p.typeName()) orelse {
         p.tok_i = l_paren;
+        if (any) {
+            try p.err(.expected_type);
+            return error.ParsingFailed;
+        }
         return Result{};
     };
+    if (d.storage_class == .register) ty.qual.register = true;
     try p.expectClosing(l_paren, .r_paren);
 
     if (ty.isFunc()) {
@@ -6917,7 +7099,10 @@ fn compoundLiteral(p: *Parser) Error!Result {
         return error.ParsingFailed;
     }
     var init_list_expr = try p.initializer(ty);
-    try init_list_expr.un(p, .compound_literal_expr);
+    if (d.constexpr) |_| {
+        // TODO error if not constexpr
+    }
+    try init_list_expr.un(p, tag);
     return init_list_expr;
 }
 
@@ -6942,7 +7127,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!Result {
             if (operand.ty.isComplex())
                 try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
 
-            if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+            if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
                 try p.err(.not_assignable);
                 return error.ParsingFailed;
             }
@@ -6960,7 +7145,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!Result {
             if (operand.ty.isComplex())
                 try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
 
-            if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+            if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
                 try p.err(.not_assignable);
                 return error.ParsingFailed;
             }
@@ -7044,7 +7229,7 @@ fn fieldAccess(
     if (is_arrow and !is_ptr) try p.errStr(.member_expr_not_ptr, field_name_tok, try p.typeStr(expr_ty));
     if (!is_arrow and is_ptr) try p.errStr(.member_expr_ptr, field_name_tok, try p.typeStr(expr_ty));
 
-    const field_name = try p.comp.intern(p.tokSlice(field_name_tok));
+    const field_name = try StrInt.intern(p.comp, p.tokSlice(field_name_tok));
     try p.validateFieldAccess(record_ty, expr_ty, field_name_tok, field_name);
     var discard: u64 = 0;
     return p.fieldAccessExtra(lhs.node, record_ty, field_name, is_arrow, &discard);
@@ -7060,7 +7245,7 @@ fn validateFieldAccess(p: *Parser, record_ty: Type, expr_ty: Type, field_name_to
     try expr_ty.print(mapper, p.comp.langopts, p.strings.writer());
     try p.strings.append('\'');
 
-    const duped = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items);
+    const duped = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items);
     try p.errStr(.no_such_member, field_name_tok, duped);
     return error.ParsingFailed;
 }
@@ -7075,7 +7260,7 @@ fn fieldAccessExtra(p: *Parser, lhs: NodeIndex, record_ty: Type, field_name: Str
                 .data = .{ .member = .{ .lhs = lhs, .index = @intCast(i) } },
             });
             const ret = p.fieldAccessExtra(inner, f.ty, field_name, false, offset_bits);
-            offset_bits.* += f.layout.offset_bits;
+            offset_bits.* = f.layout.offset_bits;
             return ret;
         }
         if (field_name == f.name) {
@@ -7111,7 +7296,7 @@ fn checkVaStartArg(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex,
     }
     const last_param_name = func_params[func_params.len - 1].name;
     const decl_ref = p.getNode(arg.node, .decl_ref_expr);
-    if (decl_ref == null or last_param_name != try p.comp.intern(p.tokSlice(p.nodes.items(.data)[@intFromEnum(decl_ref.?)].decl_ref))) {
+    if (decl_ref == null or last_param_name != try StrInt.intern(p.comp, p.tokSlice(p.nodes.items(.data)[@intFromEnum(decl_ref.?)].decl_ref))) {
         try p.errTok(.va_start_not_last_param, param_tok);
     }
 }
@@ -7130,13 +7315,6 @@ fn checkComplexArg(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex,
     }
 }
 
-fn checkVariableBuiltinArgument(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex, param_tok: TokenIndex, arg: *Result, arg_idx: u32, tag: Builtin.Tag) !void {
-    switch (tag) {
-        .__builtin_va_start, .__va_start, .va_start => return p.checkVaStartArg(builtin_tok, first_after, param_tok, arg, arg_idx),
-        else => {},
-    }
-}
-
 fn callExpr(p: *Parser, lhs: Result) Error!Result {
     const l_paren = p.tok_i;
     p.tok_i += 1;
@@ -7209,7 +7387,10 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
     } else if (ty.is(.func) and params.len != arg_count) {
         try p.errExtra(.expected_arguments, first_after, extra);
     } else if (ty.is(.old_style_func) and params.len != arg_count) {
-        try p.errExtra(.expected_arguments_old, first_after, extra);
+        if (params.len == 0)
+            try p.errTok(.passing_args_to_kr, first_after)
+        else
+            try p.errExtra(.expected_arguments_old, first_after, extra);
     } else if (ty.is(.var_args_func) and arg_count < params.len) {
         try p.errExtra(.expected_at_least_arguments, first_after, extra);
     }
@@ -7218,7 +7399,7 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
 }
 
 fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !void {
-    if (index.val.tag == .unavailable) return;
+    if (index.val.opt_ref == .none) return;
 
     const array_len = array.ty.arrayLen() orelse return;
     if (array_len == 0) return;
@@ -7233,28 +7414,24 @@ fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !
             if (lhs.is(.@"struct")) {
                 const record = lhs.getRecord().?;
                 if (data.member.index + 1 == record.fields.len) {
-                    if (!index.val.isZero()) {
-                        try p.errExtra(.old_style_flexible_struct, tok, .{
-                            .unsigned = index.val.data.int,
-                        });
+                    if (!index.val.isZero(p.comp)) {
+                        try p.errStr(.old_style_flexible_struct, tok, try index.str(p));
                     }
                     return;
                 }
             }
         }
     }
-    const len = Value.int(array_len);
-
+    const index_int = index.val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
     if (index.ty.isUnsignedInt(p.comp)) {
-        if (index.val.compare(.gte, len, p.comp.types.size, p.comp))
-            try p.errExtra(.array_after, tok, .{ .unsigned = index.val.data.int });
+        if (index_int >= array_len) {
+            try p.errStr(.array_after, tok, try index.str(p));
+        }
     } else {
-        if (index.val.compare(.lt, Value.int(0), index.ty, p.comp)) {
-            try p.errExtra(.array_before, tok, .{
-                .signed = index.val.signExtend(index.ty, p.comp),
-            });
-        } else if (index.val.compare(.gte, len, p.comp.types.size, p.comp)) {
-            try p.errExtra(.array_after, tok, .{ .unsigned = index.val.data.int });
+        if (index.val.compare(.lt, Value.zero, p.comp)) {
+            try p.errStr(.array_before, tok, try index.str(p));
+        } else if (index_int >= array_len) {
+            try p.errStr(.array_after, tok, try index.str(p));
         }
     }
 }
@@ -7283,7 +7460,7 @@ fn primaryExpr(p: *Parser) Error!Result {
         .identifier, .extended_identifier => {
             const name_tok = p.expectIdentifier() catch unreachable;
             const name = p.tokSlice(name_tok);
-            const interned_name = try p.comp.intern(name);
+            const interned_name = try StrInt.intern(p.comp, name);
             if (p.syms.findSymbol(interned_name)) |sym| {
                 try p.checkDeprecatedUnavailable(sym.ty, name_tok, sym.tok);
                 if (sym.kind == .constexpr) {
@@ -7297,7 +7474,7 @@ fn primaryExpr(p: *Parser) Error!Result {
                         }),
                     };
                 }
-                if (sym.val.tag == .int) {
+                if (sym.val.is(.int, p.comp)) {
                     switch (p.const_decl_folding) {
                         .gnu_folding_extension => try p.errTok(.const_decl_folded, name_tok),
                         .gnu_vla_folding_extension => try p.errTok(.const_decl_folded_vla, name_tok),
@@ -7340,7 +7517,7 @@ fn primaryExpr(p: *Parser) Error!Result {
                     }),
                 };
             }
-            if (p.tok_ids[p.tok_i] == .l_paren) {
+            if (p.tok_ids[p.tok_i] == .l_paren and !p.comp.langopts.standard.atLeast(.c23)) {
                 // allow implicitly declaring functions before C99 like `puts("foo")`
                 if (mem.startsWith(u8, name, "__builtin_"))
                     try p.errStr(.unknown_builtin, name_tok, name)
@@ -7373,15 +7550,10 @@ fn primaryExpr(p: *Parser) Error!Result {
         },
         .keyword_true, .keyword_false => |id| {
             p.tok_i += 1;
-            const numeric_value = @intFromBool(id == .keyword_true);
             const res = Result{
-                .val = Value.int(numeric_value),
+                .val = Value.fromBool(id == .keyword_true),
                 .ty = .{ .specifier = .bool },
-                .node = try p.addNode(.{
-                    .tag = .bool_literal,
-                    .ty = .{ .specifier = .bool },
-                    .data = .{ .int = numeric_value },
-                }),
+                .node = try p.addNode(.{ .tag = .bool_literal, .ty = .{ .specifier = .bool }, .data = undefined }),
             };
             std.debug.assert(!p.in_macro); // Should have been replaced with .one / .zero
             try p.value_map.put(res.node, res.val);
@@ -7389,9 +7561,9 @@ fn primaryExpr(p: *Parser) Error!Result {
         },
         .keyword_nullptr => {
             defer p.tok_i += 1;
-            try p.errStr(.pre_c2x_compat, p.tok_i, "'nullptr'");
+            try p.errStr(.pre_c23_compat, p.tok_i, "'nullptr'");
             return Result{
-                .val = .{ .tag = .nullptr_t },
+                .val = Value.null,
                 .ty = .{ .specifier = .nullptr_t },
                 .node = try p.addNode(.{
                     .tag = .nullptr_literal,
@@ -7408,16 +7580,20 @@ fn primaryExpr(p: *Parser) Error!Result {
                 ty = some.ty;
                 tok = p.nodes.items(.data)[@intFromEnum(some.node)].decl.name;
             } else if (p.func.ty) |_| {
-                const start: u32 = @intCast(p.retained_strings.items.len);
-                try p.retained_strings.appendSlice(p.tokSlice(p.func.name));
-                try p.retained_strings.append(0);
-                const predef = try p.makePredefinedIdentifier(start);
+                const strings_top = p.strings.items.len;
+                defer p.strings.items.len = strings_top;
+
+                try p.strings.appendSlice(p.tokSlice(p.func.name));
+                try p.strings.append(0);
+                const predef = try p.makePredefinedIdentifier(strings_top);
                 ty = predef.ty;
                 p.func.ident = predef;
             } else {
-                const start: u32 = @intCast(p.retained_strings.items.len);
-                try p.retained_strings.append(0);
-                const predef = try p.makePredefinedIdentifier(start);
+                const strings_top = p.strings.items.len;
+                defer p.strings.items.len = strings_top;
+
+                try p.strings.append(0);
+                const predef = try p.makePredefinedIdentifier(strings_top);
                 ty = predef.ty;
                 p.func.ident = predef;
                 try p.decl_buf.append(predef.node);
@@ -7438,17 +7614,21 @@ fn primaryExpr(p: *Parser) Error!Result {
             if (p.func.pretty_ident) |some| {
                 ty = some.ty;
             } else if (p.func.ty) |func_ty| {
+                const strings_top = p.strings.items.len;
+                defer p.strings.items.len = strings_top;
+
                 const mapper = p.comp.string_interner.getSlowTypeMapper();
-                const start: u32 = @intCast(p.retained_strings.items.len);
-                try Type.printNamed(func_ty, p.tokSlice(p.func.name), mapper, p.comp.langopts, p.retained_strings.writer());
-                try p.retained_strings.append(0);
-                const predef = try p.makePredefinedIdentifier(start);
+                try Type.printNamed(func_ty, p.tokSlice(p.func.name), mapper, p.comp.langopts, p.strings.writer());
+                try p.strings.append(0);
+                const predef = try p.makePredefinedIdentifier(strings_top);
                 ty = predef.ty;
                 p.func.pretty_ident = predef;
             } else {
-                const start: u32 = @intCast(p.retained_strings.items.len);
-                try p.retained_strings.appendSlice("top level\x00");
-                const predef = try p.makePredefinedIdentifier(start);
+                const strings_top = p.strings.items.len;
+                defer p.strings.items.len = strings_top;
+
+                try p.strings.appendSlice("top level\x00");
+                const predef = try p.makePredefinedIdentifier(strings_top);
                 ty = predef.ty;
                 p.func.pretty_ident = predef;
                 try p.decl_buf.append(predef.node);
@@ -7480,14 +7660,14 @@ fn primaryExpr(p: *Parser) Error!Result {
         => return p.charLiteral(),
         .zero => {
             p.tok_i += 1;
-            var res: Result = .{ .val = Value.int(0), .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
+            var res: Result = .{ .val = Value.zero, .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
             res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
             if (!p.in_macro) try p.value_map.put(res.node, res.val);
             return res;
         },
         .one => {
             p.tok_i += 1;
-            var res: Result = .{ .val = Value.int(1), .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
+            var res: Result = .{ .val = Value.one, .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
             res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
             if (!p.in_macro) try p.value_map.put(res.node, res.val);
             return res;
@@ -7504,7 +7684,7 @@ fn primaryExpr(p: *Parser) Error!Result {
                 byte *= 10;
                 byte += c - '0';
             }
-            var res: Result = .{ .val = Value.int(byte) };
+            var res: Result = .{ .val = try Value.int(byte, p.comp) };
             res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
             try p.value_map.put(res.node, res.val);
             return res;
@@ -7514,14 +7694,16 @@ fn primaryExpr(p: *Parser) Error!Result {
     }
 }
 
-fn makePredefinedIdentifier(p: *Parser, start: u32) !Result {
-    const end: u32 = @intCast(p.retained_strings.items.len);
+fn makePredefinedIdentifier(p: *Parser, strings_top: usize) !Result {
+    const end: u32 = @intCast(p.strings.items.len);
     const elem_ty = .{ .specifier = .char, .qual = .{ .@"const" = true } };
     const arr_ty = try p.arena.create(Type.Array);
-    arr_ty.* = .{ .elem = elem_ty, .len = end - start };
+    arr_ty.* = .{ .elem = elem_ty, .len = end - strings_top };
     const ty: Type = .{ .specifier = .array, .data = .{ .array = arr_ty } };
 
-    const val = Value.bytes(start, end);
+    const slice = p.strings.items[strings_top..];
+    const val = try Value.intern(p.comp, .{ .bytes = slice });
+
     const str_lit = try p.addNode(.{ .tag = .string_literal_expr, .ty = ty, .data = undefined });
     if (!p.in_macro) try p.value_map.put(str_lit, val);
 
@@ -7534,8 +7716,8 @@ fn makePredefinedIdentifier(p: *Parser, start: u32) !Result {
 
 fn stringLiteral(p: *Parser) Error!Result {
     var string_end = p.tok_i;
-    var string_kind: TextLiteral.Kind = .char;
-    while (TextLiteral.Kind.classify(p.tok_ids[string_end], .string_literal)) |next| : (string_end += 1) {
+    var string_kind: text_literal.Kind = .char;
+    while (text_literal.Kind.classify(p.tok_ids[string_end], .string_literal)) |next| : (string_end += 1) {
         string_kind = string_kind.concat(next) catch {
             try p.errTok(.unsupported_str_cat, string_end);
             while (p.tok_ids[p.tok_i].isStringLiteral()) : (p.tok_i += 1) {}
@@ -7551,24 +7733,24 @@ fn stringLiteral(p: *Parser) Error!Result {
 
     const char_width = string_kind.charUnitSize(p.comp);
 
-    const retain_start = mem.alignForward(usize, p.retained_strings.items.len, string_kind.internalStorageAlignment(p.comp));
-    try p.retained_strings.resize(retain_start);
+    const strings_top = p.strings.items.len;
+    defer p.strings.items.len = strings_top;
 
     while (p.tok_i < string_end) : (p.tok_i += 1) {
-        const this_kind = TextLiteral.Kind.classify(p.tok_ids[p.tok_i], .string_literal).?;
+        const this_kind = text_literal.Kind.classify(p.tok_ids[p.tok_i], .string_literal).?;
         const slice = this_kind.contentSlice(p.tokSlice(p.tok_i));
-        var char_literal_parser = TextLiteral.Parser.init(slice, this_kind, 0x10ffff, p.comp);
+        var char_literal_parser = text_literal.Parser.init(slice, this_kind, 0x10ffff, p.comp);
 
-        try p.retained_strings.ensureUnusedCapacity((slice.len + 1) * @intFromEnum(char_width)); // +1 for null terminator
+        try p.strings.ensureUnusedCapacity((slice.len + 1) * @intFromEnum(char_width)); // +1 for null terminator
         while (char_literal_parser.next()) |item| switch (item) {
             .value => |v| {
                 switch (char_width) {
-                    .@"1" => p.retained_strings.appendAssumeCapacity(@intCast(v)),
+                    .@"1" => p.strings.appendAssumeCapacity(@intCast(v)),
                     .@"2" => {
                         const word: u16 = @intCast(v);
-                        p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&word));
+                        p.strings.appendSliceAssumeCapacity(mem.asBytes(&word));
                     },
-                    .@"4" => p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&v)),
+                    .@"4" => p.strings.appendSliceAssumeCapacity(mem.asBytes(&v)),
                 }
             },
             .codepoint => |c| {
@@ -7577,7 +7759,7 @@ fn stringLiteral(p: *Parser) Error!Result {
                         var buf: [4]u8 = undefined;
                         const written = std.unicode.utf8Encode(c, &buf) catch unreachable;
                         const encoded = buf[0..written];
-                        p.retained_strings.appendSliceAssumeCapacity(encoded);
+                        p.strings.appendSliceAssumeCapacity(encoded);
                     },
                     .@"2" => {
                         var utf16_buf: [2]u16 = undefined;
@@ -7585,30 +7767,30 @@ fn stringLiteral(p: *Parser) Error!Result {
                         const utf8_written = std.unicode.utf8Encode(c, &utf8_buf) catch unreachable;
                         const utf16_written = std.unicode.utf8ToUtf16Le(&utf16_buf, utf8_buf[0..utf8_written]) catch unreachable;
                         const bytes = std.mem.sliceAsBytes(utf16_buf[0..utf16_written]);
-                        p.retained_strings.appendSliceAssumeCapacity(bytes);
+                        p.strings.appendSliceAssumeCapacity(bytes);
                     },
                     .@"4" => {
                         const val: u32 = c;
-                        p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&val));
+                        p.strings.appendSliceAssumeCapacity(mem.asBytes(&val));
                     },
                 }
             },
-            .improperly_encoded => |bytes| p.retained_strings.appendSliceAssumeCapacity(bytes),
+            .improperly_encoded => |bytes| p.strings.appendSliceAssumeCapacity(bytes),
             .utf8_text => |view| {
                 switch (char_width) {
-                    .@"1" => p.retained_strings.appendSliceAssumeCapacity(view.bytes),
+                    .@"1" => p.strings.appendSliceAssumeCapacity(view.bytes),
                     .@"2" => {
-                        var capacity_slice: []align(@alignOf(u16)) u8 = @alignCast(p.retained_strings.unusedCapacitySlice());
+                        const capacity_slice: []align(@alignOf(u16)) u8 = @alignCast(p.strings.unusedCapacitySlice());
                         const dest_len = std.mem.alignBackward(usize, capacity_slice.len, 2);
-                        var dest = std.mem.bytesAsSlice(u16, capacity_slice[0..dest_len]);
+                        const dest = std.mem.bytesAsSlice(u16, capacity_slice[0..dest_len]);
                         const words_written = std.unicode.utf8ToUtf16Le(dest, view.bytes) catch unreachable;
-                        p.retained_strings.resize(p.retained_strings.items.len + words_written * 2) catch unreachable;
+                        p.strings.resize(p.strings.items.len + words_written * 2) catch unreachable;
                     },
                     .@"4" => {
                         var it = view.iterator();
                         while (it.nextCodepoint()) |codepoint| {
                             const val: u32 = codepoint;
-                            p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&val));
+                            p.strings.appendSliceAssumeCapacity(mem.asBytes(&val));
                         }
                     },
                 }
@@ -7618,8 +7800,18 @@ fn stringLiteral(p: *Parser) Error!Result {
             try p.errExtra(item.tag, p.tok_i, item.extra);
         }
     }
-    p.retained_strings.appendNTimesAssumeCapacity(0, @intFromEnum(char_width));
-    const slice = p.retained_strings.items[retain_start..];
+    p.strings.appendNTimesAssumeCapacity(0, @intFromEnum(char_width));
+    const slice = p.strings.items[strings_top..];
+
+    // TODO this won't do anything if there is a cache hit
+    const interned_align = mem.alignForward(
+        usize,
+        p.comp.interner.strings.items.len,
+        string_kind.internalStorageAlignment(p.comp),
+    );
+    try p.comp.interner.strings.resize(p.gpa, interned_align);
+
+    const val = try Value.intern(p.comp, .{ .bytes = slice });
 
     const arr_ty = try p.arena.create(Type.Array);
     arr_ty.* = .{ .elem = string_kind.elementType(p.comp), .len = @divExact(slice.len, @intFromEnum(char_width)) };
@@ -7628,7 +7820,7 @@ fn stringLiteral(p: *Parser) Error!Result {
             .specifier = .array,
             .data = .{ .array = arr_ty },
         },
-        .val = Value.bytes(@intCast(retain_start), @intCast(p.retained_strings.items.len)),
+        .val = val,
     };
     res.node = try p.addNode(.{ .tag = .string_literal_expr, .ty = res.ty, .data = undefined });
     if (!p.in_macro) try p.value_map.put(res.node, res.val);
@@ -7638,7 +7830,7 @@ fn stringLiteral(p: *Parser) Error!Result {
 fn charLiteral(p: *Parser) Error!Result {
     defer p.tok_i += 1;
     const tok_id = p.tok_ids[p.tok_i];
-    const char_kind = TextLiteral.Kind.classify(tok_id, .char_literal) orelse {
+    const char_kind = text_literal.Kind.classify(tok_id, .char_literal) orelse {
         if (tok_id == .empty_char_literal) {
             try p.err(.empty_char_literal_error);
         } else if (tok_id == .unterminated_char_literal) {
@@ -7646,10 +7838,11 @@ fn charLiteral(p: *Parser) Error!Result {
         } else unreachable;
         return .{
             .ty = Type.int,
-            .val = Value.int(0),
+            .val = Value.zero,
             .node = try p.addNode(.{ .tag = .char_literal, .ty = Type.int, .data = undefined }),
         };
     };
+    if (char_kind == .utf_8) try p.err(.u8_char_lit);
     var val: u32 = 0;
 
     const slice = char_kind.contentSlice(p.tokSlice(p.tok_i));
@@ -7659,7 +7852,7 @@ fn charLiteral(p: *Parser) Error!Result {
         val = slice[0];
     } else {
         const max_codepoint = char_kind.maxCodepoint(p.comp);
-        var char_literal_parser = TextLiteral.Parser.init(slice, char_kind, max_codepoint, p.comp);
+        var char_literal_parser = text_literal.Parser.init(slice, char_kind, max_codepoint, p.comp);
 
         const max_chars_expected = 4;
         var stack_fallback = std.heap.stackFallback(max_chars_expected * @sizeOf(u32), p.comp.gpa);
@@ -7730,9 +7923,9 @@ fn charLiteral(p: *Parser) Error!Result {
     else
         p.comp.types.intmax;
 
-    var res = Result{
+    const res = Result{
         .ty = if (p.in_macro) macro_ty else ty,
-        .val = Value.int(val),
+        .val = try Value.int(val, p.comp),
         .node = try p.addNode(.{ .tag = .char_literal, .ty = ty, .data = undefined }),
     };
     if (!p.in_macro) try p.value_map.put(res.node, res.val);
@@ -7740,48 +7933,50 @@ fn charLiteral(p: *Parser) Error!Result {
 }
 
 fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix) !Result {
-    switch (suffix) {
-        .L => return p.todo("long double literals"),
-        .IL => {
-            try p.err(.gnu_imaginary_constant);
-            return p.todo("long double imaginary literals");
-        },
-        .None, .I, .F, .IF, .F16 => {
-            const ty = Type{ .specifier = switch (suffix) {
-                .None, .I => .double,
-                .F, .IF => .float,
-                .F16 => .float16,
-                else => unreachable,
-            } };
-            const d_val = std.fmt.parseFloat(f64, buf) catch |er| switch (er) {
-                error.InvalidCharacter => return p.todo("c2x digit separators in floats"),
-                else => unreachable,
-            };
-            const tag: Tree.Tag = switch (suffix) {
-                .None, .I => .double_literal,
-                .F, .IF => .float_literal,
-                .F16 => .float16_literal,
-                else => unreachable,
-            };
-            var res = Result{
-                .ty = ty,
-                .node = try p.addNode(.{ .tag = tag, .ty = ty, .data = undefined }),
-                .val = Value.float(d_val),
-            };
-            if (suffix.isImaginary()) {
-                try p.err(.gnu_imaginary_constant);
-                res.ty = .{ .specifier = switch (suffix) {
-                    .I => .complex_double,
-                    .IF => .complex_float,
-                    else => unreachable,
-                } };
-                res.val.tag = .unavailable;
-                try res.un(p, .imaginary_literal);
-            }
-            return res;
-        },
+    const ty = Type{ .specifier = switch (suffix) {
+        .None, .I => .double,
+        .F, .IF => .float,
+        .F16 => .float16,
+        .L, .IL => .long_double,
         else => unreachable,
+    } };
+    const val = try Value.intern(p.comp, key: {
+        try p.strings.ensureUnusedCapacity(buf.len);
+
+        const strings_top = p.strings.items.len;
+        defer p.strings.items.len = strings_top;
+        for (buf) |c| {
+            if (c != '_') p.strings.appendAssumeCapacity(c);
+        }
+
+        const float = std.fmt.parseFloat(f128, p.strings.items[strings_top..]) catch unreachable;
+        const bits = ty.bitSizeof(p.comp).?;
+        break :key switch (bits) {
+            16 => .{ .float = .{ .f16 = @floatCast(float) } },
+            32 => .{ .float = .{ .f32 = @floatCast(float) } },
+            64 => .{ .float = .{ .f64 = @floatCast(float) } },
+            80 => .{ .float = .{ .f80 = @floatCast(float) } },
+            128 => .{ .float = .{ .f128 = @floatCast(float) } },
+            else => unreachable,
+        };
+    });
+    var res = Result{
+        .ty = ty,
+        .node = try p.addNode(.{ .tag = .float_literal, .ty = ty, .data = undefined }),
+        .val = val,
+    };
+    if (suffix.isImaginary()) {
+        try p.err(.gnu_imaginary_constant);
+        res.ty = .{ .specifier = switch (suffix) {
+            .I => .complex_double,
+            .IF => .complex_float,
+            .IL => .complex_long_double,
+            else => unreachable,
+        } };
+        res.val = .{}; // TODO add complex values
+        try res.un(p, .imaginary_literal);
     }
+    return res;
 }
 
 fn getIntegerPart(p: *Parser, buf: []const u8, prefix: NumberPrefix, tok_i: TokenIndex) ![]const u8 {
@@ -7854,9 +8049,10 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok
         if (overflowed != 0) overflow = true;
         val = sum;
     }
+    var res: Result = .{ .val = try Value.int(val, p.comp) };
     if (overflow) {
         try p.errTok(.int_literal_too_big, tok_i);
-        var res: Result = .{ .ty = .{ .specifier = .ulong_long }, .val = Value.int(val) };
+        res.ty = .{ .specifier = .ulong_long };
         res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
         if (!p.in_macro) try p.value_map.put(res.node, res.val);
         return res;
@@ -7866,25 +8062,39 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok
             try p.errTok(.implicitly_unsigned_literal, tok_i);
         }
     }
-    return if (base == 10)
-        switch (suffix) {
-            .None, .I => p.castInt(val, &.{ .int, .long, .long_long }),
-            .U, .IU => p.castInt(val, &.{ .uint, .ulong, .ulong_long }),
-            .L, .IL => p.castInt(val, &.{ .long, .long_long }),
-            .UL, .IUL => p.castInt(val, &.{ .ulong, .ulong_long }),
-            .LL, .ILL => p.castInt(val, &.{.long_long}),
-            .ULL, .IULL => p.castInt(val, &.{.ulong_long}),
-            else => unreachable,
-        }
-    else switch (suffix) {
-        .None, .I => p.castInt(val, &.{ .int, .uint, .long, .ulong, .long_long, .ulong_long }),
-        .U, .IU => p.castInt(val, &.{ .uint, .ulong, .ulong_long }),
-        .L, .IL => p.castInt(val, &.{ .long, .ulong, .long_long, .ulong_long }),
-        .UL, .IUL => p.castInt(val, &.{ .ulong, .ulong_long }),
-        .LL, .ILL => p.castInt(val, &.{ .long_long, .ulong_long }),
-        .ULL, .IULL => p.castInt(val, &.{.ulong_long}),
+
+    const signed_specs = .{ .int, .long, .long_long };
+    const unsigned_specs = .{ .uint, .ulong, .ulong_long };
+    const signed_oct_hex_specs = .{ .int, .uint, .long, .ulong, .long_long, .ulong_long };
+    const specs: []const Type.Specifier = if (suffix.signedness() == .unsigned)
+        &unsigned_specs
+    else if (base == 10)
+        &signed_specs
+    else
+        &signed_oct_hex_specs;
+
+    const suffix_ty: Type = .{ .specifier = switch (suffix) {
+        .None, .I => .int,
+        .U, .IU => .uint,
+        .UL, .IUL => .ulong,
+        .ULL, .IULL => .ulong_long,
+        .L, .IL => .long,
+        .LL, .ILL => .long_long,
         else => unreachable,
-    };
+    } };
+
+    for (specs) |spec| {
+        res.ty = Type{ .specifier = spec };
+        if (res.ty.compareIntegerRanks(suffix_ty, p.comp).compare(.lt)) continue;
+        const max_int = res.ty.maxInt(p.comp);
+        if (val <= max_int) break;
+    } else {
+        res.ty = .{ .specifier = .ulong_long };
+    }
+
+    res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
+    if (!p.in_macro) try p.value_map.put(res.node, res.val);
+    return res;
 }
 
 fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) !Result {
@@ -7900,14 +8110,14 @@ fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuf
     if (suffix.isImaginary()) {
         try p.errTok(.gnu_imaginary_constant, tok_i);
         res.ty = res.ty.makeComplex();
-        res.val.tag = .unavailable;
+        res.val = .{};
         try res.un(p, .imaginary_literal);
     }
     return res;
 }
 
 fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) Error!Result {
-    try p.errStr(.pre_c2x_compat, tok_i, "'_BitInt' suffix for literals");
+    try p.errStr(.pre_c23_compat, tok_i, "'_BitInt' suffix for literals");
     try p.errTok(.bitint_suffix, tok_i);
 
     var managed = try big.int.Managed.init(p.gpa);
@@ -7937,25 +8147,17 @@ fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: To
             try p.errStr(.bit_int_too_big, tok_i, specifier.str(p.comp.langopts).?);
             return error.ParsingFailed;
         }
-        if (bits_needed > 64) {
-            return p.todo("_BitInt constants > 64 bits");
-        }
         break :blk @intCast(bits_needed);
     };
 
-    const val = c.to(u64) catch |e| switch (e) {
-        error.NegativeIntoUnsigned => unreachable, // unary minus parsed elsewhere; we only see positive integers
-        error.TargetTooSmall => unreachable, // Validated above but Todo: handle larger _BitInt
-    };
-
     var res: Result = .{
-        .val = Value.int(val),
+        .val = try Value.intern(p.comp, .{ .int = .{ .big_int = c } }),
         .ty = .{
             .specifier = .bit_int,
             .data = .{ .int = .{ .bits = bits_needed, .signedness = suffix.signedness() } },
         },
     };
-    res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = .{ .int = val } });
+    res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
     if (!p.in_macro) try p.value_map.put(res.node, res.val);
     return res;
 }
@@ -8051,43 +8253,13 @@ fn ppNum(p: *Parser) Error!Result {
             return error.ParsingFailed;
         }
         res.ty = if (res.ty.isUnsignedInt(p.comp)) p.comp.types.intmax.makeIntegerUnsigned() else p.comp.types.intmax;
-    } else {
+    } else if (res.val.opt_ref != .none) {
+        // TODO add complex values
         try p.value_map.put(res.node, res.val);
     }
     return res;
 }
 
-fn castInt(p: *Parser, val: u64, specs: []const Type.Specifier) Error!Result {
-    var res: Result = .{ .val = Value.int(val) };
-    for (specs) |spec| {
-        const ty = Type{ .specifier = spec };
-        const unsigned = ty.isUnsignedInt(p.comp);
-        const size = ty.sizeof(p.comp).?;
-        res.ty = ty;
-
-        if (unsigned) {
-            switch (size) {
-                2 => if (val <= std.math.maxInt(u16)) break,
-                4 => if (val <= std.math.maxInt(u32)) break,
-                8 => if (val <= std.math.maxInt(u64)) break,
-                else => unreachable,
-            }
-        } else {
-            switch (size) {
-                2 => if (val <= std.math.maxInt(i16)) break,
-                4 => if (val <= std.math.maxInt(i32)) break,
-                8 => if (val <= std.math.maxInt(i64)) break,
-                else => unreachable,
-            }
-        }
-    } else {
-        res.ty = .{ .specifier = .ulong_long };
-    }
-    res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = .{ .int = val } });
-    if (!p.in_macro) try p.value_map.put(res.node, res.val);
-    return res;
-}
-
 /// Run a parser function but do not evaluate the result
 fn parseNoEval(p: *Parser, comptime func: fn (*Parser) Error!Result) Error!Result {
     const no_eval = p.no_eval;
deps/aro/Pragma.zig → deps/aro/aro/Pragma.zig
@@ -4,10 +4,10 @@ const Preprocessor = @import("Preprocessor.zig");
 const Parser = @import("Parser.zig");
 const TokenIndex = @import("Tree.zig").TokenIndex;
 
-const Pragma = @This();
-
 pub const Error = Compilation.Error || error{ UnknownPragma, StopPreprocessing };
 
+const Pragma = @This();
+
 /// Called during Preprocessor.init
 beforePreprocess: ?*const fn (*Pragma, *Compilation) void = null,
 
deps/aro/Preprocessor.zig → deps/aro/aro/Preprocessor.zig
@@ -13,8 +13,7 @@ const Token = @import("Tree.zig").Token;
 const Attribute = @import("Attribute.zig");
 const features = @import("features.zig");
 
-const Preprocessor = @This();
-const DefineMap = std.StringHashMap(Macro);
+const DefineMap = std.StringHashMapUnmanaged(Macro);
 const RawTokenList = std.ArrayList(RawToken);
 const max_include_depth = 200;
 
@@ -40,9 +39,9 @@ const Macro = struct {
     is_builtin: bool = false,
 
     /// Location of macro in the source
-    /// `byte_offset` and `line` are used to define the range of tokens included
-    /// in the macro.
     loc: Source.Location,
+    start: u32,
+    end: u32,
 
     fn eql(a: Macro, b: Macro, pp: *Preprocessor) bool {
         if (a.tokens.len != b.tokens.len) return false;
@@ -63,10 +62,12 @@ const Macro = struct {
     }
 };
 
+const Preprocessor = @This();
+
 comp: *Compilation,
 gpa: mem.Allocator,
 arena: std.heap.ArenaAllocator,
-defines: DefineMap,
+defines: DefineMap = .{},
 tokens: Token.List = .{},
 token_buf: RawTokenList,
 char_buf: std.ArrayList(u8),
@@ -92,6 +93,8 @@ preserve_whitespace: bool = false,
 /// linemarker tokens. Must be .none unless in -E mode (parser does not handle linemarkers)
 linemarkers: Linemarkers = .none,
 
+pub const parse = Parser.parse;
+
 pub const Linemarkers = enum {
     /// No linemarker tokens. Required setting if parser will run
     none,
@@ -106,7 +109,6 @@ pub fn init(comp: *Compilation) Preprocessor {
         .comp = comp,
         .gpa = comp.gpa,
         .arena = std.heap.ArenaAllocator.init(comp.gpa),
-        .defines = DefineMap.init(comp.gpa),
         .token_buf = RawTokenList.init(comp.gpa),
         .char_buf = std.ArrayList(u8).init(comp.gpa),
         .poisoned_identifiers = std.StringHashMap(void).init(comp.gpa),
@@ -116,6 +118,14 @@ pub fn init(comp: *Compilation) Preprocessor {
     return pp;
 }
 
+/// Initialize Preprocessor with builtin macros.
+pub fn initDefault(comp: *Compilation) !Preprocessor {
+    var pp = init(comp);
+    errdefer pp.deinit();
+    try pp.addBuiltinMacros();
+    return pp;
+}
+
 const builtin_macros = struct {
     const args = [1][]const u8{"X"};
 
@@ -123,6 +133,10 @@ const builtin_macros = struct {
         .id = .macro_param_has_attribute,
         .source = .generated,
     }};
+    const has_c_attribute = [1]RawToken{.{
+        .id = .macro_param_has_c_attribute,
+        .source = .generated,
+    }};
     const has_declspec_attribute = [1]RawToken{.{
         .id = .macro_param_has_declspec_attribute,
         .source = .generated,
@@ -151,6 +165,10 @@ const builtin_macros = struct {
         .id = .macro_param_has_include_next,
         .source = .generated,
     }};
+    const has_embed = [1]RawToken{.{
+        .id = .macro_param_has_embed,
+        .source = .generated,
+    }};
 
     const is_identifier = [1]RawToken{.{
         .id = .macro_param_is_identifier,
@@ -177,18 +195,21 @@ const builtin_macros = struct {
 };
 
 fn addBuiltinMacro(pp: *Preprocessor, name: []const u8, is_func: bool, tokens: []const RawToken) !void {
-    try pp.defines.putNoClobber(name, .{
+    try pp.defines.putNoClobber(pp.gpa, name, .{
         .params = &builtin_macros.args,
         .tokens = tokens,
         .var_args = false,
         .is_func = is_func,
         .loc = .{ .id = .generated },
+        .start = 0,
+        .end = 0,
         .is_builtin = true,
     });
 }
 
 pub fn addBuiltinMacros(pp: *Preprocessor) !void {
     try pp.addBuiltinMacro("__has_attribute", true, &builtin_macros.has_attribute);
+    try pp.addBuiltinMacro("__has_c_attribute", true, &builtin_macros.has_c_attribute);
     try pp.addBuiltinMacro("__has_declspec_attribute", true, &builtin_macros.has_declspec_attribute);
     try pp.addBuiltinMacro("__has_warning", true, &builtin_macros.has_warning);
     try pp.addBuiltinMacro("__has_feature", true, &builtin_macros.has_feature);
@@ -196,6 +217,7 @@ pub fn addBuiltinMacros(pp: *Preprocessor) !void {
     try pp.addBuiltinMacro("__has_builtin", true, &builtin_macros.has_builtin);
     try pp.addBuiltinMacro("__has_include", true, &builtin_macros.has_include);
     try pp.addBuiltinMacro("__has_include_next", true, &builtin_macros.has_include_next);
+    try pp.addBuiltinMacro("__has_embed", true, &builtin_macros.has_embed);
     try pp.addBuiltinMacro("__is_identifier", true, &builtin_macros.is_identifier);
     try pp.addBuiltinMacro("_Pragma", true, &builtin_macros.pragma_operator);
 
@@ -205,7 +227,7 @@ pub fn addBuiltinMacros(pp: *Preprocessor) !void {
 }
 
 pub fn deinit(pp: *Preprocessor) void {
-    pp.defines.deinit();
+    pp.defines.deinit(pp.gpa);
     for (pp.tokens.items(.expansion_locs)) |loc| Token.free(loc, pp.gpa);
     pp.tokens.deinit(pp.gpa);
     pp.arena.deinit();
@@ -216,6 +238,20 @@ pub fn deinit(pp: *Preprocessor) void {
     pp.top_expansion_buf.deinit();
 }
 
+/// Preprocess a compilation unit of sources into a parsable list of tokens.
+pub fn preprocessSources(pp: *Preprocessor, sources: []const Source) Error!void {
+    assert(sources.len > 1);
+    const first = sources[0];
+    try pp.addIncludeStart(first);
+    for (sources[1..]) |header| {
+        try pp.addIncludeStart(header);
+        _ = try pp.preprocess(header);
+    }
+    try pp.addIncludeResume(first.id, 0, 0);
+    const eof = try pp.preprocess(first);
+    try pp.tokens.append(pp.comp.gpa, eof);
+}
+
 /// Preprocess a source file, returns eof token.
 pub fn preprocess(pp: *Preprocessor, source: Source) Error!Token {
     const eof = pp.preprocessExtra(source) catch |er| switch (er) {
@@ -242,7 +278,7 @@ pub fn tokenize(pp: *Preprocessor, source: Source) Error!Token {
     try pp.tokens.ensureTotalCapacity(pp.gpa, pp.tokens.len + estimated_token_count);
 
     while (true) {
-        var tok = tokenizer.next();
+        const tok = tokenizer.next();
         if (tok.id == .eof) return tokFromRaw(tok);
         try pp.tokens.append(pp.gpa, tokFromRaw(tok));
     }
@@ -333,9 +369,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!Token {
                         }
                         try pp.stringify(pp.top_expansion_buf.items);
                         const slice = pp.char_buf.items[char_top + 1 .. pp.char_buf.items.len - 2];
-                        const duped = try pp.comp.diag.arena.allocator().dupe(u8, slice);
+                        const duped = try pp.comp.diagnostics.arena.allocator().dupe(u8, slice);
 
-                        try pp.comp.diag.add(.{
+                        try pp.comp.addDiagnostic(.{
                             .tag = if (directive.id == .keyword_error) .error_directive else .warning_directive,
                             .loc = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line },
                             .extra = .{ .str = duped },
@@ -557,12 +593,12 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!Token {
                         continue;
                     },
                     .keyword_include_next => {
-                        try pp.comp.diag.add(.{
+                        try pp.comp.addDiagnostic(.{
                             .tag = .include_next,
                             .loc = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line },
                         }, &.{});
                         if (pp.include_depth == 0) {
-                            try pp.comp.diag.add(.{
+                            try pp.comp.addDiagnostic(.{
                                 .tag = .include_next_outside_header,
                                 .loc = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line },
                             }, &.{});
@@ -679,7 +715,7 @@ fn tokFromRaw(raw: RawToken) Token {
 }
 
 fn err(pp: *Preprocessor, raw: RawToken, tag: Diagnostics.Tag) !void {
-    try pp.comp.diag.add(.{
+    try pp.comp.addDiagnostic(.{
         .tag = tag,
         .loc = .{
             .id = raw.source,
@@ -689,10 +725,26 @@ fn err(pp: *Preprocessor, raw: RawToken, tag: Diagnostics.Tag) !void {
     }, &.{});
 }
 
+fn errStr(pp: *Preprocessor, tok: Token, tag: Diagnostics.Tag, str: []const u8) !void {
+    try pp.comp.addDiagnostic(.{
+        .tag = tag,
+        .loc = tok.loc,
+        .extra = .{ .str = str },
+    }, tok.expansionSlice());
+}
+
 fn fatal(pp: *Preprocessor, raw: RawToken, comptime fmt: []const u8, args: anytype) Compilation.Error {
-    const source = pp.comp.getSource(raw.source);
-    const line_col = source.lineCol(.{ .id = raw.source, .line = raw.line, .byte_offset = raw.start });
-    return pp.comp.diag.fatal(source.path, line_col.line, raw.line, line_col.col, fmt, args);
+    try pp.comp.diagnostics.list.append(pp.gpa, .{
+        .tag = .cli_error,
+        .kind = .@"fatal error",
+        .extra = .{ .str = try std.fmt.allocPrint(pp.comp.diagnostics.arena.allocator(), fmt, args) },
+        .loc = .{
+            .id = raw.source,
+            .byte_offset = raw.start,
+            .line = raw.line,
+        },
+    });
+    return error.FatalError;
 }
 
 fn verboseLog(pp: *Preprocessor, raw: RawToken, comptime fmt: []const u8, args: anytype) void {
@@ -745,7 +797,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
 
     pp.top_expansion_buf.items.len = 0;
     const eof = while (true) {
-        var tok = tokenizer.next();
+        const tok = tokenizer.next();
         switch (tok.id) {
             .nl, .eof => break tok,
             .whitespace => if (pp.top_expansion_buf.items.len == 0) continue,
@@ -760,7 +812,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
     for (pp.top_expansion_buf.items) |tok| {
         if (tok.id == .macro_ws) continue;
         if (!tok.id.validPreprocessorExprStart()) {
-            try pp.comp.diag.add(.{
+            try pp.comp.addDiagnostic(.{
                 .tag = .invalid_preproc_expr_start,
                 .loc = tok.loc,
             }, tok.expansionSlice());
@@ -785,7 +837,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
             .string_literal_utf_32,
             .string_literal_wide,
             => {
-                try pp.comp.diag.add(.{
+                try pp.comp.addDiagnostic(.{
                     .tag = .string_literal_in_pp_expr,
                     .loc = tok.loc,
                 }, tok.expansionSlice());
@@ -815,7 +867,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
             .arrow,
             .period,
             => {
-                try pp.comp.diag.add(.{
+                try pp.comp.addDiagnostic(.{
                     .tag = .invalid_preproc_operator,
                     .loc = tok.loc,
                 }, tok.expansionSlice());
@@ -829,20 +881,12 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
                     const tokens_consumed = try pp.handleKeywordDefined(&tok, items[i + 1 ..], eof);
                     i += tokens_consumed;
                 } else {
-                    try pp.comp.diag.add(.{
-                        .tag = .undefined_macro,
-                        .loc = tok.loc,
-                        .extra = .{ .str = pp.expandedSlice(tok) },
-                    }, tok.expansionSlice());
+                    try pp.errStr(tok, .undefined_macro, pp.expandedSlice(tok));
 
                     if (i + 1 < pp.top_expansion_buf.items.len and
                         pp.top_expansion_buf.items[i + 1].id == .l_paren)
                     {
-                        try pp.comp.diag.add(.{
-                            .tag = .fn_macro_undefined,
-                            .loc = tok.loc,
-                            .extra = .{ .str = pp.expandedSlice(tok) },
-                        }, tok.expansionSlice());
+                        try pp.errStr(tok, .fn_macro_undefined, pp.expandedSlice(tok));
                         return false;
                     }
 
@@ -866,9 +910,9 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
         .tok_i = @intCast(start),
         .arena = pp.arena.allocator(),
         .in_macro = true,
+        .strings = std.ArrayList(u8).init(pp.comp.gpa),
+
         .data = undefined,
-        .strings = undefined,
-        .retained_strings = undefined,
         .value_map = undefined,
         .labels = undefined,
         .decl_buf = undefined,
@@ -880,6 +924,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
         .field_attr_buf = undefined,
         .string_ids = undefined,
     };
+    defer parser.strings.deinit();
     return parser.macroExpr();
 }
 
@@ -896,11 +941,7 @@ fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *Token, tokens: []const To
         .l_paren => {},
         else => {
             if (!first.id.isMacroIdentifier()) {
-                try pp.comp.diag.add(.{
-                    .tag = .macro_name_must_be_identifier,
-                    .loc = first.loc,
-                    .extra = .{ .str = pp.expandedSlice(first) },
-                }, first.expansionSlice());
+                try pp.errStr(first, .macro_name_must_be_identifier, pp.expandedSlice(first));
             }
             macro_tok.id = if (pp.defines.contains(pp.expandedSlice(first))) .one else .zero;
             return it.i;
@@ -911,7 +952,7 @@ fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *Token, tokens: []const To
         return it.i;
     };
     if (!second.id.isMacroIdentifier()) {
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .macro_name_must_be_identifier,
             .loc = second.loc,
         }, second.expansionSlice());
@@ -922,11 +963,11 @@ fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *Token, tokens: []const To
     const last = it.nextNoWS();
     if (last == null or last.?.id != .r_paren) {
         const tok = last orelse tokFromRaw(eof);
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .closing_paren,
             .loc = tok.loc,
         }, tok.expansionSlice());
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .to_match_paren,
             .loc = first.loc,
         }, first.expansionSlice());
@@ -1076,21 +1117,24 @@ fn expandObjMacro(pp: *Preprocessor, simple_macro: *const Macro) Error!ExpandBuf
             .macro_file => {
                 const start = pp.comp.generated_buf.items.len;
                 const source = pp.comp.getSource(pp.expansion_source_loc.id);
-                try pp.comp.generated_buf.writer().print("\"{s}\"\n", .{source.path});
+                const w = pp.comp.generated_buf.writer(pp.gpa);
+                try w.print("\"{s}\"\n", .{source.path});
 
                 buf.appendAssumeCapacity(try pp.makeGeneratedToken(start, .string_literal, tok));
             },
             .macro_line => {
                 const start = pp.comp.generated_buf.items.len;
                 const source = pp.comp.getSource(pp.expansion_source_loc.id);
-                try pp.comp.generated_buf.writer().print("{d}\n", .{source.physicalLine(pp.expansion_source_loc)});
+                const w = pp.comp.generated_buf.writer(pp.gpa);
+                try w.print("{d}\n", .{source.physicalLine(pp.expansion_source_loc)});
 
                 buf.appendAssumeCapacity(try pp.makeGeneratedToken(start, .pp_num, tok));
             },
             .macro_counter => {
                 defer pp.counter += 1;
                 const start = pp.comp.generated_buf.items.len;
-                try pp.comp.generated_buf.writer().print("{d}\n", .{pp.counter});
+                const w = pp.comp.generated_buf.writer(pp.gpa);
+                try w.print("{d}\n", .{pp.counter});
 
                 buf.appendAssumeCapacity(try pp.makeGeneratedToken(start, .pp_num, tok));
             },
@@ -1138,7 +1182,7 @@ fn pragmaOperator(pp: *Preprocessor, arg_tok: Token, operator_loc: Source.Locati
     pp.char_buf.appendAssumeCapacity('\n');
 
     const start = pp.comp.generated_buf.items.len;
-    try pp.comp.generated_buf.appendSlice(pp.char_buf.items);
+    try pp.comp.generated_buf.appendSlice(pp.gpa, pp.char_buf.items);
     var tmp_tokenizer = Tokenizer{
         .buf = pp.comp.generated_buf.items,
         .comp = pp.comp,
@@ -1217,7 +1261,7 @@ fn stringify(pp: *Preprocessor, tokens: []const Token) !void {
     }
     if (pp.char_buf.items[pp.char_buf.items.len - 1] == '\\') {
         const tok = tokens[tokens.len - 1];
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .invalid_pp_stringify_escape,
             .loc = tok.loc,
         }, tok.expansionSlice());
@@ -1226,7 +1270,7 @@ fn stringify(pp: *Preprocessor, tokens: []const Token) !void {
     try pp.char_buf.appendSlice("\"\n");
 }
 
-fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]const u8 {
+fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token, embed_args: ?*[]const Token) !?[]const u8 {
     const char_top = pp.char_buf.items.len;
     defer pp.char_buf.items.len = char_top;
 
@@ -1238,29 +1282,35 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
     const params = param_toks[begin..end];
 
     if (params.len == 0) {
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .expected_filename,
             .loc = param_toks[0].loc,
         }, param_toks[0].expansionSlice());
         return null;
     }
     // no string pasting
-    if (params[0].id == .string_literal and params.len > 1) {
-        try pp.comp.diag.add(.{
+    if (embed_args == null and params[0].id == .string_literal and params.len > 1) {
+        try pp.comp.addDiagnostic(.{
             .tag = .closing_paren,
             .loc = params[1].loc,
         }, params[1].expansionSlice());
         return null;
     }
 
-    for (params) |tok| {
+    for (params, 0..) |tok, i| {
         const str = pp.expandedSliceExtra(tok, .preserve_macro_ws);
         try pp.char_buf.appendSlice(str);
+        if (embed_args) |some| {
+            if ((i == 0 and tok.id == .string_literal) or tok.id == .angle_bracket_right) {
+                some.* = params[i + 1 ..];
+                break;
+            }
+        }
     }
 
     const include_str = pp.char_buf.items[char_top..];
     if (include_str.len < 3) {
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .empty_filename,
             .loc = params[0].loc,
         }, params[0].expansionSlice());
@@ -1272,11 +1322,11 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
             if (include_str[include_str.len - 1] != '>') {
                 // Ugly hack to find out where the '>' should go, since we don't have the closing ')' location
                 const start = params[0].loc;
-                try pp.comp.diag.add(.{
+                try pp.comp.addDiagnostic(.{
                     .tag = .header_str_closing,
                     .loc = .{ .id = start.id, .byte_offset = start.byte_offset + @as(u32, @intCast(include_str.len)) + 1, .line = start.line },
                 }, params[0].expansionSlice());
-                try pp.comp.diag.add(.{
+                try pp.comp.addDiagnostic(.{
                     .tag = .header_str_match,
                     .loc = params[0].loc,
                 }, params[0].expansionSlice());
@@ -1286,7 +1336,7 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
         },
         '"' => return include_str,
         else => {
-            try pp.comp.diag.add(.{
+            try pp.comp.addDiagnostic(.{
                 .tag = .expected_filename,
                 .loc = params[0].loc,
             }, params[0].expansionSlice());
@@ -1316,7 +1366,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
             }
             if (identifier == null and invalid == null) invalid = .{ .id = .eof, .loc = src_loc };
             if (invalid) |some| {
-                try pp.comp.diag.add(
+                try pp.comp.addDiagnostic(
                     .{ .tag = .feature_check_requires_identifier, .loc = some.loc },
                     some.expansionSlice(),
                 );
@@ -1341,21 +1391,13 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
         .macro_param_has_warning => {
             const actual_param = pp.pasteStringsUnsafe(param_toks) catch |er| switch (er) {
                 error.ExpectedStringLiteral => {
-                    try pp.comp.diag.add(.{
-                        .tag = .expected_str_literal_in,
-                        .loc = param_toks[0].loc,
-                        .extra = .{ .str = "__has_warning" },
-                    }, param_toks[0].expansionSlice());
+                    try pp.errStr(param_toks[0], .expected_str_literal_in, "__has_warning");
                     return false;
                 },
                 else => |e| return e,
             };
             if (!mem.startsWith(u8, actual_param, "-W")) {
-                try pp.comp.diag.add(.{
-                    .tag = .malformed_warning_check,
-                    .loc = param_toks[0].loc,
-                    .extra = .{ .str = "__has_warning" },
-                }, param_toks[0].expansionSlice());
+                try pp.errStr(param_toks[0], .malformed_warning_check, "__has_warning");
                 return false;
             }
             const warning_name = actual_param[2..];
@@ -1373,7 +1415,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
             };
             if (identifier == null and invalid == null) invalid = .{ .id = .eof, .loc = src_loc };
             if (invalid) |some| {
-                try pp.comp.diag.add(.{
+                try pp.comp.addDiagnostic(.{
                     .tag = .missing_tok_builtin,
                     .loc = some.loc,
                     .extra = .{ .tok_id_expected = .r_paren },
@@ -1385,7 +1427,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
             return id == .identifier or id == .extended_identifier;
         },
         .macro_param_has_include, .macro_param_has_include_next => {
-            const include_str = (try pp.reconstructIncludeString(param_toks)) orelse return false;
+            const include_str = (try pp.reconstructIncludeString(param_toks, null)) orelse return false;
             const include_type: Compilation.IncludeType = switch (include_str[0]) {
                 '"' => .quotes,
                 '<' => .angle_brackets,
@@ -1394,7 +1436,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
             const filename = include_str[1 .. include_str.len - 1];
             if (builtin == .macro_param_has_include or pp.include_depth == 0) {
                 if (builtin == .macro_param_has_include_next) {
-                    try pp.comp.diag.add(.{
+                    try pp.comp.addDiagnostic(.{
                         .tag = .include_next_outside_header,
                         .loc = src_loc,
                     }, &.{});
@@ -1445,6 +1487,9 @@ fn expandFuncMacro(
                 const raw_next = func_macro.tokens[tok_i + 1];
                 tok_i += 1;
 
+                var va_opt_buf = ExpandBuf.init(pp.gpa);
+                defer va_opt_buf.deinit();
+
                 const next = switch (raw_next.id) {
                     .macro_ws => continue,
                     .hash_hash => continue,
@@ -1457,6 +1502,11 @@ fn expandFuncMacro(
                     else
                         &[1]Token{tokFromRaw(.{ .id = .placemarker, .source = .generated })},
                     .keyword_va_args => variable_arguments.items,
+                    .keyword_va_opt => blk: {
+                        try pp.expandVaOpt(&va_opt_buf, raw_next, variable_arguments.items.len != 0);
+                        if (va_opt_buf.items.len == 0) break;
+                        break :blk va_opt_buf.items;
+                    },
                     else => &[1]Token{tokFromRaw(raw_next)},
                 };
 
@@ -1480,6 +1530,9 @@ fn expandFuncMacro(
                 const raw_loc = Source.Location{ .id = raw.source, .byte_offset = raw.start, .line = raw.line };
                 try bufCopyTokens(&buf, expanded_variable_arguments.items, &.{raw_loc});
             },
+            .keyword_va_opt => {
+                try pp.expandVaOpt(&buf, raw, variable_arguments.items.len != 0);
+            },
             .stringify_param, .stringify_va_args => {
                 const arg = if (raw.id == .stringify_va_args)
                     variable_arguments.items
@@ -1490,7 +1543,7 @@ fn expandFuncMacro(
                 try pp.stringify(arg);
 
                 const start = pp.comp.generated_buf.items.len;
-                try pp.comp.generated_buf.appendSlice(pp.char_buf.items);
+                try pp.comp.generated_buf.appendSlice(pp.gpa, pp.char_buf.items);
 
                 try buf.append(try pp.makeGeneratedToken(start, .string_literal, tokFromRaw(raw)));
             },
@@ -1507,11 +1560,221 @@ fn expandFuncMacro(
                 const arg = expanded_args.items[0];
                 const result = if (arg.len == 0) blk: {
                     const extra = Diagnostics.Message.Extra{ .arguments = .{ .expected = 1, .actual = 0 } };
-                    try pp.comp.diag.add(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
+                    try pp.comp.addDiagnostic(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
                     break :blk false;
                 } else try pp.handleBuiltinMacro(raw.id, arg, loc);
                 const start = pp.comp.generated_buf.items.len;
-                try pp.comp.generated_buf.writer().print("{}\n", .{@intFromBool(result)});
+                const w = pp.comp.generated_buf.writer(pp.gpa);
+                try w.print("{}\n", .{@intFromBool(result)});
+                try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
+            },
+            .macro_param_has_c_attribute => {
+                const arg = expanded_args.items[0];
+                const not_found = "0\n";
+                const result = if (arg.len == 0) blk: {
+                    const extra = Diagnostics.Message.Extra{ .arguments = .{ .expected = 1, .actual = 0 } };
+                    try pp.comp.addDiagnostic(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
+                    break :blk not_found;
+                } else res: {
+                    var invalid: ?Token = null;
+                    var vendor_ident: ?Token = null;
+                    var colon_colon: ?Token = null;
+                    var attr_ident: ?Token = null;
+                    for (arg) |tok| {
+                        if (tok.id == .macro_ws) continue;
+                        if (tok.id == .comment) continue;
+                        if (tok.id == .colon_colon) {
+                            if (colon_colon != null or attr_ident == null) {
+                                invalid = tok;
+                                break;
+                            }
+                            vendor_ident = attr_ident;
+                            attr_ident = null;
+                            colon_colon = tok;
+                            continue;
+                        }
+                        if (!tok.id.isMacroIdentifier()) {
+                            invalid = tok;
+                            break;
+                        }
+                        if (attr_ident) |_| {
+                            invalid = tok;
+                            break;
+                        } else attr_ident = tok;
+                    }
+                    if (vendor_ident != null and attr_ident == null) {
+                        invalid = vendor_ident;
+                    } else if (attr_ident == null and invalid == null) {
+                        invalid = .{ .id = .eof, .loc = loc };
+                    }
+                    if (invalid) |some| {
+                        try pp.comp.addDiagnostic(
+                            .{ .tag = .feature_check_requires_identifier, .loc = some.loc },
+                            some.expansionSlice(),
+                        );
+                        break :res not_found;
+                    }
+                    if (vendor_ident) |some| {
+                        const vendor_str = pp.expandedSlice(some);
+                        const attr_str = pp.expandedSlice(attr_ident.?);
+                        const exists = Attribute.fromString(.gnu, vendor_str, attr_str) != null;
+
+                        const start = pp.comp.generated_buf.items.len;
+                        try pp.comp.generated_buf.appendSlice(pp.gpa, if (exists) "1\n" else "0\n");
+                        try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
+                        continue;
+                    }
+                    if (!pp.comp.langopts.standard.atLeast(.c23)) break :res not_found;
+
+                    const attrs = std.ComptimeStringMap([]const u8, .{
+                        .{ "deprecated", "201904L\n" },
+                        .{ "fallthrough", "201904L\n" },
+                        .{ "maybe_unused", "201904L\n" },
+                        .{ "nodiscard", "202003L\n" },
+                        .{ "noreturn", "202202L\n" },
+                        .{ "_Noreturn", "202202L\n" },
+                        .{ "unsequenced", "202207L\n" },
+                        .{ "reproducible", "202207L\n" },
+                    });
+
+                    const attr_str = Attribute.normalize(pp.expandedSlice(attr_ident.?));
+                    break :res attrs.get(attr_str) orelse not_found;
+                };
+                const start = pp.comp.generated_buf.items.len;
+                try pp.comp.generated_buf.appendSlice(pp.gpa, result);
+                try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
+            },
+            .macro_param_has_embed => {
+                const arg = expanded_args.items[0];
+                const not_found = "0\n";
+                const result = if (arg.len == 0) blk: {
+                    const extra = Diagnostics.Message.Extra{ .arguments = .{ .expected = 1, .actual = 0 } };
+                    try pp.comp.addDiagnostic(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
+                    break :blk not_found;
+                } else res: {
+                    var embed_args: []const Token = &.{};
+                    const include_str = (try pp.reconstructIncludeString(arg, &embed_args)) orelse
+                        break :res not_found;
+
+                    var prev = tokFromRaw(raw);
+                    prev.id = .eof;
+                    var it: struct {
+                        i: u32 = 0,
+                        slice: []const Token,
+                        prev: Token,
+                        fn next(it: *@This()) Token {
+                            while (it.i < it.slice.len) switch (it.slice[it.i].id) {
+                                .macro_ws, .whitespace => it.i += 1,
+                                else => break,
+                            } else return it.prev;
+                            defer it.i += 1;
+                            it.prev = it.slice[it.i];
+                            it.prev.id = .eof;
+                            return it.slice[it.i];
+                        }
+                    } = .{ .slice = embed_args, .prev = prev };
+
+                    while (true) {
+                        const param_first = it.next();
+                        if (param_first.id == .eof) break;
+                        if (param_first.id != .identifier) {
+                            try pp.comp.addDiagnostic(
+                                .{ .tag = .malformed_embed_param, .loc = param_first.loc },
+                                param_first.expansionSlice(),
+                            );
+                            continue;
+                        }
+
+                        const char_top = pp.char_buf.items.len;
+                        defer pp.char_buf.items.len = char_top;
+
+                        const maybe_colon = it.next();
+                        const param = switch (maybe_colon.id) {
+                            .colon_colon => blk: {
+                                // vendor::param
+                                const param = it.next();
+                                if (param.id != .identifier) {
+                                    try pp.comp.addDiagnostic(
+                                        .{ .tag = .malformed_embed_param, .loc = param.loc },
+                                        param.expansionSlice(),
+                                    );
+                                    continue;
+                                }
+                                const l_paren = it.next();
+                                if (l_paren.id != .l_paren) {
+                                    try pp.comp.addDiagnostic(
+                                        .{ .tag = .malformed_embed_param, .loc = l_paren.loc },
+                                        l_paren.expansionSlice(),
+                                    );
+                                    continue;
+                                }
+                                break :blk "doesn't exist";
+                            },
+                            .l_paren => Attribute.normalize(pp.expandedSlice(param_first)),
+                            else => {
+                                try pp.comp.addDiagnostic(
+                                    .{ .tag = .malformed_embed_param, .loc = maybe_colon.loc },
+                                    maybe_colon.expansionSlice(),
+                                );
+                                continue;
+                            },
+                        };
+
+                        var arg_count: u32 = 0;
+                        var first_arg: Token = undefined;
+                        while (true) {
+                            const next = it.next();
+                            if (next.id == .eof) {
+                                try pp.comp.addDiagnostic(
+                                    .{ .tag = .malformed_embed_limit, .loc = param_first.loc },
+                                    param_first.expansionSlice(),
+                                );
+                                break;
+                            }
+                            if (next.id == .r_paren) break;
+                            arg_count += 1;
+                            if (arg_count == 1) first_arg = next;
+                        }
+
+                        if (std.mem.eql(u8, param, "limit")) {
+                            if (arg_count != 1) {
+                                try pp.comp.addDiagnostic(
+                                    .{ .tag = .malformed_embed_limit, .loc = param_first.loc },
+                                    param_first.expansionSlice(),
+                                );
+                                continue;
+                            }
+                            if (first_arg.id != .pp_num) {
+                                try pp.comp.addDiagnostic(
+                                    .{ .tag = .malformed_embed_limit, .loc = param_first.loc },
+                                    param_first.expansionSlice(),
+                                );
+                                continue;
+                            }
+                            _ = std.fmt.parseInt(u32, pp.expandedSlice(first_arg), 10) catch {
+                                break :res not_found;
+                            };
+                        } else if (!std.mem.eql(u8, param, "prefix") and !std.mem.eql(u8, param, "suffix") and
+                            !std.mem.eql(u8, param, "if_empty"))
+                        {
+                            break :res not_found;
+                        }
+                    }
+
+                    const include_type: Compilation.IncludeType = switch (include_str[0]) {
+                        '"' => .quotes,
+                        '<' => .angle_brackets,
+                        else => unreachable,
+                    };
+                    const filename = include_str[1 .. include_str.len - 1];
+                    const contents = (try pp.comp.findEmbed(filename, arg[0].loc.id, include_type, 1)) orelse
+                        break :res not_found;
+
+                    defer pp.comp.gpa.free(contents);
+                    break :res if (contents.len != 0) "1\n" else "2\n";
+                };
+                const start = pp.comp.generated_buf.items.len;
+                try pp.comp.generated_buf.appendSlice(pp.comp.gpa, result);
                 try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
             },
             .macro_param_pragma_operator => {
@@ -1533,7 +1796,7 @@ fn expandFuncMacro(
                     },
                 };
                 if (string == null and invalid == null) invalid = .{ .loc = loc, .id = .eof };
-                if (invalid) |some| try pp.comp.diag.add(
+                if (invalid) |some| try pp.comp.addDiagnostic(
                     .{ .tag = .pragma_operator_string_literal, .loc = some.loc },
                     some.expansionSlice(),
                 ) else try pp.pragmaOperator(string.?, loc);
@@ -1588,16 +1851,37 @@ fn expandFuncMacro(
     return buf;
 }
 
+fn expandVaOpt(
+    pp: *Preprocessor,
+    buf: *ExpandBuf,
+    raw: RawToken,
+    should_expand: bool,
+) !void {
+    if (!should_expand) return;
+
+    const source = pp.comp.getSource(raw.source);
+    var tokenizer: Tokenizer = .{
+        .buf = source.buf,
+        .index = raw.start,
+        .source = raw.source,
+        .comp = pp.comp,
+        .line = raw.line,
+    };
+    while (tokenizer.index < raw.end) {
+        const tok = tokenizer.next();
+        try buf.append(tokFromRaw(tok));
+    }
+}
+
 fn shouldExpand(tok: Token, macro: *Macro) bool {
-    // macro.loc.line contains the macros end index
     if (tok.loc.id == macro.loc.id and
-        tok.loc.byte_offset >= macro.loc.byte_offset and
-        tok.loc.byte_offset <= macro.loc.line)
+        tok.loc.byte_offset >= macro.start and
+        tok.loc.byte_offset <= macro.end)
         return false;
     for (tok.expansionSlice()) |loc| {
         if (loc.id == macro.loc.id and
-            loc.byte_offset >= macro.loc.byte_offset and
-            loc.byte_offset <= macro.loc.line)
+            loc.byte_offset >= macro.start and
+            loc.byte_offset <= macro.end)
             return false;
     }
     if (tok.flags.expansion_disabled) return false;
@@ -1665,11 +1949,7 @@ fn collectMacroFuncArguments(
             .l_paren => break,
             else => {
                 if (is_builtin) {
-                    try pp.comp.diag.add(.{
-                        .tag = .missing_lparen_after_builtin,
-                        .loc = name_tok.loc,
-                        .extra = .{ .str = pp.expandedSlice(name_tok) },
-                    }, tok.expansionSlice());
+                    try pp.errStr(name_tok, .missing_lparen_after_builtin, pp.expandedSlice(name_tok));
                 }
                 // Not a macro function call, go over normal identifier, rewind
                 tokenizer.* = saved_tokenizer;
@@ -1726,7 +2006,7 @@ fn collectMacroFuncArguments(
                     try args.append(owned);
                 }
                 tokenizer.* = saved_tokenizer;
-                try pp.comp.diag.add(
+                try pp.comp.addDiagnostic(
                     .{ .tag = .unterminated_macro_arg_list, .loc = name_tok.loc },
                     name_tok.expansionSlice(),
                 );
@@ -1870,7 +2150,7 @@ fn expandMacroExhaustive(
                         .arguments = .{ .expected = @intCast(macro.params.len), .actual = args_count },
                     };
                     if (macro.var_args and args_count < macro.params.len) {
-                        try pp.comp.diag.add(
+                        try pp.comp.addDiagnostic(
                             .{ .tag = .expected_at_least_arguments, .loc = buf.items[idx].loc, .extra = extra },
                             buf.items[idx].expansionSlice(),
                         );
@@ -1879,7 +2159,7 @@ fn expandMacroExhaustive(
                         continue;
                     }
                     if (!macro.var_args and args_count != macro.params.len) {
-                        try pp.comp.diag.add(
+                        try pp.comp.addDiagnostic(
                             .{ .tag = .expected_arguments, .loc = buf.items[idx].loc, .extra = extra },
                             buf.items[idx].expansionSlice(),
                         );
@@ -1931,7 +2211,7 @@ fn expandMacroExhaustive(
                         try tok.addExpansionLocation(pp.gpa, &.{macro_tok.loc});
                         try tok.addExpansionLocation(pp.gpa, macro_expansion_locs);
                         if (tok.id == .keyword_defined and eval_ctx == .expr) {
-                            try pp.comp.diag.add(.{
+                            try pp.comp.addDiagnostic(.{
                                 .tag = .expansion_to_defined,
                                 .loc = tok.loc,
                             }, tok.expansionSlice());
@@ -2051,7 +2331,7 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const Token)
 
     const start = pp.comp.generated_buf.items.len;
     const end = start + pp.expandedSlice(lhs).len + pp.expandedSlice(rhs).len;
-    try pp.comp.generated_buf.ensureTotalCapacity(end + 1); // +1 for a newline
+    try pp.comp.generated_buf.ensureTotalCapacity(pp.gpa, end + 1); // +1 for a newline
     // We cannot use the same slices here since they might be invalidated by `ensureCapacity`
     pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(lhs));
     pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(rhs));
@@ -2073,14 +2353,11 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const Token)
     try lhs_toks.append(try pp.makeGeneratedToken(start, pasted_id, lhs));
 
     if (next.id != .nl and next.id != .eof) {
-        try pp.comp.diag.add(.{
-            .tag = .pasting_formed_invalid,
-            .loc = lhs.loc,
-            .extra = .{ .str = try pp.comp.diag.arena.allocator().dupe(
-                u8,
-                pp.comp.generated_buf.items[start..end],
-            ) },
-        }, lhs.expansionSlice());
+        try pp.errStr(
+            lhs,
+            .pasting_formed_invalid,
+            try pp.comp.diagnostics.arena.allocator().dupe(u8, pp.comp.generated_buf.items[start..end]),
+        );
         try lhs_toks.append(tokFromRaw(next));
     }
 
@@ -2102,14 +2379,21 @@ fn makeGeneratedToken(pp: *Preprocessor, start: usize, id: Token.Id, source: Tok
 /// Defines a new macro and warns if it is a duplicate
 fn defineMacro(pp: *Preprocessor, name_tok: RawToken, macro: Macro) Error!void {
     const name_str = pp.tokSlice(name_tok);
-    const gop = try pp.defines.getOrPut(name_str);
+    const gop = try pp.defines.getOrPut(pp.gpa, name_str);
     if (gop.found_existing and !gop.value_ptr.eql(macro, pp)) {
-        try pp.comp.diag.add(.{
-            .tag = if (gop.value_ptr.is_builtin) .builtin_macro_redefined else .macro_redefined,
+        const tag: Diagnostics.Tag = if (gop.value_ptr.is_builtin) .builtin_macro_redefined else .macro_redefined;
+        const start = pp.comp.diagnostics.list.items.len;
+        try pp.comp.addDiagnostic(.{
+            .tag = tag,
             .loc = .{ .id = name_tok.source, .byte_offset = name_tok.start, .line = name_tok.line },
             .extra = .{ .str = name_str },
         }, &.{});
-        // TODO add a previous definition note
+        if (!gop.value_ptr.is_builtin and pp.comp.diagnostics.list.items.len != start) {
+            try pp.comp.addDiagnostic(.{
+                .tag = .previous_definition,
+                .loc = gop.value_ptr.loc,
+            }, &.{});
+        }
     }
     if (pp.verbose) {
         pp.verboseLog(name_tok, "macro {s} defined", .{name_str});
@@ -2142,10 +2426,12 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer) Error!void {
     var first = tokenizer.next();
     switch (first.id) {
         .nl, .eof => return pp.defineMacro(macro_name, .{
-            .params = undefined,
-            .tokens = undefined,
+            .params = &.{},
+            .tokens = &.{},
             .var_args = false,
-            .loc = undefined,
+            .loc = tokFromRaw(macro_name).loc,
+            .start = 0,
+            .end = 0,
             .is_func = false,
         }),
         .whitespace => first = tokenizer.next(),
@@ -2209,11 +2495,9 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer) Error!void {
 
     const list = try pp.arena.allocator().dupe(RawToken, pp.token_buf.items);
     try pp.defineMacro(macro_name, .{
-        .loc = .{
-            .id = macro_name.source,
-            .byte_offset = first.start,
-            .line = end_index,
-        },
+        .loc = tokFromRaw(macro_name).loc,
+        .start = first.start,
+        .end = end_index,
         .tokens = list,
         .params = undefined,
         .is_func = false,
@@ -2349,6 +2633,33 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, macro_name: RawToken, l_pa
                 }
                 if (var_args and tok.id == .keyword_va_args) {
                     // do nothing
+                } else if (var_args and tok.id == .keyword_va_opt) {
+                    const opt_l_paren = tokenizer.next();
+                    if (opt_l_paren.id != .l_paren) {
+                        try pp.err(opt_l_paren, .va_opt_lparen);
+                        return skipToNl(tokenizer);
+                    }
+                    tok.start = opt_l_paren.end;
+
+                    var parens: u32 = 0;
+                    while (true) {
+                        const opt_tok = tokenizer.next();
+                        switch (opt_tok.id) {
+                            .l_paren => parens += 1,
+                            .r_paren => if (parens == 0) {
+                                break;
+                            } else {
+                                parens -= 1;
+                            },
+                            .nl, .eof => {
+                                try pp.err(opt_tok, .va_opt_rparen);
+                                try pp.err(opt_l_paren, .to_match_paren);
+                                return skipToNl(tokenizer);
+                            },
+                            .whitespace => {},
+                            else => tok.end = opt_tok.end,
+                        }
+                    }
                 } else if (tok.id.isMacroIdentifier()) {
                     tok.id.simplifyMacroKeyword();
                     const s = pp.tokSlice(tok);
@@ -2377,18 +2688,18 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, macro_name: RawToken, l_pa
         .params = param_list,
         .var_args = var_args or gnu_var_args.len != 0,
         .tokens = token_list,
-        .loc = .{
-            .id = macro_name.source,
-            .byte_offset = start_index,
-            .line = end_index,
-        },
+        .loc = tokFromRaw(macro_name).loc,
+        .start = start_index,
+        .end = end_index,
     });
 }
 
 /// Handle an #embed directive
+/// embedDirective : ("FILENAME" | <FILENAME>) embedParam*
+/// embedParam : IDENTIFIER (:: IDENTIFIER)? '(' <tokens> ')'
 fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
     const first = tokenizer.nextNoWS();
-    const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, .expect_nl_eof) catch |er| switch (er) {
+    const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, .ignore_trailing_tokens) catch |er| switch (er) {
         error.InvalidInclude => return,
         else => |e| return e,
     };
@@ -2406,17 +2717,142 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
         else => unreachable,
     };
 
-    const embed_bytes = (try pp.comp.findEmbed(filename, first.source, include_type)) orelse return pp.fatal(first, "'{s}' not found", .{filename});
+    // Index into `token_buf`
+    const Range = struct {
+        start: u32,
+        end: u32,
+
+        fn expand(opt_range: ?@This(), pp_: *Preprocessor, tokenizer_: *Tokenizer) !void {
+            const range = opt_range orelse return;
+            const slice = pp_.token_buf.items[range.start..range.end];
+            for (slice) |tok| {
+                try pp_.expandMacro(tokenizer_, tok);
+            }
+        }
+    };
+    pp.token_buf.items.len = 0;
+
+    var limit: ?u32 = null;
+    var prefix: ?Range = null;
+    var suffix: ?Range = null;
+    var if_empty: ?Range = null;
+    while (true) {
+        const param_first = tokenizer.nextNoWS();
+        switch (param_first.id) {
+            .nl, .eof => break,
+            .identifier => {},
+            else => {
+                try pp.err(param_first, .malformed_embed_param);
+                continue;
+            },
+        }
+
+        const char_top = pp.char_buf.items.len;
+        defer pp.char_buf.items.len = char_top;
+
+        const maybe_colon = tokenizer.colonColon();
+        const param = switch (maybe_colon.id) {
+            .colon_colon => blk: {
+                // vendor::param
+                const param = tokenizer.nextNoWS();
+                if (param.id != .identifier) {
+                    try pp.err(param, .malformed_embed_param);
+                    continue;
+                }
+                const l_paren = tokenizer.nextNoWS();
+                if (l_paren.id != .l_paren) {
+                    try pp.err(l_paren, .malformed_embed_param);
+                    continue;
+                }
+                try pp.char_buf.appendSlice(Attribute.normalize(pp.tokSlice(param_first)));
+                try pp.char_buf.appendSlice("::");
+                try pp.char_buf.appendSlice(Attribute.normalize(pp.tokSlice(param)));
+                break :blk pp.char_buf.items;
+            },
+            .l_paren => Attribute.normalize(pp.tokSlice(param_first)),
+            else => {
+                try pp.err(maybe_colon, .malformed_embed_param);
+                continue;
+            },
+        };
+
+        const start: u32 = @intCast(pp.token_buf.items.len);
+        while (true) {
+            const next = tokenizer.nextNoWS();
+            if (next.id == .r_paren) break;
+            if (next.id == .eof) {
+                try pp.err(maybe_colon, .malformed_embed_param);
+                break;
+            }
+            try pp.token_buf.append(next);
+        }
+        const end: u32 = @intCast(pp.token_buf.items.len);
+
+        if (std.mem.eql(u8, param, "limit")) {
+            if (limit != null) {
+                try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "limit");
+                continue;
+            }
+            if (start + 1 != end) {
+                try pp.err(param_first, .malformed_embed_limit);
+                continue;
+            }
+            const limit_tok = pp.token_buf.items[start];
+            if (limit_tok.id != .pp_num) {
+                try pp.err(param_first, .malformed_embed_limit);
+                continue;
+            }
+            limit = std.fmt.parseInt(u32, pp.tokSlice(limit_tok), 10) catch {
+                try pp.err(limit_tok, .malformed_embed_limit);
+                continue;
+            };
+            pp.token_buf.items.len = start;
+        } else if (std.mem.eql(u8, param, "prefix")) {
+            if (prefix != null) {
+                try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "prefix");
+                continue;
+            }
+            prefix = .{ .start = start, .end = end };
+        } else if (std.mem.eql(u8, param, "suffix")) {
+            if (suffix != null) {
+                try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "suffix");
+                continue;
+            }
+            suffix = .{ .start = start, .end = end };
+        } else if (std.mem.eql(u8, param, "if_empty")) {
+            if (if_empty != null) {
+                try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "if_empty");
+                continue;
+            }
+            if_empty = .{ .start = start, .end = end };
+        } else {
+            try pp.errStr(
+                tokFromRaw(param_first),
+                .unsupported_embed_param,
+                try pp.comp.diagnostics.arena.allocator().dupe(u8, param),
+            );
+            pp.token_buf.items.len = start;
+        }
+    }
+
+    const embed_bytes = (try pp.comp.findEmbed(filename, first.source, include_type, limit)) orelse
+        return pp.fatal(first, "'{s}' not found", .{filename});
     defer pp.comp.gpa.free(embed_bytes);
 
-    if (embed_bytes.len == 0) return;
+    try Range.expand(prefix, pp, tokenizer);
+
+    if (embed_bytes.len == 0) {
+        try Range.expand(if_empty, pp, tokenizer);
+        try Range.expand(suffix, pp, tokenizer);
+        return;
+    }
 
     try pp.tokens.ensureUnusedCapacity(pp.comp.gpa, 2 * embed_bytes.len - 1); // N bytes and N-1 commas
 
     // TODO: We currently only support systems with CHAR_BIT == 8
     // If the target's CHAR_BIT is not 8, we need to write out correctly-sized embed_bytes
     // and correctly account for the target's endianness
-    const writer = pp.comp.generated_buf.writer();
+    const writer = pp.comp.generated_buf.writer(pp.gpa);
 
     {
         const byte = embed_bytes[0];
@@ -2431,7 +2867,9 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
         pp.tokens.appendAssumeCapacity(.{ .id = .comma, .loc = .{ .id = .generated, .byte_offset = @intCast(start) } });
         pp.tokens.appendAssumeCapacity(try pp.makeGeneratedToken(start + 1, .embed_byte, filename_tok));
     }
-    try pp.comp.generated_buf.append('\n');
+    try pp.comp.generated_buf.append(pp.gpa, '\n');
+
+    try Range.expand(suffix, pp, tokenizer);
 }
 
 // Handle a #include directive.
@@ -2446,7 +2884,7 @@ fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInc
     pp.include_depth += 1;
     defer pp.include_depth -= 1;
     if (pp.include_depth > max_include_depth) {
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .too_many_includes,
             .loc = .{ .id = first.source, .byte_offset = first.start, .line = first.line },
         }, &.{});
@@ -2534,7 +2972,7 @@ fn pragma(pp: *Preprocessor, tokenizer: *Tokenizer, pragma_tok: RawToken, operat
             else => |e| return e,
         };
     }
-    return pp.comp.diag.add(.{
+    return pp.comp.addDiagnostic(.{
         .tag = .unknown_pragma,
         .loc = pragma_name_tok.loc,
     }, pragma_name_tok.expansionSlice());
@@ -2564,7 +3002,7 @@ fn findIncludeFilenameToken(
                 else => {},
             }
         }
-        try pp.comp.diag.add(.{
+        try pp.comp.addDiagnostic(.{
             .tag = .header_str_closing,
             .loc = .{ .id = first.source, .byte_offset = tokenizer.index, .line = first.line },
         }, &.{});
@@ -2629,7 +3067,23 @@ fn printLinemarker(
     try w.writeByte('#');
     if (pp.linemarkers == .line_directives) try w.writeAll("line");
     // line_no is 0 indexed
-    try w.print(" {d} \"{s}\"", .{ line_no + 1, source.path });
+    try w.print(" {d} \"", .{line_no + 1});
+    for (source.path) |byte| switch (byte) {
+        '\n' => try w.writeAll("\\n"),
+        '\r' => try w.writeAll("\\r"),
+        '\t' => try w.writeAll("\\t"),
+        '\\' => try w.writeAll("\\\\"),
+        '"' => try w.writeAll("\\\""),
+        ' ', '!', '#'...'&', '('...'[', ']'...'~' => try w.writeByte(byte),
+        // Use hex escapes for any non-ASCII/unprintable characters.
+        // This ensures that the parsed version of this string will end up
+        // containing the same bytes as the input regardless of encoding.
+        else => {
+            try w.writeAll("\\x");
+            try std.fmt.formatInt(byte, 16, .lower, .{ .width = 2, .fill = '0' }, w);
+        },
+    };
+    try w.writeByte('"');
     if (pp.linemarkers == .numeric_directives) {
         switch (start_resume) {
             .none => {},
@@ -2869,7 +3323,7 @@ test "Include guards" {
 
         fn skippable(tok_id: RawToken.Id) bool {
             return switch (tok_id) {
-                .keyword_defined, .keyword_va_args, .keyword_endif => true,
+                .keyword_defined, .keyword_va_args, .keyword_va_opt, .keyword_endif => true,
                 else => false,
             };
         }
deps/aro/record_layout.zig → deps/aro/aro/record_layout.zig
@@ -57,6 +57,7 @@ const SysVContext = struct {
 
     fn layoutFields(self: *SysVContext, rec: *const Record) void {
         for (rec.fields, 0..) |*fld, fld_indx| {
+            if (fld.ty.specifier == .invalid) continue;
             const type_layout = computeLayout(fld.ty, self.comp);
 
             var field_attrs: ?[]const Attribute = null;
@@ -587,6 +588,7 @@ pub fn compute(rec: *Type.Record, ty: Type, comp: *const Compilation, pragma_pac
         .msvc => {
             var context = MsvcContext.init(ty, comp, pragma_pack);
             for (rec.fields, 0..) |*fld, fld_indx| {
+                if (fld.ty.specifier == .invalid) continue;
                 var field_attrs: ?[]const Attribute = null;
                 if (rec.field_attributes) |attrs| {
                     field_attrs = attrs[fld_indx];
deps/aro/Source.zig → deps/aro/aro/Source.zig
@@ -1,5 +1,4 @@
 const std = @import("std");
-const Source = @This();
 
 pub const Id = enum(u32) {
     unused = 0,
@@ -27,6 +26,8 @@ pub const Location = struct {
     }
 };
 
+const Source = @This();
+
 path: []const u8,
 buf: []const u8,
 id: Id,
deps/aro/StringInterner.zig → deps/aro/aro/StringInterner.zig
@@ -1,7 +1,6 @@
 const std = @import("std");
 const mem = std.mem;
-
-const StringInterner = @This();
+const Compilation = @import("Compilation.zig");
 
 const StringToIdMap = std.StringHashMapUnmanaged(StringId);
 
@@ -43,6 +42,8 @@ pub const TypeMapper = struct {
     }
 };
 
+const StringInterner = @This();
+
 string_table: StringToIdMap = .{},
 next_id: StringId = @enumFromInt(@intFromEnum(StringId.empty) + 1),
 
@@ -50,7 +51,11 @@ pub fn deinit(self: *StringInterner, allocator: mem.Allocator) void {
     self.string_table.deinit(allocator);
 }
 
-pub fn intern(self: *StringInterner, allocator: mem.Allocator, str: []const u8) !StringId {
+pub fn intern(comp: *Compilation, str: []const u8) !StringId {
+    return comp.string_interner.internExtra(comp.gpa, str);
+}
+
+pub fn internExtra(self: *StringInterner, allocator: mem.Allocator, str: []const u8) !StringId {
     if (str.len == 0) return .empty;
 
     const gop = try self.string_table.getOrPut(allocator, str);
deps/aro/SymbolStack.zig → deps/aro/aro/SymbolStack.zig
@@ -11,8 +11,6 @@ const Parser = @import("Parser.zig");
 const Value = @import("Value.zig");
 const StringId = @import("StringInterner.zig").StringId;
 
-const SymbolStack = @This();
-
 pub const Symbol = struct {
     name: StringId,
     ty: Type,
@@ -33,6 +31,8 @@ pub const Kind = enum {
     constexpr,
 };
 
+const SymbolStack = @This();
+
 syms: std.MultiArrayList(Symbol) = .{},
 scopes: std.ArrayListUnmanaged(u32) = .{},
 
deps/aro/target.zig → deps/aro/aro/target.zig
@@ -1,7 +1,7 @@
 const std = @import("std");
 const LangOpts = @import("LangOpts.zig");
 const Type = @import("Type.zig");
-const llvm = @import("zig").codegen.llvm;
+const llvm = @import("root").codegen.llvm;
 const TargetSet = @import("Builtins/Properties.zig").TargetSet;
 
 /// intmax_t for this target
@@ -258,6 +258,21 @@ pub fn systemCompiler(target: std.Target) LangOpts.Compiler {
     return .clang;
 }
 
+pub fn hasFloat128(target: std.Target) bool {
+    if (target.cpu.arch.isWasm()) return true;
+    if (target.isDarwin()) return false;
+    if (target.cpu.arch.isPPC() or target.cpu.arch.isPPC64()) return std.Target.powerpc.featureSetHas(target.cpu.features, .float128);
+    return switch (target.os.tag) {
+        .dragonfly,
+        .haiku,
+        .linux,
+        .openbsd,
+        .solaris,
+        => target.cpu.arch.isX86(),
+        else => false,
+    };
+}
+
 pub fn hasInt128(target: std.Target) bool {
     if (target.cpu.arch == .wasm32) return true;
     if (target.cpu.arch == .x86_64) return true;
@@ -809,3 +824,8 @@ test "target size/align tests" {
     try std.testing.expectEqual(@as(u64, 1), ct.alignof(&comp));
     try std.testing.expectEqual(true, ignoreNonZeroSizedBitfieldTypeAlignment(comp.target));
 }
+
+/// The canonical integer representation of nullptr_t.
+pub fn nullRepr(_: std.Target) u64 {
+    return 0;
+}
deps/aro/TextLiteral.zig → deps/aro/aro/text_literal.zig
@@ -132,7 +132,7 @@ pub const Kind = enum {
         };
     }
 
-    /// Required alignment within aro (on compiler host) for writing to retained_strings
+    /// Required alignment within aro (on compiler host) for writing to Interner.strings.
     pub fn internalStorageAlignment(kind: Kind, comp: *const Compilation) usize {
         return switch (kind.charUnitSize(comp)) {
             inline else => |size| @alignOf(size.Type()),
@@ -250,7 +250,7 @@ pub const Parser = struct {
         self.i += expected_len;
 
         if (overflowed) {
-            self.err(.escape_sequence_overflow, .{ .unsigned = start + self.prefixLen() });
+            self.err(.escape_sequence_overflow, .{ .offset = start + self.prefixLen() });
             return null;
         }
 
@@ -260,7 +260,7 @@ pub const Parser = struct {
         }
 
         if (val > std.math.maxInt(u21) or !std.unicode.utf8ValidCodepoint(@intCast(val))) {
-            self.err(.invalid_universal_character, .{ .unsigned = start + self.prefixLen() });
+            self.err(.invalid_universal_character, .{ .offset = start + self.prefixLen() });
             return null;
         }
 
@@ -270,7 +270,7 @@ pub const Parser = struct {
         }
 
         if (val < 0xA0 and (val != '$' and val != '@' and val != '`')) {
-            const is_error = !self.comp.langopts.standard.atLeast(.c2x);
+            const is_error = !self.comp.langopts.standard.atLeast(.c23);
             if (val >= 0x20 and val <= 0x7F) {
                 if (is_error) {
                     self.err(.ucn_basic_char_error, .{ .ascii = @intCast(val) });
@@ -347,7 +347,7 @@ pub const Parser = struct {
             count += 1;
         }
         if (overflowed or val > self.kind.maxInt(self.comp)) {
-            self.err(.escape_sequence_overflow, .{ .unsigned = start + self.prefixLen() });
+            self.err(.escape_sequence_overflow, .{ .offset = start + self.prefixLen() });
             return 0;
         }
         if (count == 0) {
deps/aro/Tokenizer.zig → deps/aro/aro/Tokenizer.zig
@@ -4,8 +4,6 @@ const Compilation = @import("Compilation.zig");
 const Source = @import("Source.zig");
 const LangOpts = @import("LangOpts.zig");
 
-const Tokenizer = @This();
-
 pub const Token = struct {
     id: Id,
     source: Source.Id,
@@ -121,6 +119,8 @@ pub const Token = struct {
         macro_ws,
         /// Special token for implementing __has_attribute
         macro_param_has_attribute,
+        /// Special token for implementing __has_c_attribute
+        macro_param_has_c_attribute,
         /// Special token for implementing __has_declspec_attribute
         macro_param_has_declspec_attribute,
         /// Special token for implementing __has_warning
@@ -135,6 +135,8 @@ pub const Token = struct {
         macro_param_has_include,
         /// Special token for implementing __has_include_next
         macro_param_has_include_next,
+        /// Special token for implementing __has_embed
+        macro_param_has_embed,
         /// Special token for implementing __is_identifier
         macro_param_is_identifier,
         /// Special token for implementing __FILE__
@@ -216,6 +218,7 @@ pub const Token = struct {
         keyword_true,
         keyword_false,
         keyword_nullptr,
+        keyword_typeof_unqual,
 
         // Preprocessor directives
         keyword_include,
@@ -235,6 +238,7 @@ pub const Token = struct {
         keyword_pragma,
         keyword_line,
         keyword_va_args,
+        keyword_va_opt,
 
         // gcc keywords
         keyword_const1,
@@ -255,7 +259,10 @@ pub const Token = struct {
         keyword_asm1,
         keyword_asm2,
         keyword_float80,
-        keyword_float128,
+        /// _Float128
+        keyword_float128_1,
+        /// __float128
+        keyword_float128_2,
         keyword_int128,
         keyword_imag1,
         keyword_imag2,
@@ -335,6 +342,7 @@ pub const Token = struct {
                 .keyword_pragma,
                 .keyword_line,
                 .keyword_va_args,
+                .keyword_va_opt,
                 .macro_func,
                 .macro_function,
                 .macro_pretty_func,
@@ -410,7 +418,8 @@ pub const Token = struct {
                 .keyword_asm1,
                 .keyword_asm2,
                 .keyword_float80,
-                .keyword_float128,
+                .keyword_float128_1,
+                .keyword_float128_2,
                 .keyword_int128,
                 .keyword_imag1,
                 .keyword_imag2,
@@ -443,6 +452,7 @@ pub const Token = struct {
                 .keyword_true,
                 .keyword_false,
                 .keyword_nullptr,
+                .keyword_typeof_unqual,
                 => return true,
                 else => return false,
             }
@@ -469,6 +479,7 @@ pub const Token = struct {
                 .keyword_pragma,
                 .keyword_line,
                 .keyword_va_args,
+                .keyword_va_opt,
                 => id.* = .identifier,
                 .keyword_defined => if (defined_to_identifier) {
                     id.* = .identifier;
@@ -485,9 +496,9 @@ pub const Token = struct {
             return switch (id) {
                 .include_start,
                 .include_resume,
-                .unterminated_comment, // Fatal error; parsing should not be attempted
                 => unreachable,
 
+                .unterminated_comment,
                 .invalid,
                 .identifier,
                 .extended_identifier,
@@ -521,6 +532,7 @@ pub const Token = struct {
                 .stringify_param,
                 .stringify_va_args,
                 .macro_param_has_attribute,
+                .macro_param_has_c_attribute,
                 .macro_param_has_declspec_attribute,
                 .macro_param_has_warning,
                 .macro_param_has_feature,
@@ -528,6 +540,7 @@ pub const Token = struct {
                 .macro_param_has_builtin,
                 .macro_param_has_include,
                 .macro_param_has_include_next,
+                .macro_param_has_embed,
                 .macro_param_is_identifier,
                 .macro_file,
                 .macro_line,
@@ -647,6 +660,7 @@ pub const Token = struct {
                 .keyword_true => "true",
                 .keyword_false => "false",
                 .keyword_nullptr => "nullptr",
+                .keyword_typeof_unqual => "typeof_unqual",
                 .keyword_include => "include",
                 .keyword_include_next => "include_next",
                 .keyword_embed => "embed",
@@ -664,6 +678,7 @@ pub const Token = struct {
                 .keyword_pragma => "pragma",
                 .keyword_line => "line",
                 .keyword_va_args => "__VA_ARGS__",
+                .keyword_va_opt => "__VA_OPT__",
                 .keyword_const1 => "__const",
                 .keyword_const2 => "__const__",
                 .keyword_inline1 => "__inline",
@@ -688,7 +703,8 @@ pub const Token = struct {
                 .keyword_asm1 => "__asm",
                 .keyword_asm2 => "__asm__",
                 .keyword_float80 => "__float80",
-                .keyword_float128 => "__float18",
+                .keyword_float128_1 => "_Float128",
+                .keyword_float128_2 => "__float128",
                 .keyword_int128 => "__int128",
                 .keyword_imag1 => "__imag",
                 .keyword_imag2 => "__imag__",
@@ -819,7 +835,7 @@ pub const Token = struct {
         return switch (kw) {
             .keyword_inline => if (standard.isGNU() or standard.atLeast(.c99)) kw else .identifier,
             .keyword_restrict => if (standard.atLeast(.c99)) kw else .identifier,
-            .keyword_typeof => if (standard.isGNU() or standard.atLeast(.c2x)) kw else .identifier,
+            .keyword_typeof => if (standard.isGNU() or standard.atLeast(.c23)) kw else .identifier,
             .keyword_asm => if (standard.isGNU()) kw else .identifier,
             .keyword_declspec => if (comp.langopts.declspec_attrs) kw else .identifier,
 
@@ -832,9 +848,10 @@ pub const Token = struct {
             .keyword_true,
             .keyword_false,
             .keyword_nullptr,
+            .keyword_typeof_unqual,
             .keyword_elifdef,
             .keyword_elifndef,
-            => if (standard.atLeast(.c2x)) kw else .identifier,
+            => if (standard.atLeast(.c23)) kw else .identifier,
 
             .keyword_int64,
             .keyword_int64_2,
@@ -918,6 +935,7 @@ pub const Token = struct {
         .{ "true", .keyword_true },
         .{ "false", .keyword_false },
         .{ "nullptr", .keyword_nullptr },
+        .{ "typeof_unqual", .keyword_typeof_unqual },
 
         // Preprocessor directives
         .{ "include", .keyword_include },
@@ -937,6 +955,7 @@ pub const Token = struct {
         .{ "pragma", .keyword_pragma },
         .{ "line", .keyword_line },
         .{ "__VA_ARGS__", .keyword_va_args },
+        .{ "__VA_OPT__", .keyword_va_opt },
         .{ "__func__", .macro_func },
         .{ "__FUNCTION__", .macro_function },
         .{ "__PRETTY_FUNCTION__", .macro_pretty_func },
@@ -961,7 +980,8 @@ pub const Token = struct {
         .{ "__asm", .keyword_asm1 },
         .{ "__asm__", .keyword_asm2 },
         .{ "__float80", .keyword_float80 },
-        .{ "__float128", .keyword_float128 },
+        .{ "_Float128", .keyword_float128_1 },
+        .{ "__float128", .keyword_float128_2 },
         .{ "__int128", .keyword_int128 },
         .{ "__imag", .keyword_imag1 },
         .{ "__imag__", .keyword_imag2 },
@@ -998,6 +1018,8 @@ pub const Token = struct {
     });
 };
 
+const Tokenizer = @This();
+
 buf: []const u8,
 index: u32 = 0,
 source: Source.Id,
@@ -1345,7 +1367,7 @@ pub fn next(self: *Tokenizer) Token {
                     break;
                 },
                 ':' => {
-                    if (self.comp.langopts.standard.atLeast(.c2x)) {
+                    if (self.comp.langopts.standard.atLeast(.c23)) {
                         id = .colon_colon;
                         self.index += 1;
                         break;
@@ -1651,7 +1673,7 @@ pub fn next(self: *Tokenizer) Token {
                 '.',
                 => {},
                 'e', 'E', 'p', 'P' => state = .pp_num_exponent,
-                '\'' => if (self.comp.langopts.standard.atLeast(.c2x)) {
+                '\'' => if (self.comp.langopts.standard.atLeast(.c23)) {
                     state = .pp_num_digit_separator;
                 } else {
                     id = .pp_num;
@@ -1679,14 +1701,17 @@ pub fn next(self: *Tokenizer) Token {
                 },
             },
             .pp_num_exponent => switch (c) {
-                'a'...'z',
-                'A'...'Z',
+                'a'...'o',
+                'q'...'z',
+                'A'...'O',
+                'Q'...'Z',
                 '0'...'9',
                 '_',
                 '.',
                 '+',
                 '-',
                 => state = .pp_num,
+                'p', 'P' => {},
                 else => {
                     id = .pp_num;
                     break;
@@ -1761,6 +1786,16 @@ pub fn nextNoWSComments(self: *Tokenizer) Token {
     return tok;
 }
 
+/// Try to tokenize a '::' even if not supported by the current language standard.
+pub fn colonColon(self: *Tokenizer) Token {
+    var tok = self.nextNoWS();
+    if (tok.id == .colon and self.buf[self.index] == ':') {
+        self.index += 1;
+        tok.id = .colon_colon;
+    }
+    return tok;
+}
+
 test "operators" {
     try expectTokens(
         \\ ! != | || |= = ==
@@ -2091,7 +2126,7 @@ test "digraphs" {
 }
 
 test "C23 keywords" {
-    try expectTokensExtra("true false alignas alignof bool static_assert thread_local nullptr", &.{
+    try expectTokensExtra("true false alignas alignof bool static_assert thread_local nullptr typeof_unqual", &.{
         .keyword_true,
         .keyword_false,
         .keyword_c23_alignas,
@@ -2100,7 +2135,8 @@ test "C23 keywords" {
         .keyword_c23_static_assert,
         .keyword_c23_thread_local,
         .keyword_nullptr,
-    }, .c2x);
+        .keyword_typeof_unqual,
+    }, .c23);
 }
 
 fn expectTokensExtra(contents: []const u8, expected_tokens: []const Token.Id, standard: ?LangOpts.Standard) !void {
deps/aro/Toolchain.zig → deps/aro/aro/Toolchain.zig
@@ -1,7 +1,6 @@
 const std = @import("std");
 const Driver = @import("Driver.zig");
 const Compilation = @import("Compilation.zig");
-const util = @import("util.zig");
 const mem = std.mem;
 const system_defaults = @import("system_defaults");
 const target_util = @import("target.zig");
@@ -9,8 +8,6 @@ const Linux = @import("toolchains/Linux.zig");
 const Multilib = @import("Driver/Multilib.zig");
 const Filesystem = @import("Driver/Filesystem.zig").Filesystem;
 
-const Toolchain = @This();
-
 pub const PathList = std.ArrayListUnmanaged([]const u8);
 
 pub const RuntimeLibKind = enum {
@@ -49,6 +46,8 @@ const Inner = union(enum) {
     }
 };
 
+const Toolchain = @This();
+
 filesystem: Filesystem = .{ .real = {} },
 driver: *Driver,
 arena: mem.Allocator,
@@ -152,7 +151,7 @@ pub fn getLinkerPath(tc: *const Toolchain, buf: []u8) ![]const u8 {
     // to a relative path is surprising. This is more complex due to priorities
     // among -B, COMPILER_PATH and PATH. --ld-path= should be used instead.
     if (mem.indexOfScalar(u8, use_linker, '/') != null) {
-        try tc.driver.comp.diag.add(.{ .tag = .fuse_ld_path }, &.{});
+        try tc.driver.comp.addDiagnostic(.{ .tag = .fuse_ld_path }, &.{});
     }
 
     if (std.fs.path.isAbsolute(use_linker)) {
@@ -402,7 +401,7 @@ fn getUnwindLibKind(tc: *const Toolchain) !UnwindLibKind {
         return .libgcc;
     } else if (mem.eql(u8, libname, "libunwind")) {
         if (tc.getRuntimeLibKind() == .libgcc) {
-            try tc.driver.comp.diag.add(.{ .tag = .incompatible_unwindlib }, &.{});
+            try tc.driver.comp.addDiagnostic(.{ .tag = .incompatible_unwindlib }, &.{});
         }
         return .compiler_rt;
     } else {
@@ -479,7 +478,7 @@ pub fn addRuntimeLibs(tc: *const Toolchain, argv: *std.ArrayList([]const u8)) !v
             if (target_util.isKnownWindowsMSVCEnvironment(target)) {
                 const rtlib_str = tc.driver.rtlib orelse system_defaults.rtlib;
                 if (!mem.eql(u8, rtlib_str, "platform")) {
-                    try tc.driver.comp.diag.add(.{ .tag = .unsupported_rtlib_gcc, .extra = .{ .str = "MSVC" } }, &.{});
+                    try tc.driver.comp.addDiagnostic(.{ .tag = .unsupported_rtlib_gcc, .extra = .{ .str = "MSVC" } }, &.{});
                 }
             } else {
                 try tc.addLibGCC(argv);
deps/aro/aro/tracy.zig
@@ -0,0 +1,310 @@
+//! Copied from https://github.com/ziglang/zig/blob/c9006d9479c619d9ed555164831e11a04d88d382/src/tracy.zig
+
+const std = @import("std");
+const builtin = @import("builtin");
+const build_options = @import("build_options");
+
+pub const enable = if (builtin.is_test) false else build_options.enable_tracy;
+pub const enable_allocation = enable and build_options.enable_tracy_allocation;
+pub const enable_callstack = enable and build_options.enable_tracy_callstack;
+
+// TODO: make this configurable
+const callstack_depth = 10;
+
+const ___tracy_c_zone_context = extern struct {
+    id: u32,
+    active: c_int,
+
+    pub inline fn end(self: @This()) void {
+        ___tracy_emit_zone_end(self);
+    }
+
+    pub inline fn addText(self: @This(), text: []const u8) void {
+        ___tracy_emit_zone_text(self, text.ptr, text.len);
+    }
+
+    pub inline fn setName(self: @This(), name: []const u8) void {
+        ___tracy_emit_zone_name(self, name.ptr, name.len);
+    }
+
+    pub inline fn setColor(self: @This(), color: u32) void {
+        ___tracy_emit_zone_color(self, color);
+    }
+
+    pub inline fn setValue(self: @This(), value: u64) void {
+        ___tracy_emit_zone_value(self, value);
+    }
+};
+
+pub const Ctx = if (enable) ___tracy_c_zone_context else struct {
+    pub inline fn end(self: @This()) void {
+        _ = self;
+    }
+
+    pub inline fn addText(self: @This(), text: []const u8) void {
+        _ = self;
+        _ = text;
+    }
+
+    pub inline fn setName(self: @This(), name: []const u8) void {
+        _ = self;
+        _ = name;
+    }
+
+    pub inline fn setColor(self: @This(), color: u32) void {
+        _ = self;
+        _ = color;
+    }
+
+    pub inline fn setValue(self: @This(), value: u64) void {
+        _ = self;
+        _ = value;
+    }
+};
+
+pub inline fn trace(comptime src: std.builtin.SourceLocation) Ctx {
+    if (!enable) return .{};
+
+    if (enable_callstack) {
+        return ___tracy_emit_zone_begin_callstack(&.{
+            .name = null,
+            .function = src.fn_name.ptr,
+            .file = src.file.ptr,
+            .line = src.line,
+            .color = 0,
+        }, callstack_depth, 1);
+    } else {
+        return ___tracy_emit_zone_begin(&.{
+            .name = null,
+            .function = src.fn_name.ptr,
+            .file = src.file.ptr,
+            .line = src.line,
+            .color = 0,
+        }, 1);
+    }
+}
+
+pub inline fn traceNamed(comptime src: std.builtin.SourceLocation, comptime name: [:0]const u8) Ctx {
+    if (!enable) return .{};
+
+    if (enable_callstack) {
+        return ___tracy_emit_zone_begin_callstack(&.{
+            .name = name.ptr,
+            .function = src.fn_name.ptr,
+            .file = src.file.ptr,
+            .line = src.line,
+            .color = 0,
+        }, callstack_depth, 1);
+    } else {
+        return ___tracy_emit_zone_begin(&.{
+            .name = name.ptr,
+            .function = src.fn_name.ptr,
+            .file = src.file.ptr,
+            .line = src.line,
+            .color = 0,
+        }, 1);
+    }
+}
+
+pub fn tracyAllocator(allocator: std.mem.Allocator) TracyAllocator(null) {
+    return TracyAllocator(null).init(allocator);
+}
+
+pub fn TracyAllocator(comptime name: ?[:0]const u8) type {
+    return struct {
+        parent_allocator: std.mem.Allocator,
+
+        const Self = @This();
+
+        pub fn init(parent_allocator: std.mem.Allocator) Self {
+            return .{
+                .parent_allocator = parent_allocator,
+            };
+        }
+
+        pub fn allocator(self: *Self) std.mem.Allocator {
+            return std.mem.Allocator.init(self, allocFn, resizeFn, freeFn);
+        }
+
+        fn allocFn(self: *Self, len: usize, ptr_align: u29, len_align: u29, ret_addr: usize) std.mem.Allocator.Error![]u8 {
+            const result = self.parent_allocator.rawAlloc(len, ptr_align, len_align, ret_addr);
+            if (result) |data| {
+                if (data.len != 0) {
+                    if (name) |n| {
+                        allocNamed(data.ptr, data.len, n);
+                    } else {
+                        alloc(data.ptr, data.len);
+                    }
+                }
+            } else |_| {
+                messageColor("allocation failed", 0xFF0000);
+            }
+            return result;
+        }
+
+        fn resizeFn(self: *Self, buf: []u8, buf_align: u29, new_len: usize, len_align: u29, ret_addr: usize) ?usize {
+            if (self.parent_allocator.rawResize(buf, buf_align, new_len, len_align, ret_addr)) |resized_len| {
+                if (name) |n| {
+                    freeNamed(buf.ptr, n);
+                    allocNamed(buf.ptr, resized_len, n);
+                } else {
+                    free(buf.ptr);
+                    alloc(buf.ptr, resized_len);
+                }
+
+                return resized_len;
+            }
+
+            // during normal operation the compiler hits this case thousands of times due to this
+            // emitting messages for it is both slow and causes clutter
+            return null;
+        }
+
+        fn freeFn(self: *Self, buf: []u8, buf_align: u29, ret_addr: usize) void {
+            self.parent_allocator.rawFree(buf, buf_align, ret_addr);
+            // this condition is to handle free being called on an empty slice that was never even allocated
+            // example case: `std.process.getSelfExeSharedLibPaths` can return `&[_][:0]u8{}`
+            if (buf.len != 0) {
+                if (name) |n| {
+                    freeNamed(buf.ptr, n);
+                } else {
+                    free(buf.ptr);
+                }
+            }
+        }
+    };
+}
+
+// This function only accepts comptime known strings, see `messageCopy` for runtime strings
+pub inline fn message(comptime msg: [:0]const u8) void {
+    if (!enable) return;
+    ___tracy_emit_messageL(msg.ptr, if (enable_callstack) callstack_depth else 0);
+}
+
+// This function only accepts comptime known strings, see `messageColorCopy` for runtime strings
+pub inline fn messageColor(comptime msg: [:0]const u8, color: u32) void {
+    if (!enable) return;
+    ___tracy_emit_messageLC(msg.ptr, color, if (enable_callstack) callstack_depth else 0);
+}
+
+pub inline fn messageCopy(msg: []const u8) void {
+    if (!enable) return;
+    ___tracy_emit_message(msg.ptr, msg.len, if (enable_callstack) callstack_depth else 0);
+}
+
+pub inline fn messageColorCopy(msg: [:0]const u8, color: u32) void {
+    if (!enable) return;
+    ___tracy_emit_messageC(msg.ptr, msg.len, color, if (enable_callstack) callstack_depth else 0);
+}
+
+pub inline fn frameMark() void {
+    if (!enable) return;
+    ___tracy_emit_frame_mark(null);
+}
+
+pub inline fn frameMarkNamed(comptime name: [:0]const u8) void {
+    if (!enable) return;
+    ___tracy_emit_frame_mark(name.ptr);
+}
+
+pub inline fn namedFrame(comptime name: [:0]const u8) Frame(name) {
+    frameMarkStart(name);
+    return .{};
+}
+
+pub fn Frame(comptime name: [:0]const u8) type {
+    return struct {
+        pub fn end(_: @This()) void {
+            frameMarkEnd(name);
+        }
+    };
+}
+
+inline fn frameMarkStart(comptime name: [:0]const u8) void {
+    if (!enable) return;
+    ___tracy_emit_frame_mark_start(name.ptr);
+}
+
+inline fn frameMarkEnd(comptime name: [:0]const u8) void {
+    if (!enable) return;
+    ___tracy_emit_frame_mark_end(name.ptr);
+}
+
+extern fn ___tracy_emit_frame_mark_start(name: [*:0]const u8) void;
+extern fn ___tracy_emit_frame_mark_end(name: [*:0]const u8) void;
+
+inline fn alloc(ptr: [*]u8, len: usize) void {
+    if (!enable) return;
+
+    if (enable_callstack) {
+        ___tracy_emit_memory_alloc_callstack(ptr, len, callstack_depth, 0);
+    } else {
+        ___tracy_emit_memory_alloc(ptr, len, 0);
+    }
+}
+
+inline fn allocNamed(ptr: [*]u8, len: usize, comptime name: [:0]const u8) void {
+    if (!enable) return;
+
+    if (enable_callstack) {
+        ___tracy_emit_memory_alloc_callstack_named(ptr, len, callstack_depth, 0, name.ptr);
+    } else {
+        ___tracy_emit_memory_alloc_named(ptr, len, 0, name.ptr);
+    }
+}
+
+inline fn free(ptr: [*]u8) void {
+    if (!enable) return;
+
+    if (enable_callstack) {
+        ___tracy_emit_memory_free_callstack(ptr, callstack_depth, 0);
+    } else {
+        ___tracy_emit_memory_free(ptr, 0);
+    }
+}
+
+inline fn freeNamed(ptr: [*]u8, comptime name: [:0]const u8) void {
+    if (!enable) return;
+
+    if (enable_callstack) {
+        ___tracy_emit_memory_free_callstack_named(ptr, callstack_depth, 0, name.ptr);
+    } else {
+        ___tracy_emit_memory_free_named(ptr, 0, name.ptr);
+    }
+}
+
+extern fn ___tracy_emit_zone_begin(
+    srcloc: *const ___tracy_source_location_data,
+    active: c_int,
+) ___tracy_c_zone_context;
+extern fn ___tracy_emit_zone_begin_callstack(
+    srcloc: *const ___tracy_source_location_data,
+    depth: c_int,
+    active: c_int,
+) ___tracy_c_zone_context;
+extern fn ___tracy_emit_zone_text(ctx: ___tracy_c_zone_context, txt: [*]const u8, size: usize) void;
+extern fn ___tracy_emit_zone_name(ctx: ___tracy_c_zone_context, txt: [*]const u8, size: usize) void;
+extern fn ___tracy_emit_zone_color(ctx: ___tracy_c_zone_context, color: u32) void;
+extern fn ___tracy_emit_zone_value(ctx: ___tracy_c_zone_context, value: u64) void;
+extern fn ___tracy_emit_zone_end(ctx: ___tracy_c_zone_context) void;
+extern fn ___tracy_emit_memory_alloc(ptr: *const anyopaque, size: usize, secure: c_int) void;
+extern fn ___tracy_emit_memory_alloc_callstack(ptr: *const anyopaque, size: usize, depth: c_int, secure: c_int) void;
+extern fn ___tracy_emit_memory_free(ptr: *const anyopaque, secure: c_int) void;
+extern fn ___tracy_emit_memory_free_callstack(ptr: *const anyopaque, depth: c_int, secure: c_int) void;
+extern fn ___tracy_emit_memory_alloc_named(ptr: *const anyopaque, size: usize, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_memory_alloc_callstack_named(ptr: *const anyopaque, size: usize, depth: c_int, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_memory_free_named(ptr: *const anyopaque, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_memory_free_callstack_named(ptr: *const anyopaque, depth: c_int, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_message(txt: [*]const u8, size: usize, callstack: c_int) void;
+extern fn ___tracy_emit_messageL(txt: [*:0]const u8, callstack: c_int) void;
+extern fn ___tracy_emit_messageC(txt: [*]const u8, size: usize, color: u32, callstack: c_int) void;
+extern fn ___tracy_emit_messageLC(txt: [*:0]const u8, color: u32, callstack: c_int) void;
+extern fn ___tracy_emit_frame_mark(name: ?[*:0]const u8) void;
+
+const ___tracy_source_location_data = extern struct {
+    name: ?[*:0]const u8,
+    function: [*:0]const u8,
+    file: [*:0]const u8,
+    line: u32,
+    color: u32,
+};
deps/aro/Tree.zig → deps/aro/aro/Tree.zig
@@ -1,14 +1,14 @@
 const std = @import("std");
+const Interner = @import("backend").Interner;
 const Type = @import("Type.zig");
 const Tokenizer = @import("Tokenizer.zig");
+const CodeGen = @import("CodeGen.zig");
 const Compilation = @import("Compilation.zig");
 const Source = @import("Source.zig");
 const Attribute = @import("Attribute.zig");
 const Value = @import("Value.zig");
 const StringInterner = @import("StringInterner.zig");
 
-const Tree = @This();
-
 pub const Token = struct {
     id: Id,
     flags: packed struct {
@@ -79,7 +79,7 @@ pub const Token = struct {
     pub fn checkMsEof(tok: Token, source: Source, comp: *Compilation) !void {
         std.debug.assert(tok.id == .eof);
         if (source.buf.len > tok.loc.byte_offset and source.buf[tok.loc.byte_offset] == 0x1A) {
-            try comp.diag.add(.{
+            try comp.addDiagnostic(.{
                 .tag = .ctrl_z_eof,
                 .loc = .{
                     .id = source.id,
@@ -98,6 +98,8 @@ pub const TokenIndex = u32;
 pub const NodeIndex = enum(u32) { none, _ };
 pub const ValueMap = std.AutoHashMap(NodeIndex, Value);
 
+const Tree = @This();
+
 comp: *Compilation,
 arena: std.heap.ArenaAllocator,
 generated: []const u8,
@@ -105,13 +107,13 @@ tokens: Token.List.Slice,
 nodes: Node.List.Slice,
 data: []const NodeIndex,
 root_decls: []const NodeIndex,
-strings: []const u8,
 value_map: ValueMap,
 
+pub const genIr = CodeGen.genIr;
+
 pub fn deinit(tree: *Tree) void {
     tree.comp.gpa.free(tree.root_decls);
     tree.comp.gpa.free(tree.data);
-    tree.comp.gpa.free(tree.strings);
     tree.nodes.deinit(tree.comp.gpa);
     tree.arena.deinit();
     tree.value_map.deinit();
@@ -161,7 +163,7 @@ pub const Node = struct {
         int: u64,
         return_zero: bool,
 
-        pub fn forDecl(data: Data, tree: Tree) struct {
+        pub fn forDecl(data: Data, tree: *const Tree) struct {
             decls: []const NodeIndex,
             cond: NodeIndex,
             incr: NodeIndex,
@@ -178,7 +180,7 @@ pub const Node = struct {
             };
         }
 
-        pub fn forStmt(data: Data, tree: Tree) struct {
+        pub fn forStmt(data: Data, tree: *const Tree) struct {
             init: NodeIndex,
             cond: NodeIndex,
             incr: NodeIndex,
@@ -495,12 +497,8 @@ pub const Tag = enum(u8) {
     int_literal,
     /// Same as int_literal, but originates from a char literal
     char_literal,
-    /// _Float16 literal
-    float16_literal,
-    /// f32 literal
+    /// a floating point literal
     float_literal,
-    /// f64 literal
-    double_literal,
     /// wraps a float or double literal: un
     imaginary_literal,
     /// tree.str[index..][0..len]
@@ -540,6 +538,12 @@ pub const Tag = enum(u8) {
     union_init_expr,
     /// (ty){ un }
     compound_literal_expr,
+    /// (static ty){ un }
+    static_compound_literal_expr,
+    /// (thread_local ty){ un }
+    thread_local_compound_literal_expr,
+    /// (static thread_local ty){ un }
+    static_thread_local_compound_literal_expr,
 
     /// Inserted at the end of a function body if no return stmt is found.
     /// ty is the functions return type
@@ -566,18 +570,18 @@ pub const Tag = enum(u8) {
     }
 };
 
-pub fn isBitfield(nodes: Node.List.Slice, node: NodeIndex) bool {
-    return bitfieldWidth(nodes, node, false) != null;
+pub fn isBitfield(tree: *const Tree, node: NodeIndex) bool {
+    return tree.bitfieldWidth(node, false) != null;
 }
 
 /// Returns null if node is not a bitfield. If inspect_lval is true, this function will
 /// recurse into implicit lval_to_rval casts (useful for arithmetic conversions)
-pub fn bitfieldWidth(nodes: Node.List.Slice, node: NodeIndex, inspect_lval: bool) ?u32 {
+pub fn bitfieldWidth(tree: *const Tree, node: NodeIndex, inspect_lval: bool) ?u32 {
     if (node == .none) return null;
-    switch (nodes.items(.tag)[@intFromEnum(node)]) {
+    switch (tree.nodes.items(.tag)[@intFromEnum(node)]) {
         .member_access_expr, .member_access_ptr_expr => {
-            const member = nodes.items(.data)[@intFromEnum(node)].member;
-            var ty = nodes.items(.ty)[@intFromEnum(member.lhs)];
+            const member = tree.nodes.items(.data)[@intFromEnum(node)].member;
+            var ty = tree.nodes.items(.ty)[@intFromEnum(member.lhs)];
             if (ty.isPtr()) ty = ty.elemType();
             const record_ty = ty.get(.@"struct") orelse ty.get(.@"union") orelse return null;
             const field = record_ty.data.record.fields[member.index];
@@ -586,9 +590,9 @@ pub fn bitfieldWidth(nodes: Node.List.Slice, node: NodeIndex, inspect_lval: bool
         .implicit_cast => {
             if (!inspect_lval) return null;
 
-            const data = nodes.items(.data)[@intFromEnum(node)];
+            const data = tree.nodes.items(.data)[@intFromEnum(node)];
             return switch (data.cast.kind) {
-                .lval_to_rval => bitfieldWidth(nodes, data.cast.operand, false),
+                .lval_to_rval => tree.bitfieldWidth(data.cast.operand, false),
                 else => null,
             };
         },
@@ -596,59 +600,63 @@ pub fn bitfieldWidth(nodes: Node.List.Slice, node: NodeIndex, inspect_lval: bool
     }
 }
 
-pub fn isLval(nodes: Node.List.Slice, extra: []const NodeIndex, value_map: ValueMap, node: NodeIndex) bool {
+pub fn isLval(tree: *const Tree, node: NodeIndex) bool {
     var is_const: bool = undefined;
-    return isLvalExtra(nodes, extra, value_map, node, &is_const);
+    return tree.isLvalExtra(node, &is_const);
 }
 
-pub fn isLvalExtra(nodes: Node.List.Slice, extra: []const NodeIndex, value_map: ValueMap, node: NodeIndex, is_const: *bool) bool {
+pub fn isLvalExtra(tree: *const Tree, node: NodeIndex, is_const: *bool) bool {
     is_const.* = false;
-    switch (nodes.items(.tag)[@intFromEnum(node)]) {
-        .compound_literal_expr => {
-            is_const.* = nodes.items(.ty)[@intFromEnum(node)].isConst();
+    switch (tree.nodes.items(.tag)[@intFromEnum(node)]) {
+        .compound_literal_expr,
+        .static_compound_literal_expr,
+        .thread_local_compound_literal_expr,
+        .static_thread_local_compound_literal_expr,
+        => {
+            is_const.* = tree.nodes.items(.ty)[@intFromEnum(node)].isConst();
             return true;
         },
         .string_literal_expr => return true,
         .member_access_ptr_expr => {
-            const lhs_expr = nodes.items(.data)[@intFromEnum(node)].member.lhs;
-            const ptr_ty = nodes.items(.ty)[@intFromEnum(lhs_expr)];
+            const lhs_expr = tree.nodes.items(.data)[@intFromEnum(node)].member.lhs;
+            const ptr_ty = tree.nodes.items(.ty)[@intFromEnum(lhs_expr)];
             if (ptr_ty.isPtr()) is_const.* = ptr_ty.elemType().isConst();
             return true;
         },
         .array_access_expr => {
-            const lhs_expr = nodes.items(.data)[@intFromEnum(node)].bin.lhs;
+            const lhs_expr = tree.nodes.items(.data)[@intFromEnum(node)].bin.lhs;
             if (lhs_expr != .none) {
-                const array_ty = nodes.items(.ty)[@intFromEnum(lhs_expr)];
+                const array_ty = tree.nodes.items(.ty)[@intFromEnum(lhs_expr)];
                 if (array_ty.isPtr() or array_ty.isArray()) is_const.* = array_ty.elemType().isConst();
             }
             return true;
         },
         .decl_ref_expr => {
-            const decl_ty = nodes.items(.ty)[@intFromEnum(node)];
+            const decl_ty = tree.nodes.items(.ty)[@intFromEnum(node)];
             is_const.* = decl_ty.isConst();
             return true;
         },
         .deref_expr => {
-            const data = nodes.items(.data)[@intFromEnum(node)];
-            const operand_ty = nodes.items(.ty)[@intFromEnum(data.un)];
+            const data = tree.nodes.items(.data)[@intFromEnum(node)];
+            const operand_ty = tree.nodes.items(.ty)[@intFromEnum(data.un)];
             if (operand_ty.isFunc()) return false;
             if (operand_ty.isPtr() or operand_ty.isArray()) is_const.* = operand_ty.elemType().isConst();
             return true;
         },
         .member_access_expr => {
-            const data = nodes.items(.data)[@intFromEnum(node)];
-            return isLvalExtra(nodes, extra, value_map, data.member.lhs, is_const);
+            const data = tree.nodes.items(.data)[@intFromEnum(node)];
+            return tree.isLvalExtra(data.member.lhs, is_const);
         },
         .paren_expr => {
-            const data = nodes.items(.data)[@intFromEnum(node)];
-            return isLvalExtra(nodes, extra, value_map, data.un, is_const);
+            const data = tree.nodes.items(.data)[@intFromEnum(node)];
+            return tree.isLvalExtra(data.un, is_const);
         },
         .builtin_choose_expr => {
-            const data = nodes.items(.data)[@intFromEnum(node)];
+            const data = tree.nodes.items(.data)[@intFromEnum(node)];
 
-            if (value_map.get(data.if3.cond)) |val| {
-                const offset = @intFromBool(val.isZero());
-                return isLvalExtra(nodes, extra, value_map, extra[data.if3.body + offset], is_const);
+            if (tree.value_map.get(data.if3.cond)) |val| {
+                const offset = @intFromBool(val.isZero(tree.comp));
+                return tree.isLvalExtra(tree.data[data.if3.body + offset], is_const);
             }
             return false;
         },
@@ -656,7 +664,7 @@ pub fn isLvalExtra(nodes: Node.List.Slice, extra: []const NodeIndex, value_map:
     }
 }
 
-pub fn tokSlice(tree: Tree, tok_i: TokenIndex) []const u8 {
+pub fn tokSlice(tree: *const Tree, tok_i: TokenIndex) []const u8 {
     if (tree.tokens.items(.id)[tok_i].lexeme()) |some| return some;
     const loc = tree.tokens.items(.loc)[tok_i];
     var tmp_tokenizer = Tokenizer{
@@ -669,25 +677,25 @@ pub fn tokSlice(tree: Tree, tok_i: TokenIndex) []const u8 {
     return tmp_tokenizer.buf[tok.start..tok.end];
 }
 
-pub fn dump(tree: Tree, color: bool, writer: anytype) @TypeOf(writer).Error!void {
+pub fn dump(tree: *const Tree, config: std.io.tty.Config, writer: anytype) !void {
     const mapper = tree.comp.string_interner.getFastTypeMapper(tree.comp.gpa) catch tree.comp.string_interner.getSlowTypeMapper();
     defer mapper.deinit(tree.comp.gpa);
 
     for (tree.root_decls) |i| {
-        try tree.dumpNode(i, 0, mapper, color, writer);
+        try tree.dumpNode(i, 0, mapper, config, writer);
         try writer.writeByte('\n');
     }
 }
 
-fn dumpFieldAttributes(attributes: []const Attribute, level: u32, strings: []const u8, writer: anytype) !void {
+fn dumpFieldAttributes(tree: *const Tree, attributes: []const Attribute, level: u32, writer: anytype) !void {
     for (attributes) |attr| {
         try writer.writeByteNTimes(' ', level);
         try writer.print("field attr: {s}", .{@tagName(attr.tag)});
-        try dumpAttribute(attr, strings, writer);
+        try tree.dumpAttribute(attr, writer);
     }
 }
 
-fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
+fn dumpAttribute(tree: *const Tree, attr: Attribute, writer: anytype) !void {
     switch (attr.tag) {
         inline else => |tag| {
             const args = @field(attr.args, @tagName(tag));
@@ -705,8 +713,8 @@ fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
                 try writer.writeAll(f.name);
                 try writer.writeAll(": ");
                 switch (f.type) {
-                    Value.ByteRange => try writer.print("\"{s}\"", .{@field(args, f.name).slice(strings, .@"1")}),
-                    ?Value.ByteRange => try writer.print("\"{?s}\"", .{if (@field(args, f.name)) |range| range.slice(strings, .@"1") else null}),
+                    Interner.Ref => try writer.print("\"{s}\"", .{tree.interner.get(@field(args, f.name)).bytes}),
+                    ?Interner.Ref => try writer.print("\"{?s}\"", .{if (@field(args, f.name)) |str| tree.interner.get(str).bytes else null}),
                     else => switch (@typeInfo(f.type)) {
                         .Enum => try writer.writeAll(@tagName(@field(args, f.name))),
                         else => try writer.print("{any}", .{@field(args, f.name)}),
@@ -719,16 +727,22 @@ fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
     }
 }
 
-fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.TypeMapper, color: bool, w: anytype) @TypeOf(w).Error!void {
+fn dumpNode(
+    tree: *const Tree,
+    node: NodeIndex,
+    level: u32,
+    mapper: StringInterner.TypeMapper,
+    config: std.io.tty.Config,
+    w: anytype,
+) !void {
     const delta = 2;
     const half = delta / 2;
-    const util = @import("util.zig");
-    const TYPE = util.Color.purple;
-    const TAG = util.Color.cyan;
-    const IMPLICIT = util.Color.blue;
-    const NAME = util.Color.red;
-    const LITERAL = util.Color.green;
-    const ATTRIBUTE = util.Color.yellow;
+    const TYPE = std.io.tty.Color.bright_magenta;
+    const TAG = std.io.tty.Color.bright_cyan;
+    const IMPLICIT = std.io.tty.Color.bright_blue;
+    const NAME = std.io.tty.Color.bright_red;
+    const LITERAL = std.io.tty.Color.bright_green;
+    const ATTRIBUTE = std.io.tty.Color.bright_yellow;
     std.debug.assert(node != .none);
 
     const tag = tree.nodes.items(.tag)[@intFromEnum(node)];
@@ -736,68 +750,68 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
     const ty = tree.nodes.items(.ty)[@intFromEnum(node)];
     try w.writeByteNTimes(' ', level);
 
-    if (color) util.setColor(if (tag.isImplicit()) IMPLICIT else TAG, w);
+    try config.setColor(w, if (tag.isImplicit()) IMPLICIT else TAG);
     try w.print("{s}: ", .{@tagName(tag)});
     if (tag == .implicit_cast or tag == .explicit_cast) {
-        if (color) util.setColor(.white, w);
+        try config.setColor(w, .white);
         try w.print("({s}) ", .{@tagName(data.cast.kind)});
     }
-    if (color) util.setColor(TYPE, w);
+    try config.setColor(w, TYPE);
     try w.writeByte('\'');
     try ty.dump(mapper, tree.comp.langopts, w);
     try w.writeByte('\'');
 
-    if (isLval(tree.nodes, tree.data, tree.value_map, node)) {
-        if (color) util.setColor(ATTRIBUTE, w);
+    if (tree.isLval(node)) {
+        try config.setColor(w, ATTRIBUTE);
         try w.writeAll(" lvalue");
     }
-    if (isBitfield(tree.nodes, node)) {
-        if (color) util.setColor(ATTRIBUTE, w);
+    if (tree.isBitfield(node)) {
+        try config.setColor(w, ATTRIBUTE);
         try w.writeAll(" bitfield");
     }
     if (tree.value_map.get(node)) |val| {
-        if (color) util.setColor(LITERAL, w);
+        try config.setColor(w, LITERAL);
         try w.writeAll(" (value: ");
-        try val.dump(ty, tree.comp, tree.strings, w);
+        try val.print(ty, tree.comp, w);
         try w.writeByte(')');
     }
     if (tag == .implicit_return and data.return_zero) {
-        if (color) util.setColor(IMPLICIT, w);
+        try config.setColor(w, IMPLICIT);
         try w.writeAll(" (value: 0)");
-        if (color) util.setColor(.reset, w);
+        try config.setColor(w, .reset);
     }
 
     try w.writeAll("\n");
-    if (color) util.setColor(.reset, w);
+    try config.setColor(w, .reset);
 
     if (ty.specifier == .attributed) {
-        if (color) util.setColor(ATTRIBUTE, w);
+        try config.setColor(w, ATTRIBUTE);
         for (ty.data.attributed.attributes) |attr| {
             try w.writeByteNTimes(' ', level + half);
             try w.print("attr: {s}", .{@tagName(attr.tag)});
-            try dumpAttribute(attr, tree.strings, w);
+            try tree.dumpAttribute(attr, w);
         }
-        if (color) util.setColor(.reset, w);
+        try config.setColor(w, .reset);
     }
 
     switch (tag) {
         .invalid => unreachable,
         .file_scope_asm => {
             try w.writeByteNTimes(' ', level + 1);
-            try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+            try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
         },
         .gnu_asm_simple => {
             try w.writeByteNTimes(' ', level);
-            try tree.dumpNode(data.un, level, mapper, color, w);
+            try tree.dumpNode(data.un, level, mapper, config, w);
         },
         .static_assert => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("condition:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
             if (data.bin.rhs != .none) {
                 try w.writeByteNTimes(' ', level + 1);
                 try w.writeAll("diagnostic:\n");
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
             }
         },
         .fn_proto,
@@ -807,9 +821,9 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
         => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
         },
         .fn_def,
         .static_fn_def,
@@ -818,12 +832,12 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
         => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("body:\n");
-            try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+            try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
         },
         .typedef,
         .@"var",
@@ -836,39 +850,39 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
         => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             if (data.decl.node != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("init:\n");
-                try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
             }
         },
         .enum_field_decl => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             if (data.decl.node != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("value:\n");
-                try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
             }
         },
         .record_field_decl => {
             if (data.decl.name != 0) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("name: ");
-                if (color) util.setColor(NAME, w);
+                try config.setColor(w, NAME);
                 try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-                if (color) util.setColor(.reset, w);
+                try config.setColor(w, .reset);
             }
             if (data.decl.node != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("bits:\n");
-                try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
             }
         },
         .indirect_record_field_decl => {},
@@ -882,13 +896,13 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
             const maybe_field_attributes = if (ty.getRecord()) |record| record.field_attributes else null;
             for (tree.data[data.range.start..data.range.end], 0..) |stmt, i| {
                 if (i != 0) try w.writeByte('\n');
-                try tree.dumpNode(stmt, level + delta, mapper, color, w);
+                try tree.dumpNode(stmt, level + delta, mapper, config, w);
                 if (maybe_field_attributes) |field_attributes| {
                     if (field_attributes[i].len == 0) continue;
 
-                    if (color) util.setColor(ATTRIBUTE, w);
-                    try dumpFieldAttributes(field_attributes[i], level + delta + half, tree.strings, w);
-                    if (color) util.setColor(.reset, w);
+                    try config.setColor(w, ATTRIBUTE);
+                    try tree.dumpFieldAttributes(field_attributes[i], level + delta + half, w);
+                    try config.setColor(w, .reset);
                 }
             }
         },
@@ -903,91 +917,95 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
             const empty: [][]const Attribute = &attr_array;
             const field_attributes = if (ty.getRecord()) |record| (record.field_attributes orelse empty.ptr) else empty.ptr;
             if (data.bin.lhs != .none) {
-                try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
                 if (field_attributes[0].len > 0) {
-                    if (color) util.setColor(ATTRIBUTE, w);
-                    try dumpFieldAttributes(field_attributes[0], level + delta + half, tree.strings, w);
-                    if (color) util.setColor(.reset, w);
+                    try config.setColor(w, ATTRIBUTE);
+                    try tree.dumpFieldAttributes(field_attributes[0], level + delta + half, w);
+                    try config.setColor(w, .reset);
                 }
             }
             if (data.bin.rhs != .none) {
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
                 if (field_attributes[1].len > 0) {
-                    if (color) util.setColor(ATTRIBUTE, w);
-                    try dumpFieldAttributes(field_attributes[1], level + delta + half, tree.strings, w);
-                    if (color) util.setColor(.reset, w);
+                    try config.setColor(w, ATTRIBUTE);
+                    try tree.dumpFieldAttributes(field_attributes[1], level + delta + half, w);
+                    try config.setColor(w, .reset);
                 }
             }
         },
         .union_init_expr => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("field index: ");
-            if (color) util.setColor(LITERAL, w);
+            try config.setColor(w, LITERAL);
             try w.print("{d}\n", .{data.union_init.field_index});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             if (data.union_init.node != .none) {
-                try tree.dumpNode(data.union_init.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.union_init.node, level + delta, mapper, config, w);
             }
         },
-        .compound_literal_expr => {
-            try tree.dumpNode(data.un, level + half, mapper, color, w);
+        .compound_literal_expr,
+        .static_compound_literal_expr,
+        .thread_local_compound_literal_expr,
+        .static_thread_local_compound_literal_expr,
+        => {
+            try tree.dumpNode(data.un, level + half, mapper, config, w);
         },
         .labeled_stmt => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("label: ");
-            if (color) util.setColor(LITERAL, w);
+            try config.setColor(w, LITERAL);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             if (data.decl.node != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("stmt:\n");
-                try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
             }
         },
         .case_stmt => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("value:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
             if (data.bin.rhs != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("stmt:\n");
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
             }
         },
         .case_range_stmt => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("range start:\n");
-            try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, color, w);
+            try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, config, w);
 
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("range end:\n");
-            try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, color, w);
+            try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, config, w);
 
             if (data.if3.cond != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("stmt:\n");
-                try tree.dumpNode(data.if3.cond, level + delta, mapper, color, w);
+                try tree.dumpNode(data.if3.cond, level + delta, mapper, config, w);
             }
         },
         .default_stmt => {
             if (data.un != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("stmt:\n");
-                try tree.dumpNode(data.un, level + delta, mapper, color, w);
+                try tree.dumpNode(data.un, level + delta, mapper, config, w);
             }
         },
         .binary_cond_expr, .cond_expr, .if_then_else_stmt, .builtin_choose_expr => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("cond:\n");
-            try tree.dumpNode(data.if3.cond, level + delta, mapper, color, w);
+            try tree.dumpNode(data.if3.cond, level + delta, mapper, config, w);
 
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("then:\n");
-            try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, color, w);
+            try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, config, w);
 
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("else:\n");
-            try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, color, w);
+            try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, config, w);
         },
         .builtin_types_compatible_p => {
             std.debug.assert(tree.nodes.items(.tag)[@intFromEnum(data.bin.lhs)] == .invalid);
@@ -997,40 +1015,40 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
             try w.writeAll("lhs: ");
 
             const lhs_ty = tree.nodes.items(.ty)[@intFromEnum(data.bin.lhs)];
-            if (color) util.setColor(TYPE, w);
+            try config.setColor(w, TYPE);
             try lhs_ty.dump(mapper, tree.comp.langopts, w);
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             try w.writeByte('\n');
 
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("rhs: ");
 
             const rhs_ty = tree.nodes.items(.ty)[@intFromEnum(data.bin.rhs)];
-            if (color) util.setColor(TYPE, w);
+            try config.setColor(w, TYPE);
             try rhs_ty.dump(mapper, tree.comp.langopts, w);
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             try w.writeByte('\n');
         },
         .if_then_stmt => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("cond:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
 
             if (data.bin.rhs != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("then:\n");
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
             }
         },
         .switch_stmt, .while_stmt, .do_while_stmt => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("cond:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
 
             if (data.bin.rhs != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("body:\n");
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
             }
         },
         .for_decl_stmt => {
@@ -1039,30 +1057,30 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("decl:\n");
             for (for_decl.decls) |decl| {
-                try tree.dumpNode(decl, level + delta, mapper, color, w);
+                try tree.dumpNode(decl, level + delta, mapper, config, w);
                 try w.writeByte('\n');
             }
             if (for_decl.cond != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("cond:\n");
-                try tree.dumpNode(for_decl.cond, level + delta, mapper, color, w);
+                try tree.dumpNode(for_decl.cond, level + delta, mapper, config, w);
             }
             if (for_decl.incr != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("incr:\n");
-                try tree.dumpNode(for_decl.incr, level + delta, mapper, color, w);
+                try tree.dumpNode(for_decl.incr, level + delta, mapper, config, w);
             }
             if (for_decl.body != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("body:\n");
-                try tree.dumpNode(for_decl.body, level + delta, mapper, color, w);
+                try tree.dumpNode(for_decl.body, level + delta, mapper, config, w);
             }
         },
         .forever_stmt => {
             if (data.un != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("body:\n");
-                try tree.dumpNode(data.un, level + delta, mapper, color, w);
+                try tree.dumpNode(data.un, level + delta, mapper, config, w);
             }
         },
         .for_stmt => {
@@ -1071,91 +1089,91 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
             if (for_stmt.init != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("init:\n");
-                try tree.dumpNode(for_stmt.init, level + delta, mapper, color, w);
+                try tree.dumpNode(for_stmt.init, level + delta, mapper, config, w);
             }
             if (for_stmt.cond != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("cond:\n");
-                try tree.dumpNode(for_stmt.cond, level + delta, mapper, color, w);
+                try tree.dumpNode(for_stmt.cond, level + delta, mapper, config, w);
             }
             if (for_stmt.incr != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("incr:\n");
-                try tree.dumpNode(for_stmt.incr, level + delta, mapper, color, w);
+                try tree.dumpNode(for_stmt.incr, level + delta, mapper, config, w);
             }
             if (for_stmt.body != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("body:\n");
-                try tree.dumpNode(for_stmt.body, level + delta, mapper, color, w);
+                try tree.dumpNode(for_stmt.body, level + delta, mapper, config, w);
             }
         },
         .goto_stmt, .addr_of_label => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("label: ");
-            if (color) util.setColor(LITERAL, w);
+            try config.setColor(w, LITERAL);
             try w.print("{s}\n", .{tree.tokSlice(data.decl_ref)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
         },
         .continue_stmt, .break_stmt, .implicit_return, .null_stmt => {},
         .return_stmt => {
             if (data.un != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("expr:\n");
-                try tree.dumpNode(data.un, level + delta, mapper, color, w);
+                try tree.dumpNode(data.un, level + delta, mapper, config, w);
             }
         },
         .call_expr => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("lhs:\n");
-            try tree.dumpNode(tree.data[data.range.start], level + delta, mapper, color, w);
+            try tree.dumpNode(tree.data[data.range.start], level + delta, mapper, config, w);
 
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("args:\n");
-            for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, color, w);
+            for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, config, w);
         },
         .call_expr_one => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("lhs:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
             if (data.bin.rhs != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("arg:\n");
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
             }
         },
         .builtin_call_expr => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(@intFromEnum(tree.data[data.range.start]))});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
 
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("args:\n");
-            for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, color, w);
+            for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, config, w);
         },
         .builtin_call_expr_one => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             if (data.decl.node != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("arg:\n");
-                try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
             }
         },
         .special_builtin_call_one => {
             try w.writeByteNTimes(' ', level + half);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
             if (data.decl.node != .none) {
                 try w.writeByteNTimes(' ', level + half);
                 try w.writeAll("arg:\n");
-                try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+                try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
             }
         },
         .comma_expr,
@@ -1191,12 +1209,12 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
         => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("lhs:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("rhs:\n");
-            try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
         },
-        .explicit_cast, .implicit_cast => try tree.dumpNode(data.cast.operand, level + delta, mapper, color, w),
+        .explicit_cast, .implicit_cast => try tree.dumpNode(data.cast.operand, level + delta, mapper, config, w),
         .addr_of_expr,
         .computed_goto_stmt,
         .deref_expr,
@@ -1214,35 +1232,33 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
         => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("operand:\n");
-            try tree.dumpNode(data.un, level + delta, mapper, color, w);
+            try tree.dumpNode(data.un, level + delta, mapper, config, w);
         },
         .decl_ref_expr => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl_ref)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
         },
         .enumeration_ref => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{tree.tokSlice(data.decl_ref)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
         },
         .bool_literal,
         .nullptr_literal,
         .int_literal,
         .char_literal,
-        .float16_literal,
         .float_literal,
-        .double_literal,
         .string_literal_expr,
         => {},
         .member_access_expr, .member_access_ptr_expr => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("lhs:\n");
-            try tree.dumpNode(data.member.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.member.lhs, level + delta, mapper, config, w);
 
             var lhs_ty = tree.nodes.items(.ty)[@intFromEnum(data.member.lhs)];
             if (lhs_ty.isPtr()) lhs_ty = lhs_ty.elemType();
@@ -1250,60 +1266,60 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
 
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("name: ");
-            if (color) util.setColor(NAME, w);
+            try config.setColor(w, NAME);
             try w.print("{s}\n", .{mapper.lookup(lhs_ty.data.record.fields[data.member.index].name)});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
         },
         .array_access_expr => {
             if (data.bin.lhs != .none) {
                 try w.writeByteNTimes(' ', level + 1);
                 try w.writeAll("lhs:\n");
-                try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
             }
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("index:\n");
-            try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
         },
         .sizeof_expr, .alignof_expr => {
             if (data.un != .none) {
                 try w.writeByteNTimes(' ', level + 1);
                 try w.writeAll("expr:\n");
-                try tree.dumpNode(data.un, level + delta, mapper, color, w);
+                try tree.dumpNode(data.un, level + delta, mapper, config, w);
             }
         },
         .generic_expr_one => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("controlling:\n");
-            try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+            try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
             try w.writeByteNTimes(' ', level + 1);
             if (data.bin.rhs != .none) {
                 try w.writeAll("chosen:\n");
-                try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+                try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
             }
         },
         .generic_expr => {
             const nodes = tree.data[data.range.start..data.range.end];
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("controlling:\n");
-            try tree.dumpNode(nodes[0], level + delta, mapper, color, w);
+            try tree.dumpNode(nodes[0], level + delta, mapper, config, w);
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("chosen:\n");
-            try tree.dumpNode(nodes[1], level + delta, mapper, color, w);
+            try tree.dumpNode(nodes[1], level + delta, mapper, config, w);
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("rest:\n");
             for (nodes[2..]) |expr| {
-                try tree.dumpNode(expr, level + delta, mapper, color, w);
+                try tree.dumpNode(expr, level + delta, mapper, config, w);
             }
         },
         .generic_association_expr, .generic_default_expr, .stmt_expr, .imaginary_literal => {
-            try tree.dumpNode(data.un, level + delta, mapper, color, w);
+            try tree.dumpNode(data.un, level + delta, mapper, config, w);
         },
         .array_filler_expr => {
             try w.writeByteNTimes(' ', level + 1);
             try w.writeAll("count: ");
-            if (color) util.setColor(LITERAL, w);
+            try config.setColor(w, LITERAL);
             try w.print("{d}\n", .{data.int});
-            if (color) util.setColor(.reset, w);
+            try config.setColor(w, .reset);
         },
         .struct_forward_decl,
         .union_forward_decl,
deps/aro/Type.zig → deps/aro/aro/Type.zig
@@ -10,8 +10,6 @@ const StringId = StringInterner.StringId;
 const target_util = @import("target.zig");
 const LangOpts = @import("LangOpts.zig");
 
-const Type = @This();
-
 pub const Qualifiers = packed struct {
     @"const": bool = false,
     atomic: bool = false,
@@ -104,22 +102,20 @@ pub const Func = struct {
         name_tok: TokenIndex,
     };
 
-    fn eql(a: *const Func, b: *const Func, a_var_args: bool, b_var_args: bool, comp: *const Compilation) bool {
+    fn eql(a: *const Func, b: *const Func, a_spec: Specifier, b_spec: Specifier, comp: *const Compilation) bool {
         // return type cannot have qualifiers
         if (!a.return_type.eql(b.return_type, comp, false)) return false;
 
         if (a.params.len != b.params.len) {
-            const a_no_proto = a_var_args and a.params.len == 0 and !comp.langopts.standard.atLeast(.c2x);
-            const b_no_proto = b_var_args and b.params.len == 0 and !comp.langopts.standard.atLeast(.c2x);
-            if (a_no_proto or b_no_proto) {
-                const maybe_has_params = if (a_no_proto) b else a;
+            if (a_spec == .old_style_func or b_spec == .old_style_func) {
+                const maybe_has_params = if (a_spec == .old_style_func) b else a;
                 for (maybe_has_params.params) |param| {
                     if (param.ty.undergoesDefaultArgPromotion(comp)) return false;
                 }
                 return true;
             }
         }
-        if (a_var_args != b_var_args) return false;
+        if ((a_spec == .func) != (b_spec == .func)) return false;
         // TODO validate this
         for (a.params, b.params) |param, b_qual| {
             var a_unqual = param.ty;
@@ -149,10 +145,10 @@ pub const Attributed = struct {
     base: Type,
 
     pub fn create(allocator: std.mem.Allocator, base: Type, existing_attributes: []const Attribute, attributes: []const Attribute) !*Attributed {
-        var attributed_type = try allocator.create(Attributed);
+        const attributed_type = try allocator.create(Attributed);
         errdefer allocator.destroy(attributed_type);
 
-        var all_attrs = try allocator.alloc(Attribute, existing_attributes.len + attributes.len);
+        const all_attrs = try allocator.alloc(Attribute, existing_attributes.len + attributes.len);
         std.mem.copy(Attribute, all_attrs, existing_attributes);
         std.mem.copy(Attribute, all_attrs[existing_attributes.len..], attributes);
 
@@ -312,6 +308,8 @@ pub const Specifier = enum {
     /// GNU auto type
     /// This is a placeholder specifier - it must be replaced by the actual type specifier (determined by the initializer)
     auto_type,
+    /// C23 auto, behaves like auto_type
+    c23_auto,
 
     void,
     bool,
@@ -411,6 +409,8 @@ pub const Specifier = enum {
     nullptr_t,
 };
 
+const Type = @This();
+
 /// All fields of Type except data may be mutated
 data: union {
     sub_type: *Type,
@@ -422,7 +422,7 @@ data: union {
     attributed: *Attributed,
     none: void,
     int: struct {
-        bits: u8,
+        bits: u16,
         signedness: std.builtin.Signedness,
     },
 } = .{ .none = {} },
@@ -623,17 +623,21 @@ pub fn isConst(ty: Type) bool {
 }
 
 pub fn isUnsignedInt(ty: Type, comp: *const Compilation) bool {
+    return ty.signedness(comp) == .unsigned;
+}
+
+pub fn signedness(ty: Type, comp: *const Compilation) std.builtin.Signedness {
     return switch (ty.specifier) {
         // zig fmt: off
-        .char, .complex_char => return comp.getCharSignedness() == .unsigned,
+        .char, .complex_char => return comp.getCharSignedness(),
         .uchar, .ushort, .uint, .ulong, .ulong_long, .bool, .complex_uchar, .complex_ushort,
-        .complex_uint, .complex_ulong, .complex_ulong_long, .complex_uint128 => true,
+        .complex_uint, .complex_ulong, .complex_ulong_long, .complex_uint128 => .unsigned,
         // zig fmt: on
-        .bit_int, .complex_bit_int => return ty.data.int.signedness == .unsigned,
-        .typeof_type => ty.data.sub_type.isUnsignedInt(comp),
-        .typeof_expr => ty.data.expr.ty.isUnsignedInt(comp),
-        .attributed => ty.data.attributed.base.isUnsignedInt(comp),
-        else => false,
+        .bit_int, .complex_bit_int => ty.data.int.signedness,
+        .typeof_type => ty.data.sub_type.signedness(comp),
+        .typeof_expr => ty.data.expr.ty.signedness(comp),
+        .attributed => ty.data.attributed.base.signedness(comp),
+        else => .signed,
     };
 }
 
@@ -760,7 +764,7 @@ pub fn getRecord(ty: Type) ?*const Type.Record {
     };
 }
 
-fn compareIntegerRanks(a: Type, b: Type, comp: *const Compilation) std.math.Order {
+pub fn compareIntegerRanks(a: Type, b: Type, comp: *const Compilation) std.math.Order {
     std.debug.assert(a.isInt() and b.isInt());
     if (a.eql(b, comp, false)) return .eq;
 
@@ -898,7 +902,7 @@ pub fn bitfieldPromotion(ty: Type, comp: *Compilation, width: u32) ?Type {
 
 pub fn hasIncompleteSize(ty: Type) bool {
     return switch (ty.specifier) {
-        .void, .incomplete_array, .invalid => true,
+        .void, .incomplete_array => true,
         .@"enum" => ty.data.@"enum".isIncomplete() and !ty.data.@"enum".fixed,
         .@"struct", .@"union" => ty.data.record.isIncomplete(),
         .array, .static_array => ty.data.array.elem.hasIncompleteSize(),
@@ -958,6 +962,7 @@ pub fn hasField(ty: Type, name: StringId) bool {
     return false;
 }
 
+// TODO handle bitints
 pub fn minInt(ty: Type, comp: *const Compilation) i64 {
     std.debug.assert(ty.isInt());
     if (ty.isUnsignedInt(comp)) return 0;
@@ -970,6 +975,7 @@ pub fn minInt(ty: Type, comp: *const Compilation) i64 {
     };
 }
 
+// TODO handle bitints
 pub fn maxInt(ty: Type, comp: *const Compilation) u64 {
     std.debug.assert(ty.isInt());
     return switch (ty.sizeof(comp).?) {
@@ -1001,7 +1007,7 @@ pub fn sizeCompare(a: Type, b: Type, comp: *Compilation) TypeSizeOrder {
 /// Size of type as reported by sizeof
 pub fn sizeof(ty: Type, comp: *const Compilation) ?u64 {
     return switch (ty.specifier) {
-        .auto_type => unreachable,
+        .auto_type, .c23_auto => unreachable,
         .variable_len_array, .unspecified_variable_len_array => return null,
         .incomplete_array => return if (comp.langopts.emulate == .msvc) @as(?u64, 0) else null,
         .func, .var_args_func, .old_style_func, .void, .bool => 1,
@@ -1104,7 +1110,7 @@ pub fn alignof(ty: Type, comp: *const Compilation) u29 {
 
     return switch (ty.specifier) {
         .invalid => unreachable,
-        .auto_type => unreachable,
+        .auto_type, .c23_auto => unreachable,
 
         .variable_len_array,
         .incomplete_array,
@@ -1271,7 +1277,7 @@ pub fn eql(a_param: Type, b_param: Type, comp: *const Compilation, check_qualifi
         .func,
         .var_args_func,
         .old_style_func,
-        => if (!a.data.func.eql(b.data.func, a.specifier == .var_args_func, b.specifier == .var_args_func, comp)) return false,
+        => if (!a.data.func.eql(b.data.func, a.specifier, b.specifier, comp)) return false,
 
         .array,
         .static_array,
@@ -1418,7 +1424,7 @@ pub fn combine(inner: *Type, outer: Type) Parser.Error!void {
         .decayed_typeof_type,
         .decayed_typeof_expr,
         => unreachable, // type should not be able to decay before being combined
-        .void => inner.* = outer,
+        .void, .invalid => inner.* = outer,
         else => unreachable,
     }
 }
@@ -1496,6 +1502,8 @@ pub const Builder = struct {
         void,
         /// GNU __auto_type extension
         auto_type,
+        /// C23 auto
+        c23_auto,
         nullptr_t,
         bool,
         char,
@@ -1557,12 +1565,12 @@ pub const Builder = struct {
         complex_int128,
         complex_sint128,
         complex_uint128,
-        bit_int: i16,
-        sbit_int: i16,
-        ubit_int: i16,
-        complex_bit_int: i16,
-        complex_sbit_int: i16,
-        complex_ubit_int: i16,
+        bit_int: u64,
+        sbit_int: u64,
+        ubit_int: u64,
+        complex_bit_int: u64,
+        complex_sbit_int: u64,
+        complex_ubit_int: u64,
 
         fp16,
         float16,
@@ -1608,8 +1616,9 @@ pub const Builder = struct {
                 .none => unreachable,
                 .void => "void",
                 .auto_type => "__auto_type",
+                .c23_auto => "auto",
                 .nullptr_t => "nullptr_t",
-                .bool => if (langopts.standard.atLeast(.c2x)) "bool" else "_Bool",
+                .bool => if (langopts.standard.atLeast(.c23)) "bool" else "_Bool",
                 .char => "char",
                 .schar => "signed char",
                 .uchar => "unsigned char",
@@ -1706,7 +1715,7 @@ pub const Builder = struct {
                 // TODO this really should be easier
                 switch (ty.specifier) {
                     .array, .static_array, .incomplete_array => {
-                        var old = ty.data.array;
+                        const old = ty.data.array;
                         ty.data.array = try p.arena.create(Array);
                         ty.data.array.* = .{
                             .len = old.len,
@@ -1714,7 +1723,7 @@ pub const Builder = struct {
                         };
                     },
                     .variable_len_array, .unspecified_variable_len_array => {
-                        var old = ty.data.expr;
+                        const old = ty.data.expr;
                         ty.data.expr = try p.arena.create(Expr);
                         ty.data.expr.* = .{
                             .node = old.node,
@@ -1738,8 +1747,8 @@ pub const Builder = struct {
                     ty = typeof;
                 } else {
                     ty.specifier = .int;
-                    if (p.comp.langopts.standard.atLeast(.c2x)) {
-                        try p.err(.missing_type_specifier_c2x);
+                    if (p.comp.langopts.standard.atLeast(.c23)) {
+                        try p.err(.missing_type_specifier_c23);
                     } else {
                         try p.err(.missing_type_specifier);
                     }
@@ -1747,6 +1756,7 @@ pub const Builder = struct {
             },
             .void => ty.specifier = .void,
             .auto_type => ty.specifier = .auto_type,
+            .c23_auto => ty.specifier = .c23_auto,
             .nullptr_t => unreachable, // nullptr_t can only be accessed via typeof(nullptr)
             .bool => ty.specifier = .bool,
             .char => ty.specifier = .char,
@@ -1785,17 +1795,17 @@ pub const Builder = struct {
                 if (unsigned) {
                     if (bits < 1) {
                         try p.errStr(.unsigned_bit_int_too_small, b.bit_int_tok.?, b.specifier.str(p.comp.langopts).?);
-                        return error.ParsingFailed;
+                        return Type.invalid;
                     }
                 } else {
                     if (bits < 2) {
                         try p.errStr(.signed_bit_int_too_small, b.bit_int_tok.?, b.specifier.str(p.comp.langopts).?);
-                        return error.ParsingFailed;
+                        return Type.invalid;
                     }
                 }
                 if (bits > Compilation.bit_int_max_bits) {
                     try p.errStr(.bit_int_too_big, b.bit_int_tok.?, b.specifier.str(p.comp.langopts).?);
-                    return error.ParsingFailed;
+                    return Type.invalid;
                 }
                 ty.specifier = if (b.complex_tok != null) .complex_bit_int else .bit_int;
                 ty.data = .{ .int = .{
@@ -2175,6 +2185,10 @@ pub const Builder = struct {
                 .none => .auto_type,
                 else => return b.cannotCombine(p, source_tok),
             },
+            .c23_auto => b.specifier = switch (b.specifier) {
+                .none => .c23_auto,
+                else => return b.cannotCombine(p, source_tok),
+            },
             .fp16 => b.specifier = switch (b.specifier) {
                 .none => .fp16,
                 else => return b.cannotCombine(p, source_tok),
@@ -2292,6 +2306,7 @@ pub const Builder = struct {
         return switch (ty.specifier) {
             .void => .void,
             .auto_type => .auto_type,
+            .c23_auto => .c23_auto,
             .nullptr_t => .nullptr_t,
             .bool => .bool,
             .char => .char,
@@ -2606,7 +2621,10 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
             try ty.data.sub_type.dump(mapper, langopts, w);
         },
         .func, .var_args_func, .old_style_func => {
-            try w.writeAll("fn (");
+            if (ty.specifier == .old_style_func)
+                try w.writeAll("kr (")
+            else
+                try w.writeAll("fn (");
             for (ty.data.func.params, 0..) |param, i| {
                 if (i != 0) try w.writeAll(", ");
                 if (param.name != .empty) try w.print("{s}: ", .{mapper.lookup(param.name)});
@@ -2620,7 +2638,7 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
             try ty.data.func.return_type.dump(mapper, langopts, w);
         },
         .array, .static_array, .decayed_array, .decayed_static_array => {
-            if (ty.specifier == .decayed_array or ty.specifier == .decayed_static_array) try w.writeByte('d');
+            if (ty.specifier == .decayed_array or ty.specifier == .decayed_static_array) try w.writeAll("*d");
             try w.writeByte('[');
             if (ty.specifier == .static_array or ty.specifier == .decayed_static_array) try w.writeAll("static ");
             try w.print("{d}]", .{ty.data.array.len});
@@ -2632,7 +2650,7 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
             try w.writeAll(")");
         },
         .incomplete_array, .decayed_incomplete_array => {
-            if (ty.specifier == .decayed_incomplete_array) try w.writeByte('d');
+            if (ty.specifier == .decayed_incomplete_array) try w.writeAll("*d");
             try w.writeAll("[]");
             try ty.data.array.elem.dump(mapper, langopts, w);
         },
@@ -2655,12 +2673,12 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
             if (dump_detailed_containers) try dumpRecord(ty.data.record, mapper, langopts, w);
         },
         .unspecified_variable_len_array, .decayed_unspecified_variable_len_array => {
-            if (ty.specifier == .decayed_unspecified_variable_len_array) try w.writeByte('d');
+            if (ty.specifier == .decayed_unspecified_variable_len_array) try w.writeAll("*d");
             try w.writeAll("[*]");
             try ty.data.sub_type.dump(mapper, langopts, w);
         },
         .variable_len_array, .decayed_variable_len_array => {
-            if (ty.specifier == .decayed_variable_len_array) try w.writeByte('d');
+            if (ty.specifier == .decayed_variable_len_array) try w.writeAll("*d");
             try w.writeAll("[<expr>]");
             try ty.data.expr.ty.dump(mapper, langopts, w);
         },
deps/aro/aro/Value.zig
@@ -0,0 +1,726 @@
+const std = @import("std");
+const assert = std.debug.assert;
+const BigIntConst = std.math.big.int.Const;
+const BigIntMutable = std.math.big.int.Mutable;
+const backend = @import("backend");
+const Interner = backend.Interner;
+const BigIntSpace = Interner.Tag.Int.BigIntSpace;
+const Compilation = @import("Compilation.zig");
+const Type = @import("Type.zig");
+const target_util = @import("target.zig");
+
+const Value = @This();
+
+opt_ref: Interner.OptRef = .none,
+
+pub const zero = Value{ .opt_ref = .zero };
+pub const one = Value{ .opt_ref = .one };
+pub const @"null" = Value{ .opt_ref = .null };
+
+pub fn intern(comp: *Compilation, k: Interner.Key) !Value {
+    const r = try comp.interner.put(comp.gpa, k);
+    return .{ .opt_ref = @enumFromInt(@intFromEnum(r)) };
+}
+
+pub fn int(i: anytype, comp: *Compilation) !Value {
+    const info = @typeInfo(@TypeOf(i));
+    if (info == .ComptimeInt or info.Int.signedness == .unsigned) {
+        return intern(comp, .{ .int = .{ .u64 = i } });
+    } else {
+        return intern(comp, .{ .int = .{ .i64 = i } });
+    }
+}
+
+pub fn ref(v: Value) Interner.Ref {
+    std.debug.assert(v.opt_ref != .none);
+    return @enumFromInt(@intFromEnum(v.opt_ref));
+}
+
+pub fn is(v: Value, tag: std.meta.Tag(Interner.Key), comp: *const Compilation) bool {
+    if (v.opt_ref == .none) return false;
+    return comp.interner.get(v.ref()) == tag;
+}
+
+/// Number of bits needed to hold `v`.
+/// Asserts that `v` is not negative
+pub fn minUnsignedBits(v: Value, comp: *const Compilation) usize {
+    var space: BigIntSpace = undefined;
+    const big = v.toBigInt(&space, comp);
+    assert(big.positive);
+    return big.bitCountAbs();
+}
+
+test "minUnsignedBits" {
+    const Test = struct {
+        fn checkIntBits(comp: *Compilation, v: u64, expected: usize) !void {
+            const val = try intern(comp, .{ .int = .{ .u64 = v } });
+            try std.testing.expectEqual(expected, val.minUnsignedBits(comp));
+        }
+    };
+
+    var comp = Compilation.init(std.testing.allocator);
+    defer comp.deinit();
+    comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
+
+    try Test.checkIntBits(&comp, 0, 0);
+    try Test.checkIntBits(&comp, 1, 1);
+    try Test.checkIntBits(&comp, 2, 2);
+    try Test.checkIntBits(&comp, std.math.maxInt(i8), 7);
+    try Test.checkIntBits(&comp, std.math.maxInt(u8), 8);
+    try Test.checkIntBits(&comp, std.math.maxInt(i16), 15);
+    try Test.checkIntBits(&comp, std.math.maxInt(u16), 16);
+    try Test.checkIntBits(&comp, std.math.maxInt(i32), 31);
+    try Test.checkIntBits(&comp, std.math.maxInt(u32), 32);
+    try Test.checkIntBits(&comp, std.math.maxInt(i64), 63);
+    try Test.checkIntBits(&comp, std.math.maxInt(u64), 64);
+}
+
+/// Minimum number of bits needed to represent `v` in 2's complement notation
+/// Asserts that `v` is negative.
+pub fn minSignedBits(v: Value, comp: *const Compilation) usize {
+    var space: BigIntSpace = undefined;
+    const big = v.toBigInt(&space, comp);
+    assert(!big.positive);
+    return big.bitCountTwosComp();
+}
+
+test "minSignedBits" {
+    const Test = struct {
+        fn checkIntBits(comp: *Compilation, v: i64, expected: usize) !void {
+            const val = try intern(comp, .{ .int = .{ .i64 = v } });
+            try std.testing.expectEqual(expected, val.minSignedBits(comp));
+        }
+    };
+
+    var comp = Compilation.init(std.testing.allocator);
+    defer comp.deinit();
+    comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
+
+    try Test.checkIntBits(&comp, -1, 1);
+    try Test.checkIntBits(&comp, -2, 2);
+    try Test.checkIntBits(&comp, -10, 5);
+    try Test.checkIntBits(&comp, -101, 8);
+    try Test.checkIntBits(&comp, std.math.minInt(i8), 8);
+    try Test.checkIntBits(&comp, std.math.minInt(i16), 16);
+    try Test.checkIntBits(&comp, std.math.minInt(i32), 32);
+    try Test.checkIntBits(&comp, std.math.minInt(i64), 64);
+}
+
+pub const FloatToIntChangeKind = enum {
+    /// value did not change
+    none,
+    /// floating point number too small or large for destination integer type
+    out_of_range,
+    /// tried to convert a NaN or Infinity
+    overflow,
+    /// fractional value was converted to zero
+    nonzero_to_zero,
+    /// fractional part truncated
+    value_changed,
+};
+
+/// Converts the stored value from a float to an integer.
+/// `.none` value remains unchanged.
+pub fn floatToInt(v: *Value, dest_ty: Type, comp: *Compilation) !FloatToIntChangeKind {
+    if (v.opt_ref == .none) return .none;
+
+    const float_val = v.toFloat(f128, comp);
+    const was_zero = float_val == 0;
+
+    if (dest_ty.is(.bool)) {
+        const was_one = float_val == 1.0;
+        v.* = fromBool(!was_zero);
+        if (was_zero or was_one) return .none;
+        return .value_changed;
+    } else if (dest_ty.isUnsignedInt(comp) and v.compare(.lt, zero, comp)) {
+        v.* = zero;
+        return .out_of_range;
+    }
+
+    const had_fraction = @rem(float_val, 1) != 0;
+    const is_negative = std.math.signbit(float_val);
+    const floored = @floor(@abs(float_val));
+
+    var rational = try std.math.big.Rational.init(comp.gpa);
+    defer rational.deinit();
+    rational.setFloat(f128, floored) catch |err| switch (err) {
+        error.NonFiniteFloat => {
+            v.* = .{};
+            return .overflow;
+        },
+        error.OutOfMemory => return error.OutOfMemory,
+    };
+
+    // The float is reduced in rational.setFloat, so we assert that denominator is equal to one
+    const big_one = std.math.big.int.Const{ .limbs = &.{1}, .positive = true };
+    assert(rational.q.toConst().eqlAbs(big_one));
+
+    if (is_negative) {
+        rational.negate();
+    }
+
+    const signedness = dest_ty.signedness(comp);
+    const bits: usize = @intCast(dest_ty.bitSizeof(comp).?);
+
+    // rational.p.truncate(rational.p.toConst(), signedness: Signedness, bit_count: usize)
+    const fits = rational.p.fitsInTwosComp(signedness, bits);
+    v.* = try intern(comp, .{ .int = .{ .big_int = rational.p.toConst() } });
+    try rational.p.truncate(&rational.p, signedness, bits);
+
+    if (!was_zero and v.isZero(comp)) return .nonzero_to_zero;
+    if (!fits) return .out_of_range;
+    if (had_fraction) return .value_changed;
+    return .none;
+}
+
+/// Converts the stored value from an integer to a float.
+/// `.none` value remains unchanged.
+pub fn intToFloat(v: *Value, dest_ty: Type, comp: *Compilation) !void {
+    if (v.opt_ref == .none) return;
+    const bits = dest_ty.bitSizeof(comp).?;
+    return switch (comp.interner.get(v.ref()).int) {
+        inline .u64, .i64 => |data| {
+            const f: Interner.Key.Float = switch (bits) {
+                16 => .{ .f16 = @floatFromInt(data) },
+                32 => .{ .f32 = @floatFromInt(data) },
+                64 => .{ .f64 = @floatFromInt(data) },
+                80 => .{ .f80 = @floatFromInt(data) },
+                128 => .{ .f128 = @floatFromInt(data) },
+                else => unreachable,
+            };
+            v.* = try intern(comp, .{ .float = f });
+        },
+        .big_int => |data| {
+            const big_f = bigIntToFloat(data.limbs, data.positive);
+            const f: Interner.Key.Float = switch (bits) {
+                16 => .{ .f16 = @floatCast(big_f) },
+                32 => .{ .f32 = @floatCast(big_f) },
+                64 => .{ .f64 = @floatCast(big_f) },
+                80 => .{ .f80 = @floatCast(big_f) },
+                128 => .{ .f128 = @floatCast(big_f) },
+                else => unreachable,
+            };
+            v.* = try intern(comp, .{ .float = f });
+        },
+    };
+}
+
+/// Truncates or extends bits based on type.
+/// `.none` value remains unchanged.
+pub fn intCast(v: *Value, dest_ty: Type, comp: *Compilation) !void {
+    if (v.opt_ref == .none) return;
+    const bits: usize = @intCast(dest_ty.bitSizeof(comp).?);
+    var space: BigIntSpace = undefined;
+    const big = v.toBigInt(&space, comp);
+
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        std.math.big.int.calcTwosCompLimbCount(bits),
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+    result_bigint.truncate(big, dest_ty.signedness(comp), bits);
+
+    v.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+/// Converts the stored value from an integer to a float.
+/// `.none` value remains unchanged.
+pub fn floatCast(v: *Value, dest_ty: Type, comp: *Compilation) !void {
+    if (v.opt_ref == .none) return;
+    // TODO complex values
+    const bits = dest_ty.makeReal().bitSizeof(comp).?;
+    const f: Interner.Key.Float = switch (bits) {
+        16 => .{ .f16 = v.toFloat(f16, comp) },
+        32 => .{ .f32 = v.toFloat(f32, comp) },
+        64 => .{ .f64 = v.toFloat(f64, comp) },
+        80 => .{ .f80 = v.toFloat(f80, comp) },
+        128 => .{ .f128 = v.toFloat(f128, comp) },
+        else => unreachable,
+    };
+    v.* = try intern(comp, .{ .float = f });
+}
+
+pub fn toFloat(v: Value, comptime T: type, comp: *const Compilation) T {
+    return switch (comp.interner.get(v.ref())) {
+        .int => |repr| switch (repr) {
+            inline .u64, .i64 => |data| @floatFromInt(data),
+            .big_int => |data| @floatCast(bigIntToFloat(data.limbs, data.positive)),
+        },
+        .float => |repr| switch (repr) {
+            inline else => |data| @floatCast(data),
+        },
+        else => unreachable,
+    };
+}
+
+fn bigIntToFloat(limbs: []const std.math.big.Limb, positive: bool) f128 {
+    if (limbs.len == 0) return 0;
+
+    const base = std.math.maxInt(std.math.big.Limb) + 1;
+    var result: f128 = 0;
+    var i: usize = limbs.len;
+    while (i != 0) {
+        i -= 1;
+        const limb: f128 = @as(f128, @floatFromInt(limbs[i]));
+        result = @mulAdd(f128, base, result, limb);
+    }
+    if (positive) {
+        return result;
+    } else {
+        return -result;
+    }
+}
+
+pub fn toBigInt(val: Value, space: *BigIntSpace, comp: *const Compilation) BigIntConst {
+    return switch (comp.interner.get(val.ref()).int) {
+        inline .u64, .i64 => |x| BigIntMutable.init(&space.limbs, x).toConst(),
+        .big_int => |b| b,
+    };
+}
+
+pub fn isZero(v: Value, comp: *const Compilation) bool {
+    if (v.opt_ref == .none) return false;
+    switch (v.ref()) {
+        .zero => return true,
+        .one => return false,
+        .null => return target_util.nullRepr(comp.target) == 0,
+        else => {},
+    }
+    const key = comp.interner.get(v.ref());
+    switch (key) {
+        .float => |repr| switch (repr) {
+            inline else => |data| return data == 0,
+        },
+        .int => |repr| switch (repr) {
+            inline .i64, .u64 => |data| return data == 0,
+            .big_int => |data| return data.eqlZero(),
+        },
+        .bytes => return false,
+        else => unreachable,
+    }
+}
+
+/// Converts value to zero or one;
+/// `.none` value remains unchanged.
+pub fn boolCast(v: *Value, comp: *const Compilation) void {
+    if (v.opt_ref == .none) return;
+    v.* = fromBool(v.toBool(comp));
+}
+
+pub fn fromBool(b: bool) Value {
+    return if (b) one else zero;
+}
+
+pub fn toBool(v: Value, comp: *const Compilation) bool {
+    return !v.isZero(comp);
+}
+
+pub fn toInt(v: Value, comptime T: type, comp: *const Compilation) ?T {
+    if (v.opt_ref == .none) return null;
+    if (comp.interner.get(v.ref()) != .int) return null;
+    var space: BigIntSpace = undefined;
+    const big_int = v.toBigInt(&space, comp);
+    return big_int.to(T) catch null;
+}
+
+pub fn add(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    if (ty.isFloat()) {
+        const f: Interner.Key.Float = switch (bits) {
+            16 => .{ .f16 = lhs.toFloat(f16, comp) + rhs.toFloat(f16, comp) },
+            32 => .{ .f32 = lhs.toFloat(f32, comp) + rhs.toFloat(f32, comp) },
+            64 => .{ .f64 = lhs.toFloat(f64, comp) + rhs.toFloat(f64, comp) },
+            80 => .{ .f80 = lhs.toFloat(f80, comp) + rhs.toFloat(f80, comp) },
+            128 => .{ .f128 = lhs.toFloat(f128, comp) + rhs.toFloat(f128, comp) },
+            else => unreachable,
+        };
+        res.* = try intern(comp, .{ .float = f });
+        return false;
+    } else {
+        var lhs_space: BigIntSpace = undefined;
+        var rhs_space: BigIntSpace = undefined;
+        const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+        const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+        const limbs = try comp.gpa.alloc(
+            std.math.big.Limb,
+            std.math.big.int.calcTwosCompLimbCount(bits),
+        );
+        defer comp.gpa.free(limbs);
+        var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+        const overflowed = result_bigint.addWrap(lhs_bigint, rhs_bigint, ty.signedness(comp), bits);
+        res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+        return overflowed;
+    }
+}
+
+pub fn sub(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    if (ty.isFloat()) {
+        const f: Interner.Key.Float = switch (bits) {
+            16 => .{ .f16 = lhs.toFloat(f16, comp) - rhs.toFloat(f16, comp) },
+            32 => .{ .f32 = lhs.toFloat(f32, comp) - rhs.toFloat(f32, comp) },
+            64 => .{ .f64 = lhs.toFloat(f64, comp) - rhs.toFloat(f64, comp) },
+            80 => .{ .f80 = lhs.toFloat(f80, comp) - rhs.toFloat(f80, comp) },
+            128 => .{ .f128 = lhs.toFloat(f128, comp) - rhs.toFloat(f128, comp) },
+            else => unreachable,
+        };
+        res.* = try intern(comp, .{ .float = f });
+        return false;
+    } else {
+        var lhs_space: BigIntSpace = undefined;
+        var rhs_space: BigIntSpace = undefined;
+        const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+        const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+        const limbs = try comp.gpa.alloc(
+            std.math.big.Limb,
+            std.math.big.int.calcTwosCompLimbCount(bits),
+        );
+        defer comp.gpa.free(limbs);
+        var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+        const overflowed = result_bigint.subWrap(lhs_bigint, rhs_bigint, ty.signedness(comp), bits);
+        res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+        return overflowed;
+    }
+}
+
+pub fn mul(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    if (ty.isFloat()) {
+        const f: Interner.Key.Float = switch (bits) {
+            16 => .{ .f16 = lhs.toFloat(f16, comp) * rhs.toFloat(f16, comp) },
+            32 => .{ .f32 = lhs.toFloat(f32, comp) * rhs.toFloat(f32, comp) },
+            64 => .{ .f64 = lhs.toFloat(f64, comp) * rhs.toFloat(f64, comp) },
+            80 => .{ .f80 = lhs.toFloat(f80, comp) * rhs.toFloat(f80, comp) },
+            128 => .{ .f128 = lhs.toFloat(f128, comp) * rhs.toFloat(f128, comp) },
+            else => unreachable,
+        };
+        res.* = try intern(comp, .{ .float = f });
+        return false;
+    } else {
+        var lhs_space: BigIntSpace = undefined;
+        var rhs_space: BigIntSpace = undefined;
+        const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+        const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+        const limbs = try comp.gpa.alloc(
+            std.math.big.Limb,
+            lhs_bigint.limbs.len + rhs_bigint.limbs.len,
+        );
+        defer comp.gpa.free(limbs);
+        var result_bigint = BigIntMutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+        const limbs_buffer = try comp.gpa.alloc(
+            std.math.big.Limb,
+            std.math.big.int.calcMulLimbsBufferLen(lhs_bigint.limbs.len, rhs_bigint.limbs.len, 1),
+        );
+        defer comp.gpa.free(limbs_buffer);
+
+        result_bigint.mul(lhs_bigint, rhs_bigint, limbs_buffer, comp.gpa);
+
+        const signedness = ty.signedness(comp);
+        const overflowed = !result_bigint.toConst().fitsInTwosComp(signedness, bits);
+        if (overflowed) {
+            result_bigint.truncate(result_bigint.toConst(), signedness, bits);
+        }
+        res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+        return overflowed;
+    }
+}
+
+/// caller guarantees rhs != 0
+pub fn div(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    if (ty.isFloat()) {
+        const f: Interner.Key.Float = switch (bits) {
+            16 => .{ .f16 = lhs.toFloat(f16, comp) / rhs.toFloat(f16, comp) },
+            32 => .{ .f32 = lhs.toFloat(f32, comp) / rhs.toFloat(f32, comp) },
+            64 => .{ .f64 = lhs.toFloat(f64, comp) / rhs.toFloat(f64, comp) },
+            80 => .{ .f80 = lhs.toFloat(f80, comp) / rhs.toFloat(f80, comp) },
+            128 => .{ .f128 = lhs.toFloat(f128, comp) / rhs.toFloat(f128, comp) },
+            else => unreachable,
+        };
+        res.* = try intern(comp, .{ .float = f });
+        return false;
+    } else {
+        var lhs_space: BigIntSpace = undefined;
+        var rhs_space: BigIntSpace = undefined;
+        const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+        const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+        const limbs_q = try comp.gpa.alloc(
+            std.math.big.Limb,
+            lhs_bigint.limbs.len,
+        );
+        defer comp.gpa.free(limbs_q);
+        var result_q = BigIntMutable{ .limbs = limbs_q, .positive = undefined, .len = undefined };
+
+        const limbs_r = try comp.gpa.alloc(
+            std.math.big.Limb,
+            rhs_bigint.limbs.len,
+        );
+        defer comp.gpa.free(limbs_r);
+        var result_r = BigIntMutable{ .limbs = limbs_r, .positive = undefined, .len = undefined };
+
+        const limbs_buffer = try comp.gpa.alloc(
+            std.math.big.Limb,
+            std.math.big.int.calcDivLimbsBufferLen(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+        );
+        defer comp.gpa.free(limbs_buffer);
+
+        result_q.divTrunc(&result_r, lhs_bigint, rhs_bigint, limbs_buffer);
+
+        res.* = try intern(comp, .{ .int = .{ .big_int = result_q.toConst() } });
+        return !result_q.toConst().fitsInTwosComp(ty.signedness(comp), bits);
+    }
+}
+
+/// caller guarantees rhs != 0
+/// caller guarantees lhs != std.math.minInt(T) OR rhs != -1
+pub fn rem(lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !Value {
+    var lhs_space: BigIntSpace = undefined;
+    var rhs_space: BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+    const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+    const signedness = ty.signedness(comp);
+    if (signedness == .signed) {
+        var spaces: [3]BigIntSpace = undefined;
+        const min_val = BigIntMutable.init(&spaces[0].limbs, ty.minInt(comp)).toConst();
+        const negative = BigIntMutable.init(&spaces[1].limbs, -1).toConst();
+        const big_one = BigIntMutable.init(&spaces[2].limbs, 1).toConst();
+        if (lhs_bigint.eql(min_val) and rhs_bigint.eql(negative)) {
+            return .{};
+        } else if (rhs_bigint.order(big_one).compare(.lt)) {
+            // lhs - @divTrunc(lhs, rhs) * rhs
+            var tmp: Value = undefined;
+            _ = try tmp.div(lhs, rhs, ty, comp);
+            _ = try tmp.mul(tmp, rhs, ty, comp);
+            _ = try tmp.sub(lhs, tmp, ty, comp);
+            return tmp;
+        }
+    }
+
+    const limbs_q = try comp.gpa.alloc(
+        std.math.big.Limb,
+        lhs_bigint.limbs.len,
+    );
+    defer comp.gpa.free(limbs_q);
+    var result_q = BigIntMutable{ .limbs = limbs_q, .positive = undefined, .len = undefined };
+
+    const limbs_r = try comp.gpa.alloc(
+        std.math.big.Limb,
+        rhs_bigint.limbs.len,
+    );
+    defer comp.gpa.free(limbs_r);
+    var result_r = BigIntMutable{ .limbs = limbs_r, .positive = undefined, .len = undefined };
+
+    const limbs_buffer = try comp.gpa.alloc(
+        std.math.big.Limb,
+        std.math.big.int.calcDivLimbsBufferLen(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+    );
+    defer comp.gpa.free(limbs_buffer);
+
+    result_q.divTrunc(&result_r, lhs_bigint, rhs_bigint, limbs_buffer);
+    return intern(comp, .{ .int = .{ .big_int = result_r.toConst() } });
+}
+
+pub fn bitOr(lhs: Value, rhs: Value, comp: *Compilation) !Value {
+    var lhs_space: BigIntSpace = undefined;
+    var rhs_space: BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+    const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        @max(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+    result_bigint.bitOr(lhs_bigint, rhs_bigint);
+    return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn bitXor(lhs: Value, rhs: Value, comp: *Compilation) !Value {
+    var lhs_space: BigIntSpace = undefined;
+    var rhs_space: BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+    const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        @max(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+    result_bigint.bitXor(lhs_bigint, rhs_bigint);
+    return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn bitAnd(lhs: Value, rhs: Value, comp: *Compilation) !Value {
+    var lhs_space: BigIntSpace = undefined;
+    var rhs_space: BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+    const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        @max(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+    result_bigint.bitAnd(lhs_bigint, rhs_bigint);
+    return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn bitNot(val: Value, ty: Type, comp: *Compilation) !Value {
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    var val_space: Value.BigIntSpace = undefined;
+    const val_bigint = val.toBigInt(&val_space, comp);
+
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        std.math.big.int.calcTwosCompLimbCount(bits),
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+    result_bigint.bitNotWrap(val_bigint, ty.signedness(comp), bits);
+    return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn shl(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+    var lhs_space: Value.BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+    const shift = rhs.toInt(usize, comp) orelse std.math.maxInt(usize);
+
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    if (shift > bits) {
+        if (lhs_bigint.positive) {
+            res.* = try intern(comp, .{ .int = .{ .u64 = ty.maxInt(comp) } });
+        } else {
+            res.* = try intern(comp, .{ .int = .{ .i64 = ty.minInt(comp) } });
+        }
+        return true;
+    }
+
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        lhs_bigint.limbs.len + (shift / (@sizeOf(std.math.big.Limb) * 8)) + 1,
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+    result_bigint.shiftLeft(lhs_bigint, shift);
+    const signedness = ty.signedness(comp);
+    const overflowed = !result_bigint.toConst().fitsInTwosComp(signedness, bits);
+    if (overflowed) {
+        result_bigint.truncate(result_bigint.toConst(), signedness, bits);
+    }
+    res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+    return overflowed;
+}
+
+pub fn shr(lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !Value {
+    var lhs_space: Value.BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+    const shift = rhs.toInt(usize, comp) orelse return zero;
+
+    const result_limbs = lhs_bigint.limbs.len -| (shift / (@sizeOf(std.math.big.Limb) * 8));
+    if (result_limbs == 0) {
+        // The shift is enough to remove all the bits from the number, which means the
+        // result is 0 or -1 depending on the sign.
+        if (lhs_bigint.positive) {
+            return zero;
+        } else {
+            return intern(comp, .{ .int = .{ .i64 = -1 } });
+        }
+    }
+
+    const bits: usize = @intCast(ty.bitSizeof(comp).?);
+    const limbs = try comp.gpa.alloc(
+        std.math.big.Limb,
+        std.math.big.int.calcTwosCompLimbCount(bits),
+    );
+    defer comp.gpa.free(limbs);
+    var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+    result_bigint.shiftRight(lhs_bigint, shift);
+    return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn compare(lhs: Value, op: std.math.CompareOperator, rhs: Value, comp: *const Compilation) bool {
+    if (op == .eq) {
+        return lhs.opt_ref == rhs.opt_ref;
+    } else if (lhs.opt_ref == rhs.opt_ref) {
+        return std.math.Order.eq.compare(op);
+    }
+
+    const lhs_key = comp.interner.get(lhs.ref());
+    const rhs_key = comp.interner.get(rhs.ref());
+    if (lhs_key == .float or rhs_key == .float) {
+        const lhs_f128 = lhs.toFloat(f128, comp);
+        const rhs_f128 = rhs.toFloat(f128, comp);
+        return std.math.compare(lhs_f128, op, rhs_f128);
+    }
+
+    var lhs_bigint_space: BigIntSpace = undefined;
+    var rhs_bigint_space: BigIntSpace = undefined;
+    const lhs_bigint = lhs.toBigInt(&lhs_bigint_space, comp);
+    const rhs_bigint = rhs.toBigInt(&rhs_bigint_space, comp);
+    return lhs_bigint.order(rhs_bigint).compare(op);
+}
+
+pub fn print(v: Value, ty: Type, comp: *const Compilation, w: anytype) @TypeOf(w).Error!void {
+    if (ty.is(.bool)) {
+        return w.writeAll(if (v.isZero(comp)) "false" else "true");
+    }
+    const key = comp.interner.get(v.ref());
+    switch (key) {
+        .null => return w.writeAll("nullptr_t"),
+        .int => |repr| switch (repr) {
+            inline else => |x| return w.print("{d}", .{x}),
+        },
+        .float => |repr| switch (repr) {
+            .f16 => |x| return w.print("{d}", .{@round(@as(f64, @floatCast(x)) * 1000) / 1000}),
+            .f32 => |x| return w.print("{d}", .{@round(@as(f64, @floatCast(x)) * 1000000) / 1000000}),
+            inline else => |x| return w.print("{d}", .{@as(f64, @floatCast(x))}),
+        },
+        .bytes => |b| return printString(b, ty, comp, w),
+        else => unreachable, // not a value
+    }
+}
+
+pub fn printString(bytes: []const u8, ty: Type, comp: *const Compilation, w: anytype) @TypeOf(w).Error!void {
+    const size: Compilation.CharUnitSize = @enumFromInt(ty.elemType().sizeof(comp).?);
+    const without_null = bytes[0 .. bytes.len - @intFromEnum(size)];
+    switch (size) {
+        inline .@"1", .@"2" => |sz| {
+            const data_slice: []const sz.Type() = @alignCast(std.mem.bytesAsSlice(sz.Type(), without_null));
+            const formatter = if (sz == .@"1") std.zig.fmtEscapes(data_slice) else std.unicode.fmtUtf16le(data_slice);
+            try w.print("\"{}\"", .{formatter});
+        },
+        .@"4" => {
+            try w.writeByte('"');
+            const data_slice = std.mem.bytesAsSlice(u32, without_null);
+            var buf: [4]u8 = undefined;
+            for (data_slice) |item| {
+                if (item <= std.math.maxInt(u21) and std.unicode.utf8ValidCodepoint(@intCast(item))) {
+                    const codepoint: u21 = @intCast(item);
+                    const written = std.unicode.utf8Encode(codepoint, &buf) catch unreachable;
+                    try w.print("{s}", .{buf[0..written]});
+                } else {
+                    try w.print("\\x{x}", .{item});
+                }
+            }
+            try w.writeByte('"');
+        },
+    }
+}
deps/aro/backend/Ir/x86/Renderer.zig
@@ -0,0 +1,65 @@
+const std = @import("std");
+const Allocator = std.mem.Allocator;
+const assert = std.debug.assert;
+const Interner = @import("../../Interner.zig");
+const Ir = @import("../../Ir.zig");
+const BaseRenderer = Ir.Renderer;
+const zig = @import("zig");
+const abi = zig.arch.x86_64.abi;
+const bits = zig.arch.x86_64.bits;
+
+const Condition = bits.Condition;
+const Immediate = bits.Immediate;
+const Memory = bits.Memory;
+const Register = bits.Register;
+const RegisterLock = RegisterManager.RegisterLock;
+const FrameIndex = bits.FrameIndex;
+
+const RegisterManager = zig.RegisterManager(Renderer, Register, Ir.Ref, abi.allocatable_regs);
+
+// Register classes
+const RegisterBitSet = RegisterManager.RegisterBitSet;
+const RegisterClass = struct {
+    const gp: RegisterBitSet = blk: {
+        var set = RegisterBitSet.initEmpty();
+        for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .general_purpose) set.set(index);
+        break :blk set;
+    };
+    const x87: RegisterBitSet = blk: {
+        var set = RegisterBitSet.initEmpty();
+        for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .x87) set.set(index);
+        break :blk set;
+    };
+    const sse: RegisterBitSet = blk: {
+        var set = RegisterBitSet.initEmpty();
+        for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .sse) set.set(index);
+        break :blk set;
+    };
+};
+
+const Renderer = @This();
+
+base: *BaseRenderer,
+interner: *Interner,
+
+register_manager: RegisterManager = .{},
+
+pub fn render(base: *BaseRenderer) !void {
+    var renderer: Renderer = .{
+        .base = base,
+        .interner = base.ir.interner,
+    };
+
+    for (renderer.base.ir.decls.keys(), renderer.base.ir.decls.values()) |name, decl| {
+        renderer.renderFn(name, decl) catch |e| switch (e) {
+            error.OutOfMemory => return e,
+            error.LowerFail => continue,
+        };
+    }
+    if (renderer.base.errors.entries.len != 0) return error.LowerFail;
+}
+
+fn renderFn(r: *Renderer, name: []const u8, decl: Ir.Decl) !void {
+    _ = decl;
+    return r.base.fail(name, "TODO implement lowering functions", .{});
+}
deps/aro/object/Elf.zig → deps/aro/backend/Object/Elf.zig
@@ -1,9 +1,8 @@
 const std = @import("std");
-const Compilation = @import("../Compilation.zig");
+const Allocator = std.mem.Allocator;
+const Target = std.Target;
 const Object = @import("../Object.zig");
 
-const Elf = @This();
-
 const Section = struct {
     data: std.ArrayList(u8),
     relocations: std.ArrayListUnmanaged(Relocation) = .{},
@@ -34,6 +33,8 @@ const strtab_default = "\x00.strtab\x00.symtab\x00";
 const strtab_name = 1;
 const symtab_name = "\x00.strtab\x00".len;
 
+const Elf = @This();
+
 obj: Object,
 /// The keys are owned by the Codegen.tree
 sections: std.StringHashMapUnmanaged(*Section) = .{},
@@ -43,11 +44,11 @@ unnamed_symbol_mangle: u32 = 0,
 strtab_len: u64 = strtab_default.len,
 arena: std.heap.ArenaAllocator,
 
-pub fn create(comp: *Compilation) !*Object {
-    const elf = try comp.gpa.create(Elf);
+pub fn create(gpa: Allocator, target: Target) !*Object {
+    const elf = try gpa.create(Elf);
     elf.* = .{
-        .obj = .{ .format = .elf, .comp = comp },
-        .arena = std.heap.ArenaAllocator.init(comp.gpa),
+        .obj = .{ .format = .elf, .target = target },
+        .arena = std.heap.ArenaAllocator.init(gpa),
     };
     return &elf.obj;
 }
@@ -195,10 +196,10 @@ pub fn finish(elf: *Elf, file: std.fs.File) !void {
     const sh_offset = strtab_offset + elf.strtab_len;
     const sh_offset_aligned = std.mem.alignForward(u64, sh_offset, 16);
 
-    var elf_header = std.elf.Elf64_Ehdr{
+    const elf_header = std.elf.Elf64_Ehdr{
         .e_ident = .{ 0x7F, 'E', 'L', 'F', 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
         .e_type = std.elf.ET.REL, // we only produce relocatables
-        .e_machine = elf.obj.comp.target.cpu.arch.toElfMachine(),
+        .e_machine = elf.obj.target.cpu.arch.toElfMachine(),
         .e_version = 1,
         .e_entry = 0, // linker will handle this
         .e_phoff = 0, // no program header
@@ -298,7 +299,7 @@ pub fn finish(elf: *Elf, file: std.fs.File) !void {
 
     // write strtab section header
     {
-        var sect_header = std.elf.Elf64_Shdr{
+        const sect_header = std.elf.Elf64_Shdr{
             .sh_name = strtab_name,
             .sh_type = std.elf.SHT_STRTAB,
             .sh_flags = 0,
@@ -315,7 +316,7 @@ pub fn finish(elf: *Elf, file: std.fs.File) !void {
 
     // write symtab section header
     {
-        var sect_header = std.elf.Elf64_Shdr{
+        const sect_header = std.elf.Elf64_Shdr{
             .sh_name = symtab_name,
             .sh_type = std.elf.SHT_SYMTAB,
             .sh_flags = 0,
deps/aro/backend/Interner.zig
@@ -0,0 +1,647 @@
+const std = @import("std");
+const Allocator = std.mem.Allocator;
+const assert = std.debug.assert;
+const BigIntConst = std.math.big.int.Const;
+const BigIntMutable = std.math.big.int.Mutable;
+const Hash = std.hash.Wyhash;
+const Limb = std.math.big.Limb;
+
+const Interner = @This();
+
+map: std.AutoArrayHashMapUnmanaged(void, void) = .{},
+items: std.MultiArrayList(struct {
+    tag: Tag,
+    data: u32,
+}) = .{},
+extra: std.ArrayListUnmanaged(u32) = .{},
+limbs: std.ArrayListUnmanaged(Limb) = .{},
+strings: std.ArrayListUnmanaged(u8) = .{},
+
+const KeyAdapter = struct {
+    interner: *const Interner,
+
+    pub fn eql(adapter: KeyAdapter, a: Key, b_void: void, b_map_index: usize) bool {
+        _ = b_void;
+        return adapter.interner.get(@as(Ref, @enumFromInt(b_map_index))).eql(a);
+    }
+
+    pub fn hash(adapter: KeyAdapter, a: Key) u32 {
+        _ = adapter;
+        return a.hash();
+    }
+};
+
+pub const Key = union(enum) {
+    int_ty: u16,
+    float_ty: u16,
+    ptr_ty,
+    noreturn_ty,
+    void_ty,
+    func_ty,
+    array_ty: struct {
+        len: u64,
+        child: Ref,
+    },
+    vector_ty: struct {
+        len: u32,
+        child: Ref,
+    },
+    record_ty: []const Ref,
+    /// May not be zero
+    null,
+    int: union(enum) {
+        u64: u64,
+        i64: i64,
+        big_int: BigIntConst,
+
+        pub fn toBigInt(repr: @This(), space: *Tag.Int.BigIntSpace) BigIntConst {
+            return switch (repr) {
+                .big_int => |x| x,
+                inline .u64, .i64 => |x| BigIntMutable.init(&space.limbs, x).toConst(),
+            };
+        }
+    },
+    float: Float,
+    bytes: []const u8,
+
+    pub const Float = union(enum) {
+        f16: f16,
+        f32: f32,
+        f64: f64,
+        f80: f80,
+        f128: f128,
+    };
+
+    pub fn hash(key: Key) u32 {
+        var hasher = Hash.init(0);
+        const tag = std.meta.activeTag(key);
+        std.hash.autoHash(&hasher, tag);
+        switch (key) {
+            .bytes => |bytes| {
+                hasher.update(bytes);
+            },
+            .record_ty => |elems| for (elems) |elem| {
+                std.hash.autoHash(&hasher, elem);
+            },
+            .float => |repr| switch (repr) {
+                inline else => |data| std.hash.autoHash(
+                    &hasher,
+                    @as(std.meta.Int(.unsigned, @bitSizeOf(@TypeOf(data))), @bitCast(data)),
+                ),
+            },
+            .int => |repr| {
+                var space: Tag.Int.BigIntSpace = undefined;
+                const big = repr.toBigInt(&space);
+                std.hash.autoHash(&hasher, big.positive);
+                for (big.limbs) |limb| std.hash.autoHash(&hasher, limb);
+            },
+            inline else => |info| {
+                std.hash.autoHash(&hasher, info);
+            },
+        }
+        return @truncate(hasher.final());
+    }
+
+    pub fn eql(a: Key, b: Key) bool {
+        const KeyTag = std.meta.Tag(Key);
+        const a_tag: KeyTag = a;
+        const b_tag: KeyTag = b;
+        if (a_tag != b_tag) return false;
+        switch (a) {
+            .record_ty => |a_elems| {
+                const b_elems = b.record_ty;
+                if (a_elems.len != b_elems.len) return false;
+                for (a_elems, b_elems) |a_elem, b_elem| {
+                    if (a_elem != b_elem) return false;
+                }
+                return true;
+            },
+            .bytes => |a_bytes| {
+                const b_bytes = b.bytes;
+                return std.mem.eql(u8, a_bytes, b_bytes);
+            },
+            .int => |a_repr| {
+                var a_space: Tag.Int.BigIntSpace = undefined;
+                const a_big = a_repr.toBigInt(&a_space);
+                var b_space: Tag.Int.BigIntSpace = undefined;
+                const b_big = b.int.toBigInt(&b_space);
+
+                return a_big.eql(b_big);
+            },
+            inline else => |a_info, tag| {
+                const b_info = @field(b, @tagName(tag));
+                return std.meta.eql(a_info, b_info);
+            },
+        }
+    }
+
+    fn toRef(key: Key) ?Ref {
+        switch (key) {
+            .int_ty => |bits| switch (bits) {
+                1 => return .i1,
+                8 => return .i8,
+                16 => return .i16,
+                32 => return .i32,
+                64 => return .i64,
+                128 => return .i128,
+                else => {},
+            },
+            .float_ty => |bits| switch (bits) {
+                16 => return .f16,
+                32 => return .f32,
+                64 => return .f64,
+                80 => return .f80,
+                128 => return .f128,
+                else => unreachable,
+            },
+            .ptr_ty => return .ptr,
+            .func_ty => return .func,
+            .noreturn_ty => return .noreturn,
+            .void_ty => return .void,
+            .int => |repr| {
+                var space: Tag.Int.BigIntSpace = undefined;
+                const big = repr.toBigInt(&space);
+                if (big.eqlZero()) return .zero;
+                const big_one = BigIntConst{ .limbs = &.{1}, .positive = true };
+                if (big.eql(big_one)) return .one;
+            },
+            .float => |repr| switch (repr) {
+                inline else => |data| {
+                    if (std.math.isPositiveZero(data)) return .zero;
+                    if (data == 1) return .one;
+                },
+            },
+            .null => return .null,
+            else => {},
+        }
+        return null;
+    }
+};
+
+pub const Ref = enum(u32) {
+    const max = std.math.maxInt(u32);
+
+    ptr = max - 1,
+    noreturn = max - 2,
+    void = max - 3,
+    i1 = max - 4,
+    i8 = max - 5,
+    i16 = max - 6,
+    i32 = max - 7,
+    i64 = max - 8,
+    i128 = max - 9,
+    f16 = max - 10,
+    f32 = max - 11,
+    f64 = max - 12,
+    f80 = max - 13,
+    f128 = max - 14,
+    func = max - 15,
+    zero = max - 16,
+    one = max - 17,
+    null = max - 18,
+    _,
+};
+
+pub const OptRef = enum(u32) {
+    const max = std.math.maxInt(u32);
+
+    none = max - 0,
+    ptr = max - 1,
+    noreturn = max - 2,
+    void = max - 3,
+    i1 = max - 4,
+    i8 = max - 5,
+    i16 = max - 6,
+    i32 = max - 7,
+    i64 = max - 8,
+    i128 = max - 9,
+    f16 = max - 10,
+    f32 = max - 11,
+    f64 = max - 12,
+    f80 = max - 13,
+    f128 = max - 14,
+    func = max - 15,
+    zero = max - 16,
+    one = max - 17,
+    null = max - 18,
+    _,
+};
+
+pub const Tag = enum(u8) {
+    /// `data` is `u16`
+    int_ty,
+    /// `data` is `u16`
+    float_ty,
+    /// `data` is index to `Array`
+    array_ty,
+    /// `data` is index to `Vector`
+    vector_ty,
+    /// `data` is `u32`
+    u32,
+    /// `data` is `i32`
+    i32,
+    /// `data` is `Int`
+    int_positive,
+    /// `data` is `Int`
+    int_negative,
+    /// `data` is `f16`
+    f16,
+    /// `data` is `f32`
+    f32,
+    /// `data` is `F64`
+    f64,
+    /// `data` is `F80`
+    f80,
+    /// `data` is `F128`
+    f128,
+    /// `data` is `Bytes`
+    bytes,
+    /// `data` is `Record`
+    record_ty,
+
+    pub const Array = struct {
+        len0: u32,
+        len1: u32,
+        child: Ref,
+
+        pub fn getLen(a: Array) u64 {
+            return (PackedU64{
+                .a = a.len0,
+                .b = a.len1,
+            }).get();
+        }
+    };
+
+    pub const Vector = struct {
+        len: u32,
+        child: Ref,
+    };
+
+    pub const Int = struct {
+        limbs_index: u32,
+        limbs_len: u32,
+
+        /// Big enough to fit any non-BigInt value
+        pub const BigIntSpace = struct {
+            /// The +1 is headroom so that operations such as incrementing once
+            /// or decrementing once are possible without using an allocator.
+            limbs: [(@sizeOf(u64) / @sizeOf(std.math.big.Limb)) + 1]std.math.big.Limb,
+        };
+    };
+
+    pub const F64 = struct {
+        piece0: u32,
+        piece1: u32,
+
+        pub fn get(self: F64) f64 {
+            const int_bits = @as(u64, self.piece0) | (@as(u64, self.piece1) << 32);
+            return @bitCast(int_bits);
+        }
+
+        fn pack(val: f64) F64 {
+            const bits = @as(u64, @bitCast(val));
+            return .{
+                .piece0 = @as(u32, @truncate(bits)),
+                .piece1 = @as(u32, @truncate(bits >> 32)),
+            };
+        }
+    };
+
+    pub const F80 = struct {
+        piece0: u32,
+        piece1: u32,
+        piece2: u32, // u16 part, top bits
+
+        pub fn get(self: F80) f80 {
+            const int_bits = @as(u80, self.piece0) |
+                (@as(u80, self.piece1) << 32) |
+                (@as(u80, self.piece2) << 64);
+            return @bitCast(int_bits);
+        }
+
+        fn pack(val: f80) F80 {
+            const bits = @as(u80, @bitCast(val));
+            return .{
+                .piece0 = @as(u32, @truncate(bits)),
+                .piece1 = @as(u32, @truncate(bits >> 32)),
+                .piece2 = @as(u16, @truncate(bits >> 64)),
+            };
+        }
+    };
+
+    pub const F128 = struct {
+        piece0: u32,
+        piece1: u32,
+        piece2: u32,
+        piece3: u32,
+
+        pub fn get(self: F128) f128 {
+            const int_bits = @as(u128, self.piece0) |
+                (@as(u128, self.piece1) << 32) |
+                (@as(u128, self.piece2) << 64) |
+                (@as(u128, self.piece3) << 96);
+            return @bitCast(int_bits);
+        }
+
+        fn pack(val: f128) F128 {
+            const bits = @as(u128, @bitCast(val));
+            return .{
+                .piece0 = @as(u32, @truncate(bits)),
+                .piece1 = @as(u32, @truncate(bits >> 32)),
+                .piece2 = @as(u32, @truncate(bits >> 64)),
+                .piece3 = @as(u32, @truncate(bits >> 96)),
+            };
+        }
+    };
+
+    pub const Bytes = struct {
+        strings_index: u32,
+        len: u32,
+    };
+
+    pub const Record = struct {
+        elements_len: u32,
+        // trailing
+        // [elements_len]Ref
+    };
+};
+
+pub const PackedU64 = packed struct(u64) {
+    a: u32,
+    b: u32,
+
+    pub fn get(x: PackedU64) u64 {
+        return @bitCast(x);
+    }
+
+    pub fn init(x: u64) PackedU64 {
+        return @bitCast(x);
+    }
+};
+
+pub fn deinit(i: *Interner, gpa: Allocator) void {
+    i.map.deinit(gpa);
+    i.items.deinit(gpa);
+    i.extra.deinit(gpa);
+    i.limbs.deinit(gpa);
+    i.strings.deinit(gpa);
+}
+
+pub fn put(i: *Interner, gpa: Allocator, key: Key) !Ref {
+    if (key.toRef()) |some| return some;
+    const adapter: KeyAdapter = .{ .interner = i };
+    const gop = try i.map.getOrPutAdapted(gpa, key, adapter);
+    if (gop.found_existing) return @enumFromInt(gop.index);
+    try i.items.ensureUnusedCapacity(gpa, 1);
+
+    switch (key) {
+        .int_ty => |bits| {
+            i.items.appendAssumeCapacity(.{
+                .tag = .int_ty,
+                .data = bits,
+            });
+        },
+        .float_ty => |bits| {
+            i.items.appendAssumeCapacity(.{
+                .tag = .float_ty,
+                .data = bits,
+            });
+        },
+        .array_ty => |info| {
+            const split_len = PackedU64.init(info.len);
+            i.items.appendAssumeCapacity(.{
+                .tag = .array_ty,
+                .data = try i.addExtra(gpa, Tag.Array{
+                    .len0 = split_len.a,
+                    .len1 = split_len.b,
+                    .child = info.child,
+                }),
+            });
+        },
+        .vector_ty => |info| {
+            i.items.appendAssumeCapacity(.{
+                .tag = .vector_ty,
+                .data = try i.addExtra(gpa, Tag.Vector{
+                    .len = info.len,
+                    .child = info.child,
+                }),
+            });
+        },
+        .int => |repr| int: {
+            var space: Tag.Int.BigIntSpace = undefined;
+            const big = repr.toBigInt(&space);
+            switch (repr) {
+                .u64 => |data| if (std.math.cast(u32, data)) |small| {
+                    i.items.appendAssumeCapacity(.{
+                        .tag = .u32,
+                        .data = small,
+                    });
+                    break :int;
+                },
+                .i64 => |data| if (std.math.cast(i32, data)) |small| {
+                    i.items.appendAssumeCapacity(.{
+                        .tag = .i32,
+                        .data = @bitCast(small),
+                    });
+                    break :int;
+                },
+                .big_int => |data| {
+                    if (data.fitsInTwosComp(.unsigned, 32)) {
+                        i.items.appendAssumeCapacity(.{
+                            .tag = .u32,
+                            .data = data.to(u32) catch unreachable,
+                        });
+                        break :int;
+                    } else if (data.fitsInTwosComp(.signed, 32)) {
+                        i.items.appendAssumeCapacity(.{
+                            .tag = .i32,
+                            .data = @bitCast(data.to(i32) catch unreachable),
+                        });
+                        break :int;
+                    }
+                },
+            }
+            const limbs_index: u32 = @intCast(i.limbs.items.len);
+            try i.limbs.appendSlice(gpa, big.limbs);
+            i.items.appendAssumeCapacity(.{
+                .tag = if (big.positive) .int_positive else .int_negative,
+                .data = try i.addExtra(gpa, Tag.Int{
+                    .limbs_index = limbs_index,
+                    .limbs_len = @intCast(big.limbs.len),
+                }),
+            });
+        },
+        .float => |repr| switch (repr) {
+            .f16 => |data| i.items.appendAssumeCapacity(.{
+                .tag = .f16,
+                .data = @as(u16, @bitCast(data)),
+            }),
+            .f32 => |data| i.items.appendAssumeCapacity(.{
+                .tag = .f32,
+                .data = @as(u32, @bitCast(data)),
+            }),
+            .f64 => |data| i.items.appendAssumeCapacity(.{
+                .tag = .f64,
+                .data = try i.addExtra(gpa, Tag.F64.pack(data)),
+            }),
+            .f80 => |data| i.items.appendAssumeCapacity(.{
+                .tag = .f64,
+                .data = try i.addExtra(gpa, Tag.F80.pack(data)),
+            }),
+            .f128 => |data| i.items.appendAssumeCapacity(.{
+                .tag = .f64,
+                .data = try i.addExtra(gpa, Tag.F128.pack(data)),
+            }),
+        },
+        .bytes => |bytes| {
+            const strings_index: u32 = @intCast(i.strings.items.len);
+            try i.strings.appendSlice(gpa, bytes);
+            i.items.appendAssumeCapacity(.{
+                .tag = .bytes,
+                .data = try i.addExtra(gpa, Tag.Bytes{
+                    .strings_index = strings_index,
+                    .len = @intCast(bytes.len),
+                }),
+            });
+        },
+        .record_ty => |elems| {
+            try i.extra.ensureUnusedCapacity(gpa, @typeInfo(Tag.Record).Struct.fields.len +
+                elems.len);
+            i.items.appendAssumeCapacity(.{
+                .tag = .record_ty,
+                .data = i.addExtraAssumeCapacity(Tag.Record{
+                    .elements_len = @intCast(elems.len),
+                }),
+            });
+            i.extra.appendSliceAssumeCapacity(@ptrCast(elems));
+        },
+        .ptr_ty,
+        .noreturn_ty,
+        .void_ty,
+        .func_ty,
+        .null,
+        => unreachable,
+    }
+
+    return @enumFromInt(gop.index);
+}
+
+fn addExtra(i: *Interner, gpa: Allocator, extra: anytype) Allocator.Error!u32 {
+    const fields = @typeInfo(@TypeOf(extra)).Struct.fields;
+    try i.extra.ensureUnusedCapacity(gpa, fields.len);
+    return i.addExtraAssumeCapacity(extra);
+}
+
+fn addExtraAssumeCapacity(i: *Interner, extra: anytype) u32 {
+    const result = @as(u32, @intCast(i.extra.items.len));
+    inline for (@typeInfo(@TypeOf(extra)).Struct.fields) |field| {
+        i.extra.appendAssumeCapacity(switch (field.type) {
+            Ref => @intFromEnum(@field(extra, field.name)),
+            u32 => @field(extra, field.name),
+            else => @compileError("bad field type: " ++ @typeName(field.type)),
+        });
+    }
+    return result;
+}
+
+pub fn get(i: *const Interner, ref: Ref) Key {
+    switch (ref) {
+        .ptr => return .ptr_ty,
+        .func => return .func_ty,
+        .noreturn => return .noreturn_ty,
+        .void => return .void_ty,
+        .i1 => return .{ .int_ty = 1 },
+        .i8 => return .{ .int_ty = 8 },
+        .i16 => return .{ .int_ty = 16 },
+        .i32 => return .{ .int_ty = 32 },
+        .i64 => return .{ .int_ty = 64 },
+        .i128 => return .{ .int_ty = 128 },
+        .f16 => return .{ .float_ty = 16 },
+        .f32 => return .{ .float_ty = 32 },
+        .f64 => return .{ .float_ty = 64 },
+        .f80 => return .{ .float_ty = 80 },
+        .f128 => return .{ .float_ty = 128 },
+        .zero => return .{ .int = .{ .u64 = 0 } },
+        .one => return .{ .int = .{ .u64 = 1 } },
+        .null => return .null,
+        else => {},
+    }
+
+    const item = i.items.get(@intFromEnum(ref));
+    const data = item.data;
+    return switch (item.tag) {
+        .int_ty => .{ .int_ty = @intCast(data) },
+        .float_ty => .{ .float_ty = @intCast(data) },
+        .array_ty => {
+            const array_ty = i.extraData(Tag.Array, data);
+            return .{ .array_ty = .{
+                .len = array_ty.getLen(),
+                .child = array_ty.child,
+            } };
+        },
+        .vector_ty => {
+            const vector_ty = i.extraData(Tag.Vector, data);
+            return .{ .vector_ty = .{
+                .len = vector_ty.len,
+                .child = vector_ty.child,
+            } };
+        },
+        .u32 => .{ .int = .{ .u64 = data } },
+        .i32 => .{ .int = .{ .i64 = @as(i32, @bitCast(data)) } },
+        .int_positive, .int_negative => {
+            const int_info = i.extraData(Tag.Int, data);
+            const limbs = i.limbs.items[int_info.limbs_index..][0..int_info.limbs_len];
+            return .{ .int = .{
+                .big_int = .{
+                    .positive = item.tag == .int_positive,
+                    .limbs = limbs,
+                },
+            } };
+        },
+        .f16 => .{ .float = .{ .f16 = @bitCast(@as(u16, @intCast(data))) } },
+        .f32 => .{ .float = .{ .f32 = @bitCast(data) } },
+        .f64 => {
+            const float = i.extraData(Tag.F64, data);
+            return .{ .float = .{ .f64 = float.get() } };
+        },
+        .f80 => {
+            const float = i.extraData(Tag.F80, data);
+            return .{ .float = .{ .f80 = float.get() } };
+        },
+        .f128 => {
+            const float = i.extraData(Tag.F128, data);
+            return .{ .float = .{ .f128 = float.get() } };
+        },
+        .bytes => {
+            const bytes = i.extraData(Tag.Bytes, data);
+            return .{ .bytes = i.strings.items[bytes.strings_index..][0..bytes.len] };
+        },
+        .record_ty => {
+            const extra = i.extraDataTrail(Tag.Record, data);
+            return .{
+                .record_ty = @ptrCast(i.extra.items[extra.end..][0..extra.data.elements_len]),
+            };
+        },
+    };
+}
+
+fn extraData(i: *const Interner, comptime T: type, index: usize) T {
+    return i.extraDataTrail(T, index).data;
+}
+
+fn extraDataTrail(i: *const Interner, comptime T: type, index: usize) struct { data: T, end: u32 } {
+    var result: T = undefined;
+    const fields = @typeInfo(T).Struct.fields;
+    inline for (fields, 0..) |field, field_i| {
+        const int32 = i.extra.items[field_i + index];
+        @field(result, field.name) = switch (field.type) {
+            Ref => @enumFromInt(int32),
+            u32 => int32,
+            else => @compileError("bad field type: " ++ @typeName(field.type)),
+        };
+    }
+    return .{
+        .data = result,
+        .end = @intCast(index + fields.len),
+    };
+}
deps/aro/Ir.zig → deps/aro/backend/Ir.zig
@@ -1,51 +1,79 @@
 const std = @import("std");
-const assert = std.debug.assert;
 const Allocator = std.mem.Allocator;
-const Compilation = @import("Compilation.zig");
+const assert = std.debug.assert;
 const Interner = @import("Interner.zig");
-const StringId = @import("StringInterner.zig").StringId;
-const Value = @import("Value.zig");
+const Object = @import("Object.zig");
 
 const Ir = @This();
 
-pool: Interner,
-strings: []const u8,
-// decls: std.StringArrayHashMapUnmanaged(Decl),
+interner: *Interner,
+decls: std.StringArrayHashMapUnmanaged(Decl),
+
+pub const Decl = struct {
+    instructions: std.MultiArrayList(Inst),
+    body: std.ArrayListUnmanaged(Ref),
+    arena: std.heap.ArenaAllocator.State,
 
-// pub const Decl = struct {
-instructions: std.MultiArrayList(Inst),
-body: std.ArrayListUnmanaged(Ref),
-arena: std.heap.ArenaAllocator.State,
-// };
+    pub fn deinit(decl: *Decl, gpa: Allocator) void {
+        decl.instructions.deinit(gpa);
+        decl.body.deinit(gpa);
+        decl.arena.promote(gpa).deinit();
+    }
+};
 
 pub const Builder = struct {
     gpa: Allocator,
     arena: std.heap.ArenaAllocator,
+    interner: *Interner,
+
+    decls: std.StringArrayHashMapUnmanaged(Decl) = .{},
     instructions: std.MultiArrayList(Ir.Inst) = .{},
     body: std.ArrayListUnmanaged(Ref) = .{},
     alloc_count: u32 = 0,
     arg_count: u32 = 0,
-    pool: Interner = .{},
     current_label: Ref = undefined,
 
     pub fn deinit(b: *Builder) void {
+        for (b.decls.values()) |*decl| {
+            decl.deinit(b.gpa);
+        }
         b.arena.deinit();
         b.instructions.deinit(b.gpa);
         b.body.deinit(b.gpa);
-        b.pool.deinit(b.gpa);
         b.* = undefined;
     }
 
+    pub fn finish(b: *Builder) Ir {
+        return .{
+            .interner = b.interner,
+            .decls = b.decls.move(),
+        };
+    }
+
     pub fn startFn(b: *Builder) Allocator.Error!void {
-        b.alloc_count = 0;
-        b.arg_count = 0;
-        b.instructions.len = 0;
-        b.body.items.len = 0;
         const entry = try b.makeLabel("entry");
         try b.body.append(b.gpa, entry);
         b.current_label = entry;
     }
 
+    pub fn finishFn(b: *Builder, name: []const u8) !void {
+        var duped_instructions = try b.instructions.clone(b.gpa);
+        errdefer duped_instructions.deinit(b.gpa);
+        var duped_body = try b.body.clone(b.gpa);
+        errdefer duped_body.deinit(b.gpa);
+
+        try b.decls.put(b.gpa, name, .{
+            .instructions = duped_instructions,
+            .body = duped_body,
+            .arena = b.arena.state,
+        });
+        b.instructions.shrinkRetainingCapacity(0);
+        b.body.shrinkRetainingCapacity(0);
+        b.arena = std.heap.ArenaAllocator.init(b.gpa);
+        b.alloc_count = 0;
+        b.arg_count = 0;
+    }
+
     pub fn startBlock(b: *Builder, label: Ref) !void {
         try b.body.append(b.gpa, label);
         b.current_label = label;
@@ -116,15 +144,13 @@ pub const Builder = struct {
         _ = try b.addInst(.store, .{ .bin = .{ .lhs = ptr, .rhs = val } }, .void);
     }
 
-    pub fn addConstant(b: *Builder, val: Value, ty: Interner.Ref) Allocator.Error!Ref {
+    pub fn addConstant(b: *Builder, val: Interner.Ref, ty: Interner.Ref) Allocator.Error!Ref {
         const ref: Ref = @enumFromInt(b.instructions.len);
-        const key: Interner.Key = .{
-            .value = val,
-        };
-        const val_ref = try b.pool.put(b.gpa, key);
-        try b.instructions.append(b.gpa, .{ .tag = .constant, .data = .{
-            .constant = val_ref,
-        }, .ty = ty });
+        try b.instructions.append(b.gpa, .{
+            .tag = .constant,
+            .data = .{ .constant = val },
+            .ty = ty,
+        });
         return ref;
     }
 
@@ -148,6 +174,65 @@ pub const Builder = struct {
     }
 };
 
+pub const Renderer = struct {
+    gpa: Allocator,
+    obj: *Object,
+    ir: *const Ir,
+    errors: ErrorList = .{},
+
+    pub const ErrorList = std.StringArrayHashMapUnmanaged([]const u8);
+
+    pub const Error = Allocator.Error || error{LowerFail};
+
+    pub fn deinit(r: *Renderer) void {
+        for (r.errors.values()) |msg| r.gpa.free(msg);
+        r.errors.deinit(r.gpa);
+    }
+
+    pub fn render(r: *Renderer) !void {
+        switch (r.obj.target.cpu.arch) {
+            .x86, .x86_64 => return @import("Ir/x86/Renderer.zig").render(r),
+            else => unreachable,
+        }
+    }
+
+    pub fn fail(
+        r: *Renderer,
+        name: []const u8,
+        comptime format: []const u8,
+        args: anytype,
+    ) Error {
+        try r.errors.ensureUnusedCapacity(r.gpa, 1);
+        r.errors.putAssumeCapacity(name, try std.fmt.allocPrint(r.gpa, format, args));
+        return error.LowerFail;
+    }
+};
+
+pub fn render(
+    ir: *const Ir,
+    gpa: Allocator,
+    target: std.Target,
+    errors: ?*Renderer.ErrorList,
+) !*Object {
+    const obj = try Object.create(gpa, target);
+    errdefer obj.deinit();
+
+    var renderer: Renderer = .{
+        .gpa = gpa,
+        .obj = obj,
+        .ir = ir,
+    };
+    defer {
+        if (errors) |some| {
+            some.* = renderer.errors.move();
+        }
+        renderer.deinit();
+    }
+
+    try renderer.render();
+    return obj;
+}
+
 pub const Ref = enum(u32) { none = std.math.maxInt(u32), _ };
 
 pub const Inst = struct {
@@ -281,23 +366,30 @@ pub const Inst = struct {
 };
 
 pub fn deinit(ir: *Ir, gpa: std.mem.Allocator) void {
-    ir.arena.promote(gpa).deinit();
-    ir.instructions.deinit(gpa);
+    for (ir.decls.values()) |*decl| {
+        decl.deinit(gpa);
+    }
+    ir.decls.deinit(gpa);
     ir.* = undefined;
 }
 
-const util = @import("util.zig");
-const TYPE = util.Color.purple;
-const INST = util.Color.cyan;
-const REF = util.Color.blue;
-const LITERAL = util.Color.green;
-const ATTRIBUTE = util.Color.yellow;
+const TYPE = std.io.tty.Color.bright_magenta;
+const INST = std.io.tty.Color.bright_cyan;
+const REF = std.io.tty.Color.bright_blue;
+const LITERAL = std.io.tty.Color.bright_green;
+const ATTRIBUTE = std.io.tty.Color.bright_yellow;
 
 const RefMap = std.AutoArrayHashMap(Ref, void);
 
-pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !void {
-    const tags = ir.instructions.items(.tag);
-    const data = ir.instructions.items(.data);
+pub fn dump(ir: *const Ir, gpa: Allocator, config: std.io.tty.Config, w: anytype) !void {
+    for (ir.decls.keys(), ir.decls.values()) |name, *decl| {
+        try ir.dumpDecl(decl, gpa, name, config, w);
+    }
+}
+
+fn dumpDecl(ir: *const Ir, decl: *const Decl, gpa: Allocator, name: []const u8, config: std.io.tty.Config, w: anytype) !void {
+    const tags = decl.instructions.items(.tag);
+    const data = decl.instructions.items(.data);
 
     var ref_map = RefMap.init(gpa);
     defer ref_map.deinit();
@@ -305,40 +397,40 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
     var label_map = RefMap.init(gpa);
     defer label_map.deinit();
 
-    const ret_inst = ir.body.items[ir.body.items.len - 1];
+    const ret_inst = decl.body.items[decl.body.items.len - 1];
     const ret_operand = data[@intFromEnum(ret_inst)].un;
-    const ret_ty = ir.instructions.items(.ty)[@intFromEnum(ret_operand)];
-    try ir.writeType(ret_ty, color, w);
-    if (color) util.setColor(REF, w);
+    const ret_ty = decl.instructions.items(.ty)[@intFromEnum(ret_operand)];
+    try ir.writeType(ret_ty, config, w);
+    try config.setColor(w, REF);
     try w.print(" @{s}", .{name});
-    if (color) util.setColor(.reset, w);
+    try config.setColor(w, .reset);
     try w.writeAll("(");
 
     var arg_count: u32 = 0;
     while (true) : (arg_count += 1) {
-        const ref = ir.body.items[arg_count];
+        const ref = decl.body.items[arg_count];
         if (tags[@intFromEnum(ref)] != .arg) break;
         if (arg_count != 0) try w.writeAll(", ");
         try ref_map.put(ref, {});
-        try ir.writeRef(&ref_map, ref, color, w);
-        if (color) util.setColor(.reset, w);
+        try ir.writeRef(decl, &ref_map, ref, config, w);
+        try config.setColor(w, .reset);
     }
     try w.writeAll(") {\n");
-    for (ir.body.items[arg_count..]) |ref| {
+    for (decl.body.items[arg_count..]) |ref| {
         switch (tags[@intFromEnum(ref)]) {
             .label => try label_map.put(ref, {}),
             else => {},
         }
     }
 
-    for (ir.body.items[arg_count..]) |ref| {
+    for (decl.body.items[arg_count..]) |ref| {
         const i = @intFromEnum(ref);
         const tag = tags[i];
         switch (tag) {
             .arg, .constant, .symbol => unreachable,
             .label => {
                 const label_index = label_map.getIndex(ref).?;
-                if (color) util.setColor(REF, w);
+                try config.setColor(w, REF);
                 try w.print("{s}.{d}:\n", .{ data[i].label, label_index });
             },
             // .label_val => {
@@ -347,35 +439,35 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
             // },
             .jmp => {
                 const un = data[i].un;
-                if (color) util.setColor(INST, w);
+                try config.setColor(w, INST);
                 try w.writeAll("    jmp ");
-                try ir.writeLabel(&label_map, un, color, w);
+                try writeLabel(decl, &label_map, un, config, w);
                 try w.writeByte('\n');
             },
             .branch => {
                 const br = data[i].branch;
-                if (color) util.setColor(INST, w);
+                try config.setColor(w, INST);
                 try w.writeAll("    branch ");
-                try ir.writeRef(&ref_map, br.cond, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, br.cond, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(", ");
-                try ir.writeLabel(&label_map, br.then, color, w);
-                if (color) util.setColor(.reset, w);
+                try writeLabel(decl, &label_map, br.then, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(", ");
-                try ir.writeLabel(&label_map, br.@"else", color, w);
+                try writeLabel(decl, &label_map, br.@"else", config, w);
                 try w.writeByte('\n');
             },
             .select => {
                 const br = data[i].branch;
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.writeAll("select ");
-                try ir.writeRef(&ref_map, br.cond, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, br.cond, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(", ");
-                try ir.writeRef(&ref_map, br.then, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, br.then, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(", ");
-                try ir.writeRef(&ref_map, br.@"else", color, w);
+                try ir.writeRef(decl, &ref_map, br.@"else", config, w);
                 try w.writeByte('\n');
             },
             // .jmp_val => {
@@ -384,91 +476,91 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
             // },
             .@"switch" => {
                 const @"switch" = data[i].@"switch";
-                if (color) util.setColor(INST, w);
+                try config.setColor(w, INST);
                 try w.writeAll("    switch ");
-                try ir.writeRef(&ref_map, @"switch".target, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, @"switch".target, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(" {");
                 for (@"switch".case_vals[0..@"switch".cases_len], @"switch".case_labels) |val_ref, label_ref| {
                     try w.writeAll("\n        ");
-                    try ir.writeValue(val_ref, color, w);
-                    if (color) util.setColor(.reset, w);
+                    try ir.writeValue(val_ref, config, w);
+                    try config.setColor(w, .reset);
                     try w.writeAll(" => ");
-                    try ir.writeLabel(&label_map, label_ref, color, w);
-                    if (color) util.setColor(.reset, w);
+                    try writeLabel(decl, &label_map, label_ref, config, w);
+                    try config.setColor(w, .reset);
                 }
-                if (color) util.setColor(LITERAL, w);
+                try config.setColor(w, LITERAL);
                 try w.writeAll("\n        default ");
-                if (color) util.setColor(.reset, w);
+                try config.setColor(w, .reset);
                 try w.writeAll("=> ");
-                try ir.writeLabel(&label_map, @"switch".default, color, w);
-                if (color) util.setColor(.reset, w);
+                try writeLabel(decl, &label_map, @"switch".default, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll("\n    }\n");
             },
             .call => {
                 const call = data[i].call;
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.writeAll("call ");
-                try ir.writeRef(&ref_map, call.func, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, call.func, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll("(");
                 for (call.args(), 0..) |arg, arg_i| {
                     if (arg_i != 0) try w.writeAll(", ");
-                    try ir.writeRef(&ref_map, arg, color, w);
-                    if (color) util.setColor(.reset, w);
+                    try ir.writeRef(decl, &ref_map, arg, config, w);
+                    try config.setColor(w, .reset);
                 }
                 try w.writeAll(")\n");
             },
             .alloc => {
                 const alloc = data[i].alloc;
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.writeAll("alloc ");
-                if (color) util.setColor(ATTRIBUTE, w);
+                try config.setColor(w, ATTRIBUTE);
                 try w.writeAll("size ");
-                if (color) util.setColor(LITERAL, w);
+                try config.setColor(w, LITERAL);
                 try w.print("{d}", .{alloc.size});
-                if (color) util.setColor(ATTRIBUTE, w);
+                try config.setColor(w, ATTRIBUTE);
                 try w.writeAll(" align ");
-                if (color) util.setColor(LITERAL, w);
+                try config.setColor(w, LITERAL);
                 try w.print("{d}", .{alloc.@"align"});
                 try w.writeByte('\n');
             },
             .phi => {
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.writeAll("phi");
-                if (color) util.setColor(.reset, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(" {");
                 for (data[i].phi.inputs()) |input| {
                     try w.writeAll("\n        ");
-                    try ir.writeLabel(&label_map, input.label, color, w);
-                    if (color) util.setColor(.reset, w);
+                    try writeLabel(decl, &label_map, input.label, config, w);
+                    try config.setColor(w, .reset);
                     try w.writeAll(" => ");
-                    try ir.writeRef(&ref_map, input.value, color, w);
-                    if (color) util.setColor(.reset, w);
+                    try ir.writeRef(decl, &ref_map, input.value, config, w);
+                    try config.setColor(w, .reset);
                 }
-                if (color) util.setColor(.reset, w);
+                try config.setColor(w, .reset);
                 try w.writeAll("\n    }\n");
             },
             .store => {
                 const bin = data[i].bin;
-                if (color) util.setColor(INST, w);
+                try config.setColor(w, INST);
                 try w.writeAll("    store ");
-                try ir.writeRef(&ref_map, bin.lhs, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, bin.lhs, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(", ");
-                try ir.writeRef(&ref_map, bin.rhs, color, w);
+                try ir.writeRef(decl, &ref_map, bin.rhs, config, w);
                 try w.writeByte('\n');
             },
             .ret => {
-                if (color) util.setColor(INST, w);
+                try config.setColor(w, INST);
                 try w.writeAll("    ret ");
-                if (data[i].un != .none) try ir.writeRef(&ref_map, data[i].un, color, w);
+                if (data[i].un != .none) try ir.writeRef(decl, &ref_map, data[i].un, config, w);
                 try w.writeByte('\n');
             },
             .load => {
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.writeAll("load ");
-                try ir.writeRef(&ref_map, data[i].un, color, w);
+                try ir.writeRef(decl, &ref_map, data[i].un, config, w);
                 try w.writeByte('\n');
             },
             .bit_or,
@@ -489,12 +581,12 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
             .mod,
             => {
                 const bin = data[i].bin;
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.print("{s} ", .{@tagName(tag)});
-                try ir.writeRef(&ref_map, bin.lhs, color, w);
-                if (color) util.setColor(.reset, w);
+                try ir.writeRef(decl, &ref_map, bin.lhs, config, w);
+                try config.setColor(w, .reset);
                 try w.writeAll(", ");
-                try ir.writeRef(&ref_map, bin.rhs, color, w);
+                try ir.writeRef(decl, &ref_map, bin.rhs, config, w);
                 try w.writeByte('\n');
             },
             .bit_not,
@@ -504,98 +596,101 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
             .sext,
             => {
                 const un = data[i].un;
-                try ir.writeNewRef(&ref_map, ref, color, w);
+                try ir.writeNewRef(decl, &ref_map, ref, config, w);
                 try w.print("{s} ", .{@tagName(tag)});
-                try ir.writeRef(&ref_map, un, color, w);
+                try ir.writeRef(decl, &ref_map, un, config, w);
                 try w.writeByte('\n');
             },
             .label_addr, .jmp_val => {},
         }
     }
-    if (color) util.setColor(.reset, w);
+    try config.setColor(w, .reset);
     try w.writeAll("}\n\n");
 }
 
-fn writeType(ir: Ir, ty_ref: Interner.Ref, color: bool, w: anytype) !void {
-    const ty = ir.pool.get(ty_ref);
-    if (color) util.setColor(TYPE, w);
+fn writeType(ir: Ir, ty_ref: Interner.Ref, config: std.io.tty.Config, w: anytype) !void {
+    const ty = ir.interner.get(ty_ref);
+    try config.setColor(w, TYPE);
     switch (ty) {
-        .value => unreachable,
-        .ptr, .noreturn, .void, .func => try w.writeAll(@tagName(ty)),
-        .int => |bits| try w.print("i{d}", .{bits}),
-        .float => |bits| try w.print("f{d}", .{bits}),
-        .array => |info| {
+        .ptr_ty, .noreturn_ty, .void_ty, .func_ty => try w.writeAll(@tagName(ty)),
+        .int_ty => |bits| try w.print("i{d}", .{bits}),
+        .float_ty => |bits| try w.print("f{d}", .{bits}),
+        .array_ty => |info| {
             try w.print("[{d} * ", .{info.len});
-            try ir.writeType(info.child, false, w);
+            try ir.writeType(info.child, .no_color, w);
             try w.writeByte(']');
         },
-        .vector => |info| {
+        .vector_ty => |info| {
             try w.print("<{d} * ", .{info.len});
-            try ir.writeType(info.child, false, w);
+            try ir.writeType(info.child, .no_color, w);
             try w.writeByte('>');
         },
-        .record => |info| {
+        .record_ty => |elems| {
             // TODO collect into buffer and only print once
             try w.writeAll("{ ");
-            for (info.elements, 0..) |elem, i| {
+            for (elems, 0..) |elem, i| {
                 if (i != 0) try w.writeAll(", ");
-                try ir.writeType(elem, color, w);
+                try ir.writeType(elem, config, w);
             }
             try w.writeAll(" }");
         },
+        else => unreachable, // not a type
     }
 }
 
-fn writeValue(ir: Ir, val_ref: Interner.Ref, color: bool, w: anytype) !void {
-    const v = ir.pool.get(val_ref).value;
-    if (color) util.setColor(LITERAL, w);
-    switch (v.tag) {
-        .unavailable => try w.writeAll(" unavailable"),
-        .int => try w.print("{d}", .{v.data.int}),
-        .bytes => try w.print("\"{s}\"", .{v.data.bytes.slice(ir.strings, .@"1")}),
-        // std.fmt does @as instead of @floatCast
-        .float => try w.print("{d}", .{@as(f64, @floatCast(v.data.float))}),
-        else => try w.print("({s})", .{@tagName(v.tag)}),
+fn writeValue(ir: Ir, val: Interner.Ref, config: std.io.tty.Config, w: anytype) !void {
+    try config.setColor(w, LITERAL);
+    const key = ir.interner.get(val);
+    switch (key) {
+        .null => return w.writeAll("nullptr_t"),
+        .int => |repr| switch (repr) {
+            inline else => |x| return w.print("{d}", .{x}),
+        },
+        .float => |repr| switch (repr) {
+            inline else => |x| return w.print("{d}", .{@as(f64, @floatCast(x))}),
+        },
+        .bytes => |b| return std.zig.fmt.stringEscape(b, "", .{}, w),
+        else => unreachable, // not a value
     }
 }
 
-fn writeRef(ir: Ir, ref_map: *RefMap, ref: Ref, color: bool, w: anytype) !void {
+fn writeRef(ir: Ir, decl: *const Decl, ref_map: *RefMap, ref: Ref, config: std.io.tty.Config, w: anytype) !void {
     assert(ref != .none);
     const index = @intFromEnum(ref);
-    const ty_ref = ir.instructions.items(.ty)[index];
-    if (ir.instructions.items(.tag)[index] == .constant) {
-        try ir.writeType(ty_ref, color, w);
-        const v_ref = ir.instructions.items(.data)[index].constant;
+    const ty_ref = decl.instructions.items(.ty)[index];
+    if (decl.instructions.items(.tag)[index] == .constant) {
+        try ir.writeType(ty_ref, config, w);
+        const v_ref = decl.instructions.items(.data)[index].constant;
         try w.writeByte(' ');
-        try ir.writeValue(v_ref, color, w);
+        try ir.writeValue(v_ref, config, w);
         return;
-    } else if (ir.instructions.items(.tag)[index] == .symbol) {
-        const name = ir.instructions.items(.data)[index].label;
-        try ir.writeType(ty_ref, color, w);
-        if (color) util.setColor(REF, w);
+    } else if (decl.instructions.items(.tag)[index] == .symbol) {
+        const name = decl.instructions.items(.data)[index].label;
+        try ir.writeType(ty_ref, config, w);
+        try config.setColor(w, REF);
         try w.print(" @{s}", .{name});
         return;
     }
-    try ir.writeType(ty_ref, color, w);
-    if (color) util.setColor(REF, w);
+    try ir.writeType(ty_ref, config, w);
+    try config.setColor(w, REF);
     const ref_index = ref_map.getIndex(ref).?;
     try w.print(" %{d}", .{ref_index});
 }
 
-fn writeNewRef(ir: Ir, ref_map: *RefMap, ref: Ref, color: bool, w: anytype) !void {
+fn writeNewRef(ir: Ir, decl: *const Decl, ref_map: *RefMap, ref: Ref, config: std.io.tty.Config, w: anytype) !void {
     try ref_map.put(ref, {});
     try w.writeAll("    ");
-    try ir.writeRef(ref_map, ref, color, w);
-    if (color) util.setColor(.reset, w);
+    try ir.writeRef(decl, ref_map, ref, config, w);
+    try config.setColor(w, .reset);
     try w.writeAll(" = ");
-    if (color) util.setColor(INST, w);
+    try config.setColor(w, INST);
 }
 
-fn writeLabel(ir: Ir, label_map: *RefMap, ref: Ref, color: bool, w: anytype) !void {
+fn writeLabel(decl: *const Decl, label_map: *RefMap, ref: Ref, config: std.io.tty.Config, w: anytype) !void {
     assert(ref != .none);
     const index = @intFromEnum(ref);
-    const label = ir.instructions.items(.data)[index].label;
-    if (color) util.setColor(REF, w);
+    const label = decl.instructions.items(.data)[index].label;
+    try config.setColor(w, REF);
     const label_index = label_map.getIndex(ref).?;
     try w.print("{s}.{d}", .{ label, label_index });
 }
deps/aro/Object.zig → deps/aro/backend/Object.zig
@@ -1,15 +1,15 @@
 const std = @import("std");
-const Compilation = @import("Compilation.zig");
-const Elf = @import("object/Elf.zig");
+const Allocator = std.mem.Allocator;
+const Elf = @import("Object/Elf.zig");
 
 const Object = @This();
 
 format: std.Target.ObjectFormat,
-comp: *Compilation,
+target: std.Target,
 
-pub fn create(comp: *Compilation) !*Object {
-    switch (comp.target.ofmt) {
-        .elf => return Elf.create(comp),
+pub fn create(gpa: Allocator, target: std.Target) !*Object {
+    switch (target.ofmt) {
+        .elf => return Elf.create(gpa, target),
         else => unreachable,
     }
 }
deps/aro/build/GenerateDef.zig
@@ -1,25 +1,31 @@
 const std = @import("std");
-const GenerateDef = @This();
 const Step = std.Build.Step;
 const Allocator = std.mem.Allocator;
 const GeneratedFile = std.Build.GeneratedFile;
 
+const GenerateDef = @This();
+
 step: Step,
 path: []const u8,
+name: []const u8,
+kind: Options.Kind,
 generated_file: GeneratedFile,
 
 pub const base_id: Step.Id = .custom;
 
-pub fn add(
-    owner: *std.Build,
-    def_file_path: []const u8,
-    import_path: []const u8,
-    compile_step: *Step.Compile,
-    aro_module: *std.Build.Module,
-) void {
+pub const Options = struct {
+    name: []const u8,
+    src_prefix: []const u8 = "src/aro",
+    kind: Kind = .dafsa,
+
+    pub const Kind = enum { dafsa, named };
+};
+
+pub fn create(owner: *std.Build, options: Options) std.Build.ModuleDependency {
     const self = owner.allocator.create(GenerateDef) catch @panic("OOM");
+    const path = owner.pathJoin(&.{ options.src_prefix, options.name });
 
-    const name = owner.fmt("GenerateDef {s}", .{def_file_path});
+    const name = owner.fmt("GenerateDef {s}", .{options.name});
     self.* = .{
         .step = Step.init(.{
             .id = base_id,
@@ -27,16 +33,18 @@ pub fn add(
             .owner = owner,
             .makeFn = make,
         }),
-        .path = def_file_path,
+        .path = path,
+        .name = options.name,
+        .kind = options.kind,
         .generated_file = .{ .step = &self.step },
     };
-
-    const module = owner.createModule(.{
+    const module = self.step.owner.createModule(.{
         .source_file = .{ .generated = &self.generated_file },
     });
-    compile_step.addModule(import_path, module);
-    compile_step.step.dependOn(&self.step);
-    aro_module.dependencies.put(import_path, module) catch @panic("OOM");
+    return .{
+        .module = module,
+        .name = self.name,
+    };
 }
 
 fn make(step: *Step, prog_node: *std.Progress.Node) !void {
@@ -132,7 +140,7 @@ fn generate(self: *GenerateDef, input: []const u8) ![]const u8 {
     }
 
     {
-        var sorted_list = try arena.dupe([]const u8, values.keys());
+        const sorted_list = try arena.dupe([]const u8, values.keys());
         defer arena.free(sorted_list);
         std.mem.sort([]const u8, sorted_list, {}, struct {
             pub fn lessThan(_: void, a: []const u8, b: []const u8) bool {
@@ -168,15 +176,6 @@ fn generate(self: *GenerateDef, input: []const u8) ![]const u8 {
             }
         }
 
-        var values_array = try arena.alloc(Value, values.count());
-        defer arena.free(values_array);
-
-        for (values.keys(), values.values()) |name, props| {
-            const unique_index = builder.getUniqueIndex(name).?;
-            const data_index = unique_index - 1;
-            values_array[data_index] = .{ .name = name, .properties = props };
-        }
-
         var out_buf = std.ArrayList(u8).init(arena);
         defer out_buf.deinit();
         const writer = out_buf.writer();
@@ -193,6 +192,49 @@ fn generate(self: *GenerateDef, input: []const u8) ![]const u8 {
         for (headers.items) |line| {
             try writer.print("{s}\n", .{line});
         }
+        if (self.kind == .named) {
+            try writer.writeAll("pub const Tag = enum {\n");
+            for (values.keys()) |property| {
+                try writer.print("    {s},\n", .{std.zig.fmtId(property)});
+            }
+            try writer.writeAll(
+                \\
+                \\    pub fn property(tag: Tag) Properties {
+                \\        return named_data[@intFromEnum(tag)];
+                \\    }
+                \\
+                \\    const named_data = [_]Properties{
+                \\
+            );
+            for (values.values()) |val_props| {
+                try writer.writeAll("        .{");
+                for (val_props, 0..) |val_prop, j| {
+                    if (j != 0) try writer.writeByte(',');
+                    try writer.writeByte(' ');
+                    try writer.writeAll(val_prop);
+                }
+                try writer.writeAll(" },\n");
+            }
+            try writer.writeAll(
+                \\    };
+                \\};
+                \\};
+                \\}
+                \\
+            );
+
+            return out_buf.toOwnedSlice();
+        }
+
+        var values_array = try arena.alloc(Value, values.count());
+        defer arena.free(values_array);
+
+        for (values.keys(), values.values()) |name, props| {
+            const unique_index = builder.getUniqueIndex(name).?;
+            const data_index = unique_index - 1;
+            values_array[data_index] = .{ .name = name, .properties = props };
+        }
+
         try writer.writeAll(
             \\
             \\tag: Tag,
@@ -418,7 +460,7 @@ const DafsaBuilder = struct {
         var arena = std.heap.ArenaAllocator.init(allocator);
         errdefer arena.deinit();
 
-        var root = try arena.allocator().create(Node);
+        const root = try arena.allocator().create(Node);
         root.* = .{};
         return DafsaBuilder{
             .root = root,
@@ -498,7 +540,7 @@ const DafsaBuilder = struct {
             std.debug.assert(node.children[c] == null);
 
             var arena = self.arena.promote(self.allocator);
-            var child = try arena.allocator().create(Node);
+            const child = try arena.allocator().create(Node);
             self.arena = arena.state;
 
             child.* = .{};
deps/aro/Builtins/BuiltinFunction.zig
@@ -1,13037 +0,0 @@
-//! Autogenerated by ./scripts/generate_builtins_dafsa.zig, do not edit
-
-const std = @import("std");
-const Properties = @import("Properties.zig");
-const TargetSet = Properties.TargetSet;
-
-tag: Tag,
-param_str: []const u8,
-properties: Properties,
-
-/// Integer starting at 0 derived from the unique index,
-/// corresponds with the builtin_data array index.
-pub const Tag = enum(u16) { _ };
-
-const Self = @This();
-
-pub fn fromName(name: []const u8) ?@This() {
-    const data_index = tagFromName(name) orelse return null;
-    return builtin_data[@intFromEnum(data_index)];
-}
-
-pub fn tagFromName(name: []const u8) ?Tag {
-    const unique_index = uniqueIndex(name) orelse return null;
-    return @enumFromInt(unique_index - 1);
-}
-
-pub fn fromTag(tag: Tag) @This() {
-    return builtin_data[@intFromEnum(tag)];
-}
-
-pub fn nameFromTagIntoBuf(tag: Tag, name_buf: []u8) []u8 {
-    std.debug.assert(name_buf.len >= longest_builtin_name);
-    const unique_index = @intFromEnum(tag) + 1;
-    return nameFromUniqueIndex(unique_index, name_buf);
-}
-
-pub fn nameFromTag(tag: Tag) NameBuf {
-    var name_buf: NameBuf = undefined;
-    const unique_index = @intFromEnum(tag) + 1;
-    const name = nameFromUniqueIndex(unique_index, &name_buf.buf);
-    name_buf.len = @intCast(name.len);
-    return name_buf;
-}
-
-pub const NameBuf = struct {
-    buf: [longest_builtin_name]u8 = undefined,
-    len: std.math.IntFittingRange(0, longest_builtin_name),
-
-    pub fn span(self: *const NameBuf) []const u8 {
-        return self.buf[0..self.len];
-    }
-};
-
-pub fn exists(name: []const u8) bool {
-    if (name.len < shortest_builtin_name or name.len > longest_builtin_name) return false;
-
-    var index: u16 = 0;
-    for (name) |c| {
-        index = findInList(dafsa[index].child_index, c) orelse return false;
-    }
-    return dafsa[index].end_of_word;
-}
-
-test exists {
-    try std.testing.expect(exists("__builtin_canonicalize"));
-    try std.testing.expect(!exists("__builtin_canonicaliz"));
-    try std.testing.expect(!exists("__builtin_canonicalize."));
-}
-
-pub fn isVarArgs(self: @This()) bool {
-    return self.param_str[self.param_str.len - 1] == '.';
-}
-
-pub const shortest_builtin_name = 3;
-pub const longest_builtin_name = 43;
-
-pub const BuiltinsIterator = struct {
-    index: u16 = 1,
-    name_buf: [longest_builtin_name]u8 = undefined,
-
-    pub const Entry = struct {
-        /// Memory of this slice is overwritten on every call to `next`
-        name: []const u8,
-        builtin: Self,
-    };
-
-    pub fn next(self: *BuiltinsIterator) ?Entry {
-        if (self.index > builtin_data.len) return null;
-        const index = self.index;
-        const data_index = index - 1;
-        self.index += 1;
-        return .{
-            .name = nameFromUniqueIndex(index, &self.name_buf),
-            .builtin = builtin_data[data_index],
-        };
-    }
-};
-
-test BuiltinsIterator {
-    var it = BuiltinsIterator{};
-
-    var seen = std.StringHashMap(Self).init(std.testing.allocator);
-    defer seen.deinit();
-
-    var arena_state = std.heap.ArenaAllocator.init(std.testing.allocator);
-    defer arena_state.deinit();
-    const arena = arena_state.allocator();
-
-    while (it.next()) |entry| {
-        const index = uniqueIndex(entry.name).?;
-        var buf: [longest_builtin_name]u8 = undefined;
-        const name_from_index = nameFromUniqueIndex(index, &buf);
-        try std.testing.expectEqualStrings(entry.name, name_from_index);
-
-        if (seen.contains(entry.name)) {
-            std.debug.print("iterated over {s} twice\n", .{entry.name});
-            std.debug.print("current data: {}\n", .{entry.builtin});
-            std.debug.print("previous data: {}\n", .{seen.get(entry.name).?});
-            return error.TestExpectedUniqueEntries;
-        }
-        try seen.put(try arena.dupe(u8, entry.name), entry.builtin);
-    }
-    try std.testing.expectEqual(@as(usize, builtin_data.len), seen.count());
-}
-
-/// Search siblings of `first_child_index` for the `char`
-/// If found, returns the index of the node within the `dafsa` array.
-/// Otherwise, returns `null`.
-fn findInList(first_child_index: u16, char: u8) ?u16 {
-    var index = first_child_index;
-    while (true) {
-        if (dafsa[index].char == char) return index;
-        if (dafsa[index].end_of_list) return null;
-        index += 1;
-    }
-    unreachable;
-}
-
-/// Returns a unique (minimal perfect hash) index (starting at 1) for the `name`,
-/// or null if the name was not found.
-fn uniqueIndex(name: []const u8) ?u16 {
-    if (name.len < shortest_builtin_name or name.len > longest_builtin_name) return null;
-
-    var index: u16 = 0;
-    var node_index: u16 = 0;
-
-    for (name) |c| {
-        const child_index = findInList(dafsa[node_index].child_index, c) orelse return null;
-        var sibling_index = dafsa[node_index].child_index;
-        while (true) {
-            const sibling_c = dafsa[sibling_index].char;
-            std.debug.assert(sibling_c != 0);
-            if (sibling_c < c) {
-                index += dafsa[sibling_index].number;
-            }
-            if (dafsa[sibling_index].end_of_list) break;
-            sibling_index += 1;
-        }
-        node_index = child_index;
-        if (dafsa[node_index].end_of_word) index += 1;
-    }
-
-    if (!dafsa[node_index].end_of_word) return null;
-
-    return index;
-}
-
-/// Returns a slice of `buf` with the name associated with the given `index`.
-/// This function should only be called with an `index` that
-/// is already known to exist within the `dafsa`, e.g. an index
-/// returned from `uniqueIndex`.
-fn nameFromUniqueIndex(index: u16, buf: []u8) []u8 {
-    std.debug.assert(index >= 1 and index <= builtin_data.len);
-
-    var node_index: u16 = 0;
-    var count: u16 = index;
-    var fbs = std.io.fixedBufferStream(buf);
-    const w = fbs.writer();
-
-    while (true) {
-        var sibling_index = dafsa[node_index].child_index;
-        while (true) {
-            if (dafsa[sibling_index].number > 0 and dafsa[sibling_index].number < count) {
-                count -= dafsa[sibling_index].number;
-            } else {
-                w.writeByte(dafsa[sibling_index].char) catch unreachable;
-                node_index = sibling_index;
-                if (dafsa[node_index].end_of_word) {
-                    count -= 1;
-                }
-                break;
-            }
-
-            if (dafsa[sibling_index].end_of_list) break;
-            sibling_index += 1;
-        }
-        if (count == 0) break;
-    }
-
-    return fbs.getWritten();
-}
-
-pub const MaxParamCount = 12;
-
-/// We're 1 bit shy of being able to fit this in a u32:
-/// - char only contains 0-9, a-z, A-Z, and _, so it could use a enum(u6) with a way to convert <-> u8
-///   (note: this would have a performance cost that may make the u32 not worth it)
-/// - number has a max value of > 2047 and < 4095 (the first _ node has the largest number),
-///   so it could fit into a u12
-/// - child_index currently has a max of > 4095 and < 8191, so it could fit into a u13
-///
-/// with the end_of_word/end_of_list 2 bools, that makes 33 bits total
-const Node = packed struct(u64) {
-    char: u8,
-    /// Nodes are numbered with "an integer which gives the number of words that
-    /// would be accepted by the automaton starting from that state." This numbering
-    /// allows calculating "a one-to-one correspondence between the integers 1 to L
-    /// (L is the number of words accepted by the automaton) and the words themselves."
-    ///
-    /// Essentially, this allows us to have a minimal perfect hashing scheme such that
-    /// it's possible to store & lookup the properties of each builtin using a separate array.
-    number: u16,
-    /// If true, this node is the end of a valid builtin.
-    /// Note: This does not necessarily mean that this node does not have child nodes.
-    end_of_word: bool,
-    /// If true, this node is the end of a sibling list.
-    /// If false, then (index + 1) will contain the next sibling.
-    end_of_list: bool,
-    /// Padding bits to get to u64, unsure if there's some way to use these to improve something.
-    _extra: u22 = 0,
-    /// Index of the first child of this node.
-    child_index: u16,
-};
-
-const dafsa = [_]Node{
-    .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3601, .child_index = 19 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 32 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 37 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 82, .child_index = 39 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 50 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 52 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 62 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 63 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 64 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 67 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 73 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 76 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 78 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 80 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 83 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 92 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 96 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 100 },
-    .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 102 },
-    .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 103 },
-    .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 104 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 105 },
-    .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 106 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3525, .child_index = 107 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 125 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 127 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 129 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 130 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 131 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 133 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 134 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 135 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 138 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 140 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 141 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 142 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 145 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 151 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 152 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 154 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 155 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 156 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 159 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 161 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 162 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 164 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 165 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 166 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 168 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 169 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 170 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 171 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 172 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 175 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 177 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 178 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 179 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 181 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 182 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 183 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 184 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 195 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 196 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 197 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 199 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 201 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 204 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 205 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 206 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 207 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 209 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 211 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 214 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 215 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 216 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 217 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 218 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 151 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 178 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 31, .child_index = 221 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 223 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 196 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 224 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 226 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 227 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 228 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 231 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 235 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 236 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 237 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 239 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 240 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 241 },
-    .{ .char = 'G', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 242 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 243 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2967, .child_index = 248 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 249 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 252 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 255 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 257 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 259 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 260 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 390, .child_index = 262 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 264 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 265 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 113, .child_index = 266 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 269 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 270 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 271 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 273 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 275 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 277 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 278 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 279 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 281 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 282 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 283 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 284 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 285 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 286 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 287 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 288 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 289 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 223 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 290 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 293 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 295 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 140 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 164 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 298 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 300 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 296 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 301 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 302 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 209 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 306 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 307 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 223 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 151 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 223 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 308 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 312 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 294 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 316 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 317 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 318 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 319 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 206 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 322 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 324 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 329 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 330 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 331 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 333 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 334 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 335 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 336 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 337 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 338 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 339 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 341 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 342 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 345 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 346 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 201 },
-    .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 15, .child_index = 347 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 353 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 354 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 295 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 355 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 360 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 363 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 364 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 366 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 368 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 370 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 372 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 375 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 176 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 377 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 379 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 338 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 342 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 389 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 390 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 393 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 327 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 394 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 397 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 398 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 399 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 400 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 402 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 275 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 403 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 404 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 405 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 406 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 407 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 408 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 409 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 410 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 411 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 238 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 413 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 415 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 170 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 416 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 418 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 419 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 420 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 421 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 422 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 424 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 425 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 427 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 428 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 430 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 431 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 433 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 434 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 289 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 436 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 437 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 438 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 439 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 440 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 441 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 443 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 446 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 452 },
-    .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 296 },
-    .{ .char = 'j', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 453 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 301 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 454 },
-    .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 455 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 456 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 462 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 464 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 467 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 469 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 471 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 336 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 475 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 476 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 478 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 479 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 480 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 484 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 485 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 487 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 488 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 490 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 491 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 492 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 493 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 495 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 498 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 499 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 292 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 485 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 500 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 505 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 506 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 507 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 509 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 513 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 515 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 517 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 519 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 522 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 525 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 527 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 528 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 529 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 531 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 532 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 533 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 534 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 536 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 537 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 538 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 539 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 541 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 438 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 543 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 544 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 546 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 547 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 419 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 548 },
-    .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 550 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 551 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 552 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 553 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 554 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 556 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 557 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 558 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 559 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 560 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 563 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 563 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 566 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 570 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 571 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 573 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 574 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 575 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 577 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 578 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 582 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 583 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 322 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 584 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 292 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 587 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 588 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 589 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 590 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 591 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 592 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 596 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 282 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 217 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 598 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 450 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 601 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 602 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 604 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 393 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 607 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 608 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 613 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 614 },
-    .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 615 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 484 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 618 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 619 },
-    .{ .char = 'F', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 620 },
-    .{ .char = 'T', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 621 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
-    .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 623 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 624 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 625 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 626 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 627 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 628 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 629 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 630 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 631 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 633 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 634 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 635 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 636 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 637 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 638 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 499 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 639 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 642 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 643 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 644 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 645 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 646 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 647 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 650 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 651 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 652 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 653 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 658 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 659 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 660 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 661 },
-    .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 662 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 206 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 663 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 598 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'k', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 665 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 667 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 668 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 669 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 670 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 671 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 672 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 673 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 676 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 677 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 678 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 679 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 681 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 683 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 684 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 686 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 107, .child_index = 701 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 712 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 715 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 716 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 717 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 718 },
-    .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 719 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 720 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 206 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 721 },
-    .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 353 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 722 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 723 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 722 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 724 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 725 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 726 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 727 },
-    .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 728 },
-    .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 730 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 731 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 732 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 733 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 734 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 735 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 736 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 737 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 738 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 739 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 740 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 742 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 744 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 746 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 748 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 749 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 753 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 755 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 759 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 761 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 53, .child_index = 762 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 766 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 770 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 771 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 773 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 774 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 776 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 777 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 778 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 779 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 780 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 781 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 784 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 785 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 786 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 787 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 788 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 791 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 793 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 794 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 795 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 796 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 456 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 798 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 206 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 799 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 800 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 671 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 801 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 802 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 806 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 811 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 812 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 813 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 814 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 815 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 816 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 817 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 818 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 819 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 820 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 821 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 823 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 827 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 828 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 829 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 833 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 834 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 835 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 837 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 839 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 72, .child_index = 840 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 828 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 842 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 843 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 844 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 845 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 846 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 847 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 848 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 849 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 850 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 851 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 853 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 854 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 855 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 856 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 842 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 857 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 858 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 859 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 859 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 860 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 861 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 862 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 863 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 865 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 866 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 868 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 780 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 869 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 870 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 871 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 872 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 873 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 874 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 876 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 877 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 322 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 878 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 879 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 880 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 881 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 882 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 884 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 885 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 886 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 887 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 888 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 889 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 891 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 912 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 913 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 914 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 915 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 916 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 917 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 918 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 920 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 921 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 922 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 923 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 924 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 925 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 926 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 927 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 929 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 930 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 931 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 924 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 932 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 933 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 935 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 936 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 937 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 939 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 940 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 940 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 941 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 942 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 942 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 837 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 943 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 944 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 947 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 950 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 951 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 952 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 953 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 954 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 955 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 956 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 923 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 957 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 958 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 842 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 959 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 868 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 960 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 961 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 859 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 962 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 963 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 964 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 965 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 966 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 967 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 968 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 969 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 971 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 972 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 973 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 974 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 975 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 976 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 977 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 978 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 979 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 982 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 984 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 985 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 987 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 302, .child_index = 988 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 997 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 1001 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1013 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 1018 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 49, .child_index = 1022 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1030 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1031 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 1033 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 1037 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 686, .child_index = 1043 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1049 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1052 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 142, .child_index = 1055 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 1060 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 71, .child_index = 1064 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 1076 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1080 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 1273, .child_index = 1084 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1089 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1093 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1094 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1095 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1096 },
-    .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1097 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1099 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1101 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1102 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1103 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1104 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 940 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 940 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 926 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1107 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1109 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1110 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 924 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 924 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 932 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1111 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1095 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1112 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1113 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1114 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1122 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1123 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 292 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1124 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1095 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1125 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1126 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1128 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1129 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1130 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1131 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1133 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1134 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 929 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1135 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1136 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1137 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1138 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1139 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1141 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1142 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1143 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1144 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1145 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1146 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1147 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1148 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1151 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1154 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1156 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1157 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 1158 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1165 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1169 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1170 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1171 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1172 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1173 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1174 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1175 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 135 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1184 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1185 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1186 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 122, .child_index = 1188 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 403 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 134, .child_index = 1189 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1190 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1192 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 142 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1193 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1194 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 1195 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1202 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1203 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1205 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 154 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1206 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1210 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1214 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 161 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 162 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1217 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1219 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1220 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1221 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1222 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1223 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1224 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1225 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1226 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 1227 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1229 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1230 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1231 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1232 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1234 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1237 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1239 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1242 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1243 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1244 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1245 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1246 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1247 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1250 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1257 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1259 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1260 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1261 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1263 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1265 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1267 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1269 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 135, .child_index = 1270 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1271 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 534, .child_index = 1272 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1273 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1274 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1275 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1277 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1278 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1279 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1280 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1281 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1283 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 108, .child_index = 1285 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1286 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1288 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1289 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 1290 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1294 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1295 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1297 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1298 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1299 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1301 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1303 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1304 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1306 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1307 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1309 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1312 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1313 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1260 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1314 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1315 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1297 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1303 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1317 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1320 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 227 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1263, .child_index = 1321 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1322 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 231 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1324 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 235 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 236 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1325 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1326 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1327 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1331 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1339 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1343 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1344 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1346 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1347 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1348 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1352 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 451 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1353 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1347 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1327 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1357 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1358 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1353 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1359 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1362 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1362 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1363 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1365 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1368 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1372 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1373 },
-    .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 954 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1374 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1375 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1327 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1376 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 930 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1377 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1378 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1382 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1385 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1386 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1388 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1389 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1393 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1394 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1395 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1396 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1397 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1398 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1399 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1400 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1401 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1402 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1403 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1404 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1405 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1406 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1407 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1408 },
-    .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1409 },
-    .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1410 },
-    .{ .char = 'D', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1411 },
-    .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1412 },
-    .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1413 },
-    .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1414 },
-    .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1415 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1416 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1417 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1418 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1420 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1421 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1422 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1423 },
-    .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1424 },
-    .{ .char = 'N', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1425 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1426 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1428 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1429 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1430 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1431 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1434 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1437 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1438 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1440 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1441 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 1442 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 134, .child_index = 1443 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1313 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1444 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1445 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1446 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1447 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1448 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1449 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 140 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 164 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1451 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1452 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1453 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1454 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1455 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1457 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1458 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1461 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1462 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 209 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 306 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1465 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 223 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1455 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1466 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1467 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1468 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1469 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1470 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1471 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1472 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 21, .child_index = 1475 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1481 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1483 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1484 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1486 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1487 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 10, .child_index = 1488 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1491 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1492 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1493 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1494 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1495 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1497 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1498 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1500 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1501 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1502 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1503 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1506 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1507 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1508 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1510 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1511 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1512 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1513 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1515 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1516 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1517 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1518 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1265 },
-    .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 23, .child_index = 1519 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1524 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1525 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 295 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1526 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1527 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 1531 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1532 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 534, .child_index = 1533 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1534 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1535 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1538 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1539 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1540 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1542 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1544 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1545 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1546 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1547 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1548 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1549 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 1552 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1553 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1555 },
-    .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1556 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1557 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1559 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1560 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1562 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1563 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1565 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1566 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1567 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1568 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1570 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1575 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1576 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1462 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1577 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1578 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1579 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 327 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1580 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1581 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 377 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1582 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1438 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1589 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1592 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1593 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1594 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1596 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1597 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1580 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 1598 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1599 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1600 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1603 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1100 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1100 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1100 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1604 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1606 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1607 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1608 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1609 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1611 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1612 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1613 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 519 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1615 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1617 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1618 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1619 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
-    .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1621 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1621 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1621 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1621 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1622 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1621 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1623 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1360 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1363 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1360 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1624 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1625 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1626 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1629 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1630 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1631 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1632 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1633 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1634 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1635 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1636 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1638 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1639 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1640 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1641 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1642 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1643 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1644 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1645 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1646 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1647 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1397 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1648 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1649 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1650 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1651 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1653 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1654 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1655 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1657 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1658 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1659 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1661 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1662 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1663 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1664 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1663 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1665 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1414 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1667 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1668 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1669 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 887 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1670 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1671 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1672 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1673 },
-    .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },
-    .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 409 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1675 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1676 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1677 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1430 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1678 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1430 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1680 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1589 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1682 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1683 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1686 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1687 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 1688 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 134, .child_index = 1689 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1705 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 1706 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1710 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1711 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1712 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1714 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1717 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1718 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1719 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1720 },
-    .{ .char = 'j', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1721 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1722 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1723 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1725 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1727 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1728 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1729 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1730 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1731 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1732 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1734 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1735 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1736 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1737 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1738 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1739 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1740 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1741 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1742 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1743 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1744 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1745 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1746 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1747 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1748 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1749 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1750 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1751 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1752 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1753 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1754 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1755 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1756 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1757 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1743 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1758 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1759 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1761 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1762 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1763 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 484 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 485 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1766 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 1767 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 534, .child_index = 1768 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1682 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1783 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1784 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1786 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1787 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1788 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1789 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1790 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1791 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1792 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1793 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1794 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 1795 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1808 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1809 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1810 },
-    .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1813 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1814 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 295 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1816 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1817 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1818 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1819 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1820 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1821 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1822 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1824 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1825 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1826 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 497 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1827 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1828 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1822 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1829 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1822 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1830 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 500 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 505 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 509 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 513 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1831 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1832 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1833 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1834 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1835 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1836 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 1837 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1838 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 887 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 888 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1839 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1840 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1841 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1842 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1843 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1844 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1844 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1845 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1846 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1848 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1849 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1611 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1850 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1851 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1853 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1854 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1855 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1856 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1857 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1858 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1861 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1863 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1864 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1865 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1866 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1867 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1868 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1870 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1871 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1872 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1873 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1874 },
-    .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1875 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1876 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1877 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1878 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1879 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1880 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1401 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1881 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1884 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1885 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1886 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1665 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1887 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1888 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1889 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1890 },
-    .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1406 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1891 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1892 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1893 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
-    .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1894 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1895 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1896 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1900 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1901 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1903 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1906 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1907 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1908 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 1909 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1910 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1913 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1916 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1917 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1918 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1919 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 420 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1921 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1922 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1925 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 51, .child_index = 1927 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1934 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1937 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1942 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1943 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1945 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1946 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1947 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1950 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1951 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1952 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1953 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1954 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1955 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1956 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1957 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1959 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1961 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1962 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1963 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1964 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1965 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1966 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1967 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1968 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1969 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1970 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1971 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1972 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1973 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1976 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1977 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1978 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1979 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1980 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1981 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1982 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1983 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1984 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1985 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1986 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1987 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1988 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1989 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1990 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 1991 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 50, .child_index = 2003 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 56, .child_index = 2007 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 50, .child_index = 2013 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 2018 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 106, .child_index = 2021 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2032 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2034 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2036 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 73, .child_index = 2037 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2042 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2044 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2045 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 97, .child_index = 2046 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2053 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2054 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2055 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2056 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2057 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2058 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2059 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2060 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2061 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2062 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2063 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2064 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2065 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2066 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2067 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2068 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2070 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2071 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 41, .child_index = 2072 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2078 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2079 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2081 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 2084 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2089 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2090 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2094 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2097 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2100 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2101 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2102 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2103 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2104 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2105 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2107 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1826 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2108 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2109 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2110 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2111 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2112 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2113 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1682 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2116 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2118 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2121 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2122 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2123 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2124 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1970 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1546 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2125 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2126 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2127 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 2128 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 2129 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2131 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2133 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2134 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2135 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2135 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2136 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2137 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2138 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2142 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2143 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2144 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2146 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2147 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2148 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2149 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2150 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 2151 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2152 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2153 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2154 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2157 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2158 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2159 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2160 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2162 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2163 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2164 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2165 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
-    .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2166 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2167 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2168 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2169 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2170 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2171 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2172 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 582 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2173 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2174 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2175 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2176 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2177 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2179 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2180 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2181 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2182 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2183 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2180 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2184 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2186 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2186 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2187 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2188 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2190 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 2191 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2192 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2193 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2196 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1883 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2197 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2198 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2201 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2202 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2204 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2205 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2207 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2208 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2210 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2211 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2212 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2214 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2217 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2219 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2221 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2223 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2226 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2227 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 520 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2229 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2212 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2217 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2217 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2230 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2226 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2232 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 431 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2211 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2233 },
-    .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 2234 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2235 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2236 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2237 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2238 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2239 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2240 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2241 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2242 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2243 },
-    .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 238 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2244 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2245 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2246 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2247 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2249 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2250 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 2251 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2252 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2253 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2254 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2255 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2256 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2257 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2258 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2259 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2260 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2261 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2262 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2263 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2167 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2265 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2268 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2269 },
-    .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2270 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2270 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 2271 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2274 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2277 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2278 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2279 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2280 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2281 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2284 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 2289 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2292 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 2295 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2297 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2298 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2299 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2300 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2301 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2302 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2303 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2304 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 2306 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2308 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2309 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2310 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2311 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 2312 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2314 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2311 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2315 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2316 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2032 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2317 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2318 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2324 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2325 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2326 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2328 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2329 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 2330 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2334 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 2337 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2344 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2347 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2348 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2349 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2350 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2351 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 2354 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 2356 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 2357 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2359 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2360 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2361 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2044 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2365 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2367 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2368 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2369 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2371 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 2372 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2374 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 2376 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2377 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2044 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2378 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2379 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2380 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2381 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2382 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2383 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2384 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2385 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2386 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2387 },
-    .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2388 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2389 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2390 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2391 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2392 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2393 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2394 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2396 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2397 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2398 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 2400 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2403 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2405 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2406 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2407 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2408 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2409 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2411 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2412 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2415 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2416 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2419 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2420 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2421 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2422 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2423 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2425 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2426 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2430 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2431 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2432 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2433 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2434 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2435 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2436 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2437 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2438 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2439 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2440 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2441 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2442 },
-    .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2443 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2445 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1682 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1534 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2446 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2447 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2448 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2449 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2450 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2451 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2452 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 2453 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2465 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2468 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2469 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2470 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2471 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2472 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2473 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2474 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2475 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2476 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2477 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2478 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2479 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2481 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2482 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2483 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2484 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2488 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 2489 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2490 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2491 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2492 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2493 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2494 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2495 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2496 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2497 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2498 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2499 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2500 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 584 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2501 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2502 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2503 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2504 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2505 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2506 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2507 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2508 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2509 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2183 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2510 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2511 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2183 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2512 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2513 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2510 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2512 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2510 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2184 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2514 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2515 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2516 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 2518 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1881 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1881 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2535 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2536 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 2537 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2539 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2540 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1362 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2542 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2543 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1661 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2544 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2545 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2547 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2536 },
-    .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2212 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2548 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 2550 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2552 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2555 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2557 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 2537 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2539 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2558 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2560 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2561 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2562 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2563 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2557 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2566 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2567 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2569 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2570 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2571 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2572 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2573 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2574 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2575 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1491 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2576 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2577 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2578 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2579 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2580 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2581 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2582 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 2583 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2584 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2585 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1744 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2586 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2587 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2588 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1451 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2589 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2591 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2592 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2593 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2594 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2595 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2596 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2597 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2599 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2600 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 2601 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2602 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 479 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2603 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2604 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2605 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2606 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2608 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2609 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2610 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2611 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2613 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2614 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2615 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 2616 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2617 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2618 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2619 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2620 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2621 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2622 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2623 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 2626 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2621 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 2627 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2630 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2631 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2633 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2634 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2635 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2636 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2309 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2637 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2639 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2646 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2647 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2647 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2649 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2651 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2652 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2653 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2655 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2658 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2659 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2660 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2663 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2664 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2667 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2668 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2670 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2671 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2672 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2674 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2675 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2676 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2677 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2678 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2679 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2653 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2680 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2658 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2659 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2682 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2683 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2667 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2687 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2688 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2689 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2690 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2691 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2695 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2703 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 2704 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 2704 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2650 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2706 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2707 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2708 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2711 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2711 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2712 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2713 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2714 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2716 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2717 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2644 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2718 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2719 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2719 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 2722 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2724 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1524 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2725 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2726 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2727 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2728 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2729 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2730 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2731 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2732 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2733 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2734 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2735 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2736 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2737 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2741 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2742 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2744 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2746 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2747 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2748 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2749 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 2752 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2757 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2758 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2759 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2760 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2761 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2762 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2763 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2762 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2764 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2765 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2766 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2767 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2764 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2768 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2765 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2766 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2769 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2770 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2772 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2773 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2774 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2775 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2777 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2778 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2779 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2780 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2778 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2781 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2782 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2783 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2784 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2785 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2786 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2787 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2788 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2790 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2791 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2725 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2795 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2796 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2797 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1487 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2575 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2798 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2799 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2800 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2801 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2802 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2803 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2805 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2807 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2808 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2812 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2814 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 393, .child_index = 2815 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2819 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2821 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 836, .child_index = 2823 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2837 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2838 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2839 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2840 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2841 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2842 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2843 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2844 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2845 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2846 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2847 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2848 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1624 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 506 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2849 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2850 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2851 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2852 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2853 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2854 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2855 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 2856 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2235 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2857 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2864 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2865 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2866 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2867 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2868 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2869 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2870 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2871 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2872 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2873 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2874 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2875 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2876 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2877 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2878 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2880 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2881 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2882 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2883 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2884 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2885 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2887 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 2888 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 2892 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2894 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2896 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2900 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 2901 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2905 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2906 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2909 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2912 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 2914 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 2917 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2923 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2924 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2926 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2928 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2929 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2930 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1808 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1665 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2931 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2557 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2933 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2938 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2940 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2941 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2940 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2944 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2931 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2945 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2947 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2948 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2949 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2944 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2951 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1749 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2952 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2953 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2954 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2955 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2956 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2957 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2958 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2959 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2960 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2961 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2962 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2963 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 2964 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2965 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2966 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1143 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2967 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2968 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2969 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2970 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2971 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2972 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2973 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2974 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2975 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2976 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2977 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2978 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2979 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2980 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 2981 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2985 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2986 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2987 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2988 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2991 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2991 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2995 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2997 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2998 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2999 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3000 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3001 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 3002 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3007 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3008 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3009 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3011 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3012 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3013 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3014 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3015 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 3016 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 3018 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3020 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3021 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3022 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3024 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2363 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'v', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3026 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3022 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3022 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3027 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3028 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2680 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3029 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3031 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3032 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3033 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3034 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3032 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2652 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3035 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3035 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3036 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3037 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2682 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3037 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2680 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3029 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3038 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3040 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3027 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3027 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3041 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3042 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3043 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3044 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2697 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3045 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2708 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3047 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3050 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2708 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3051 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3052 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3041 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3042 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3053 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3056 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3057 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3059 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3060 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3061 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3062 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3063 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3064 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3065 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3066 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3067 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3068 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3069 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 3070 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3072 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3074 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3076 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3077 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3078 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3079 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2747 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3080 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3081 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3082 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3083 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3084 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3086 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3089 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3090 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3092 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3094 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3095 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3096 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3097 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3097 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3098 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3099 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3100 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3101 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3102 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3103 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3104 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3105 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3106 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3107 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3108 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3109 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3110 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3112 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3115 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3116 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1491 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3117 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3118 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3119 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3120 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3121 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3122 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3123 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3124 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3125 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3126 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3127 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3128 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3130 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3131 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3120 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3132 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3133 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3130 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3134 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 388, .child_index = 3135 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3126 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3147 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3130 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3149 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 3150 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 3152 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 71, .child_index = 3153 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 45, .child_index = 3156 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3157 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 294, .child_index = 3159 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 3166 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 35, .child_index = 3167 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 81, .child_index = 3168 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3173 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3174 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 3175 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 163, .child_index = 3181 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3189 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2814 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3191 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3192 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3193 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3194 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3195 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3196 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3197 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3198 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3199 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3200 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3201 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3202 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3203 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3204 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3205 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 3206 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3207 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3209 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3211 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3212 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3213 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3214 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3215 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3216 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3217 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3218 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3219 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3220 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3221 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3222 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3223 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3224 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3225 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3226 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3227 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3228 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3229 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3230 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3231 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3232 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3233 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3234 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3235 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3236 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3237 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3238 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3239 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3240 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3241 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3243 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3244 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3245 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3246 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1891 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3247 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3248 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3250 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3252 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2787 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3253 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3254 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3255 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3256 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3257 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3258 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3259 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3260 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3261 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3262 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3263 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3264 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3265 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3266 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3267 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3273 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3274 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3275 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3276 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3278 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3279 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3274 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3280 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3281 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3282 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3283 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3284 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3101 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3287 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2940 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3285 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3287 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2940 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3287 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3285 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3288 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3289 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3290 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3291 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3292 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3293 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3294 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3295 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3296 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3297 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3298 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3299 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 3300 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3301 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3302 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3303 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3304 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3305 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3306 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3307 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2972 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3308 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3309 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3310 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3311 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3312 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3314 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3316 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3317 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3318 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3320 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3322 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3324 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3326 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3327 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3328 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3329 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3331 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3332 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3333 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3334 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3336 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3338 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3339 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3340 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 3342 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2985 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3344 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3345 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3346 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3312 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3314 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3047 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2644 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3347 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3349 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3045 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2687 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2668 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3350 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3351 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3354 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2716 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2687 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3051 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3022 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3355 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1987 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3357 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3358 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3359 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3360 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3362 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3363 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3364 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3365 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3366 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3367 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3367 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2482 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2482 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3368 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3369 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3370 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3371 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3372 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
-    .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3373 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3375 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3330 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3376 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3377 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3378 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3379 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3084 },
-    .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 3381 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3383 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3384 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3385 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3386 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3387 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3388 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3389 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3390 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3391 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3392 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2800 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3393 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3132 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3132 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3394 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3395 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3396 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3397 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3398 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3399 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3400 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3401 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3404 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3405 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3406 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3407 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3408 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3409 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3411 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 3412 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3414 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 242, .child_index = 3415 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 3420 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3421 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3423 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 3424 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3425 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 3427 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3431 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3432 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3433 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3434 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3435 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 3436 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3438 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3439 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 3440 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 45, .child_index = 3441 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3442 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3439 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3443 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3444 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3445 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 186, .child_index = 3446 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 3451 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3452 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 3453 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 3455 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 3459 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3465 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3466 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3467 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 3468 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3469 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3471 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3472 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3473 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3474 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3476 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3477 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3478 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3479 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3484 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3485 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3486 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3487 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3487 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 3489 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 3495 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3173 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3497 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3498 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3499 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3500 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3291 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3504 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3505 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3506 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3507 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1618 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2562 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3509 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2976 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3510 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 3511 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3512 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3512 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3513 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3514 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3209 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3212 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3515 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3516 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3517 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3518 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3519 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3520 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3521 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 3522 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3527 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3528 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3529 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3530 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3531 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3532 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3533 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3534 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3535 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3536 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3537 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3538 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3539 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3540 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3541 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3547 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2477 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3548 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3549 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3550 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3551 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3552 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3553 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3554 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3555 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3557 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3558 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3559 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3561 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3562 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3563 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3564 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3565 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3566 },
-    .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 3567 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3569 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3570 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3572 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3573 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3574 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3576 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3577 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3578 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3579 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3580 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3581 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3579 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3582 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3583 },
-    .{ .char = 'T', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3584 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3585 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3379 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3586 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3500 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3587 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3588 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3589 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3590 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3591 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3592 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3593 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3594 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 3595 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3596 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3597 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3598 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3365 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3599 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2594 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3600 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3601 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3602 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3603 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3604 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3605 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3607 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3608 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3611 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3612 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3613 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3614 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3616 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3322 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3617 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3620 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3621 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3622 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3323 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3623 },
-    .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3626 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3628 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3629 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3630 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3632 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3634 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3635 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 3637 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 3639 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3641 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3642 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3645 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3648 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3648 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3649 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3350 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3651 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3652 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3653 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3654 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3655 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3656 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3657 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3658 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3659 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3660 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3661 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3662 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3663 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3664 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3665 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3666 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3668 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3669 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3670 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3671 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3672 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3673 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3674 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3675 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3676 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3677 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3678 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3500 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3391 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3679 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3680 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3126 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3681 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3682 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3683 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3684 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3686 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3686 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3686 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3687 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3688 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3689 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3691 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3692 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3693 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3694 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3695 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3697 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3698 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3699 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3700 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3701 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 206, .child_index = 3702 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3707 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3708 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3709 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3710 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3711 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3713 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3714 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3715 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3716 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3717 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3717 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3719 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3423 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3720 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3721 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 3722 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3724 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 3722 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3729 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 3730 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 45, .child_index = 3734 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3736 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3737 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3738 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3739 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3741 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 3742 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3746 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3747 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 3748 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3750 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3752 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3753 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3755 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3756 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3758 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3759 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3761 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3762 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3763 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3766 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3767 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3770 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3770 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3771 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 3773 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3775 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3776 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3777 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3778 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3779 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3781 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3782 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3784 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3476 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3785 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3786 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3789 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3790 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3786 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3791 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3792 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3793 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3794 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3796 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3797 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3799 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3803 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3804 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3799 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3722 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3805 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3807 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3809 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3810 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2235 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3811 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3814 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3815 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3818 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 3819 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3512 },
-    .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3820 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3821 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3822 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3823 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2944 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3824 },
-    .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2966 },
-    .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3825 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3826 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3827 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3828 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3829 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3830 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3831 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3832 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3833 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3834 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3838 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3839 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3840 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3842 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3843 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3844 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3845 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3847 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3848 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3849 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3850 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3580 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3851 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3852 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3853 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3854 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3855 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3856 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2854 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3857 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3858 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3859 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3860 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3862 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3863 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3864 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3867 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3868 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3869 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3870 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3871 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3870 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3872 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3874 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3875 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3876 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3878 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3879 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3880 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3881 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3882 },
-    .{ .char = 'T', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 3884 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3886 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3887 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3888 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3889 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3890 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3891 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3892 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3893 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 3894 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3895 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3600 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3896 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3897 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3898 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2168 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3899 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3900 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3902 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3905 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3619 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3322 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3907 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3908 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 578 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3910 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3912 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3913 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3914 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3916 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3917 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3918 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3919 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3920 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3921 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3922 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3923 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3925 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3926 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3928 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3930 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3900 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3931 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3934 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3935 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3936 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3937 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3938 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3939 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3940 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3941 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3942 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3943 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3944 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3945 },
-    .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3946 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3947 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3669 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3948 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3949 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3950 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3951 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3952 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3953 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3955 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3956 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3957 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3958 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3961 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3962 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3963 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3964 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3965 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3966 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3967 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3969 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3970 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3971 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3972 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3974 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3976 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3977 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3974 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3980 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3694 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3982 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 3983 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3985 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 170, .child_index = 3986 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 3989 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3990 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3991 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3993 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3977 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3994 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3994 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3995 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3996 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3998 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3999 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4002 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4002 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3974 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4003 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4005 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 4006 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4008 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4010 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4010 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4010 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4010 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4011 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4012 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4013 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4016 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4017 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 4019 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 4021 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4023 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 4027 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 4029 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 4033 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 4029 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 4029 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4027 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 4038 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3746 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4039 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4040 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4041 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 4025 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4042 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4044 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4045 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4045 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4046 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3755 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3758 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4047 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4049 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4050 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4051 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4051 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4052 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3761 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3762 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3766 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4006 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4053 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4054 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 4055 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4008 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4057 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4058 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4060 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4060 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4061 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4062 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3798 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3785 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3789 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3790 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4063 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4065 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4066 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4067 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4068 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3796 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4069 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4071 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4072 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4075 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3797 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3803 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3804 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4076 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4078 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3783 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4079 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2235 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4081 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4082 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3507 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3289 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 4084 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4092 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4093 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 4094 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4095 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1661 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2544 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4096 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4097 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4098 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4099 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4100 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4101 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4102 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 568 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4103 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4104 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4105 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4107 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2602 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3847 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4108 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4109 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4110 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4112 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4113 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4114 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4115 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4116 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4117 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4118 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4119 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4120 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4121 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4122 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4123 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4124 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4125 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4127 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4128 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4129 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4130 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4131 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4132 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4133 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4134 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4136 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4137 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4139 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4140 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4141 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2931 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4142 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4143 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4144 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4145 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4146 },
-    .{ .char = 'A', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 4147 },
-    .{ .char = 'T', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4148 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4149 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 4150 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4152 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1789 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4153 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 4154 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4166 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4167 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4168 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4169 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4170 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4173 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3901 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4175 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4176 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4177 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4179 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2431 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4180 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4181 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3917 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3918 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4182 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4183 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3917 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3925 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4184 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4185 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4186 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4187 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4190 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4191 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4192 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4194 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4195 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4196 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3118 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4197 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4198 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4199 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4200 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3379 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3230 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4203 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4204 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4205 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4206 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4207 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4208 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4209 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4210 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3597 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3961 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4211 },
-    .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4211 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4212 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4213 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4214 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4215 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4215 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4216 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4217 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4218 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3712 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4219 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4220 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4221 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4222 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4223 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4224 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4225 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4226 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 4228 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 84, .child_index = 4228 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4225 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4233 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3989 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4234 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3977 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4236 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4237 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4066 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4238 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4239 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4240 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3682 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3470 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4241 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3470 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4243 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4244 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4245 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4246 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 4248 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4248 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4250 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4251 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4250 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4250 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3470 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4253 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4253 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4254 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4257 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4260 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4254 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4257 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4027 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4262 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4262 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3779 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3783 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4264 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3759 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3755 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3762 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3766 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4265 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4266 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4047 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3762 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4268 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4270 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 4271 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4241 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4244 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4244 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4244 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4273 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4275 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4276 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3785 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3790 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3785 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4280 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4281 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4282 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4282 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4283 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3803 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3804 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4284 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3804 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3798 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4285 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4285 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4286 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4288 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4288 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4289 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4291 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4292 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 4293 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4297 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4298 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4299 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4300 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4301 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4302 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 4303 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4305 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4306 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4307 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4308 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4309 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4310 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4312 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4313 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4314 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4317 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4318 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4319 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4320 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4321 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4322 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4323 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4324 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4325 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4327 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4328 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4329 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4330 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4331 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4332 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4333 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4334 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4336 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4338 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4339 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4340 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4341 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3899 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4342 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4343 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4344 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4345 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4346 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4347 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4348 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4346 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4349 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4350 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4352 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3569 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4353 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4354 },
-    .{ .char = 'T', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4355 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4356 },
-    .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2944 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4357 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4358 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4359 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4361 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4362 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4365 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4366 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4368 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3209 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4369 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3530 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4370 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4372 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4375 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4376 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4377 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4378 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4379 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4380 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4381 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3327 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4382 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4383 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4384 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3327 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4385 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4386 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4387 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4185 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4388 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4389 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4390 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4391 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4392 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4393 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4394 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4395 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4396 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4397 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2071 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4398 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4399 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4400 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4401 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4402 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4403 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4404 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4405 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4406 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4407 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'M', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4408 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4409 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4410 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4411 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4412 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4413 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4415 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4416 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4416 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4417 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4418 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 4420 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4423 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 4426 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4225 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4412 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4412 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4066 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4427 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3791 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3791 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4429 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4430 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4430 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4431 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4432 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4435 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4011 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4436 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4437 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4437 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4438 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4439 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4439 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4440 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4441 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4441 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4441 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4443 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4441 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4444 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4445 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4445 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4446 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4446 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4448 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4051 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4051 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4449 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4449 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4450 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3776 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4452 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4446 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4453 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4455 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4427 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4427 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4457 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4458 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3796 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4459 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4455 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4461 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4462 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4463 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4464 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4465 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4466 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4467 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4298 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4299 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4300 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4468 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4472 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4473 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4474 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4475 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4476 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 4477 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4478 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4479 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4480 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4481 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4482 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4483 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4484 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4486 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4487 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4489 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4490 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4491 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3833 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4492 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4493 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4494 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3558 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4495 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4496 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4497 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4498 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4500 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4501 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4502 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1352 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4338 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4503 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4504 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4505 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4506 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4507 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3246 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4508 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4509 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4510 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2741 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3569 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4511 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4512 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4513 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4514 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4515 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4516 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4517 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4518 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4519 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4520 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4521 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2192 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4523 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4524 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4525 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 580 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4526 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 286 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4527 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4528 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4529 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4530 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4531 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4532 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4180 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4533 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3622 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4534 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4535 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4180 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4536 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4537 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4538 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4539 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4540 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4541 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4542 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4543 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4544 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3223 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4547 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4548 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4552 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4554 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4555 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4556 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4557 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4558 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4559 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4560 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4217 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4562 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4562 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4220 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4565 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4566 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4568 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4569 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4569 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4569 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4569 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 4029 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4569 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4571 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4569 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4572 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 4029 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4236 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4573 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4574 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4432 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4435 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4246 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4576 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4250 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4578 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4580 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4581 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4582 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4582 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4214 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4583 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4583 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4584 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4587 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4588 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4588 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4589 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4590 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4590 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4431 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4265 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4432 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4432 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3530 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4591 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4593 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4299 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4594 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4595 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4464 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4596 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4597 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4598 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4599 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4600 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4601 },
-    .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4602 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4603 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4604 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4605 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4606 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4607 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4608 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2946 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4609 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4611 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4612 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3393 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4613 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4614 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4615 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4616 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4617 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4619 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4620 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4621 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4622 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4623 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4624 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4625 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4626 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4627 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4628 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4629 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4630 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4631 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4632 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4633 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4634 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4635 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4636 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4637 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4638 },
-    .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
-    .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 4639 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4641 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4642 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4635 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4643 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4644 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4645 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4646 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4647 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4649 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4650 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4651 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4652 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4653 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4654 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4655 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4656 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4658 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4659 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4660 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4661 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4662 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4663 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4664 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4665 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4665 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4666 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4667 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4668 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4556 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4671 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4672 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4435 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4673 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4220 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4234 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4674 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4675 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4676 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4676 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4677 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4562 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4562 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4244 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4459 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4011 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4058 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4275 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4443 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4580 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4678 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4278 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4679 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4680 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4682 },
-    .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4683 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4684 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4685 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4472 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4686 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4688 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4472 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 866 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4478 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 4692 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4694 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4695 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4696 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4697 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4698 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4699 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4699 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4700 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4701 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4702 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3580 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4556 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4703 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 4704 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4704 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4705 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4706 },
-    .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 4707 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4708 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4709 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4710 },
-    .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4711 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4712 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4713 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4208 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4714 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4715 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4716 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4717 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4718 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4719 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2167 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4720 },
-    .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4721 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4722 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4723 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4724 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4725 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4726 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4387 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4536 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4387 },
-    .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4185 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4727 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4728 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4729 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4730 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4731 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4731 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4732 },
-    .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4733 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4734 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4735 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4736 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4737 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4738 },
-    .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4739 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4741 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4742 },
-    .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4743 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4220 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4744 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4571 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4674 },
-    .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4066 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4066 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4745 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
-    .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
-    .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1881 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4747 },
-    .{ .char = 'w', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4748 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 4751 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4755 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4756 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4757 },
-    .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4758 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3807 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4759 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4760 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4761 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4762 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4763 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4764 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4765 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4334 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4129 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4766 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4767 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4768 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4769 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4770 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4772 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4773 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4774 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4775 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4776 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4777 },
-    .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4778 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4779 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4780 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4781 },
-    .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4782 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4783 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4785 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4786 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4787 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4659 },
-    .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4732 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4788 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4789 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4790 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4791 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4792 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4791 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4793 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4793 },
-    .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4795 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4798 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4799 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4800 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4677 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4677 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4802 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4803 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 496 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3288 },
-    .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
-    .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'P', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4804 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4805 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4806 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2972 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4807 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4808 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4809 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2730 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4811 },
-    .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4812 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4813 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3881 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4404 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4327 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4814 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4815 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4816 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4817 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4818 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4819 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4820 },
-    .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4821 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4822 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 4823 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4823 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4824 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2799 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4825 },
-    .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4732 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 183 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4826 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4827 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4828 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4829 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4829 },
-    .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4829 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4829 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4612 },
-    .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4831 },
-    .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4833 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4834 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4835 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4836 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4837 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2883 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4841 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2946 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
-    .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4842 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3288 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4843 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4844 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4845 },
-    .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4846 },
-    .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4847 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4848 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3937 },
-    .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4849 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4850 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4851 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
-    .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4852 },
-    .{ .char = '_', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4829 },
-    .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4853 },
-    .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4854 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4855 },
-    .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4856 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4505 },
-    .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 520 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 420 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4857 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4858 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4859 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4860 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3223 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4861 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4862 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3117 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4863 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2384 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4864 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4865 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4868 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4869 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4870 },
-    .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4871 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4872 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4873 },
-    .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4874 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4834 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4875 },
-    .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4875 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4877 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4878 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4879 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
-    .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4880 },
-    .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
-    .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4882 },
-    .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4883 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4884 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4885 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4886 },
-    .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4887 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4888 },
-    .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4889 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4890 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4891 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4892 },
-    .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4893 },
-    .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1654 },
-    .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4894 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4895 },
-    .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4896 },
-    .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
-    .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4897 },
-    .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4898 },
-    .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4899 },
-    .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
-};
-const builtin_data = blk: {
-    @setEvalBranchQuota(3948);
-    break :blk [_]@This(){
-        // _Block_object_assign
-        .{ .tag = @enumFromInt(0), .param_str = "vv*vC*iC", .properties = .{ .header = .blocks, .attributes = .{ .lib_function_without_prefix = true } } },
-        // _Block_object_dispose
-        .{ .tag = @enumFromInt(1), .param_str = "vvC*iC", .properties = .{ .header = .blocks, .attributes = .{ .lib_function_without_prefix = true } } },
-        // _Exit
-        .{ .tag = @enumFromInt(2), .param_str = "vi", .properties = .{ .header = .stdlib, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
-        // _InterlockedAnd
-        .{ .tag = @enumFromInt(3), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedAnd16
-        .{ .tag = @enumFromInt(4), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedAnd8
-        .{ .tag = @enumFromInt(5), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedCompareExchange
-        .{ .tag = @enumFromInt(6), .param_str = "NiNiD*NiNi", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedCompareExchange16
-        .{ .tag = @enumFromInt(7), .param_str = "ssD*ss", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedCompareExchange64
-        .{ .tag = @enumFromInt(8), .param_str = "LLiLLiD*LLiLLi", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedCompareExchange8
-        .{ .tag = @enumFromInt(9), .param_str = "ccD*cc", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedCompareExchangePointer
-        .{ .tag = @enumFromInt(10), .param_str = "v*v*D*v*v*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedCompareExchangePointer_nf
-        .{ .tag = @enumFromInt(11), .param_str = "v*v*D*v*v*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedDecrement
-        .{ .tag = @enumFromInt(12), .param_str = "NiNiD*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedDecrement16
-        .{ .tag = @enumFromInt(13), .param_str = "ssD*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchange
-        .{ .tag = @enumFromInt(14), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchange16
-        .{ .tag = @enumFromInt(15), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchange8
-        .{ .tag = @enumFromInt(16), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangeAdd
-        .{ .tag = @enumFromInt(17), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangeAdd16
-        .{ .tag = @enumFromInt(18), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangeAdd8
-        .{ .tag = @enumFromInt(19), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangePointer
-        .{ .tag = @enumFromInt(20), .param_str = "v*v*D*v*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangeSub
-        .{ .tag = @enumFromInt(21), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangeSub16
-        .{ .tag = @enumFromInt(22), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedExchangeSub8
-        .{ .tag = @enumFromInt(23), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedIncrement
-        .{ .tag = @enumFromInt(24), .param_str = "NiNiD*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedIncrement16
-        .{ .tag = @enumFromInt(25), .param_str = "ssD*", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedOr
-        .{ .tag = @enumFromInt(26), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedOr16
-        .{ .tag = @enumFromInt(27), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedOr8
-        .{ .tag = @enumFromInt(28), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedXor
-        .{ .tag = @enumFromInt(29), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedXor16
-        .{ .tag = @enumFromInt(30), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
-        // _InterlockedXor8
-        .{ .tag = @enumFromInt(31), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
-        // _MoveFromCoprocessor
-        .{ .tag = @enumFromInt(32), .param_str = "UiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
-        // _MoveFromCoprocessor2
-        .{ .tag = @enumFromInt(33), .param_str = "UiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
-        // _MoveToCoprocessor
-        .{ .tag = @enumFromInt(34), .param_str = "vUiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
-        // _MoveToCoprocessor2
-        .{ .tag = @enumFromInt(35), .param_str = "vUiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
-        // _ReturnAddress
-        .{ .tag = @enumFromInt(36), .param_str = "v*", .properties = .{ .language = .all_ms_languages } },
-        // __GetExceptionInfo
-        .{ .tag = @enumFromInt(37), .param_str = "v*.", .properties = .{ .language = .all_ms_languages, .attributes = .{ .custom_typecheck = true, .eval_args = false } } },
-        // __abnormal_termination
-        .{ .tag = @enumFromInt(38), .param_str = "i", .properties = .{ .language = .all_ms_languages } },
-        // __annotation
-        .{ .tag = @enumFromInt(39), .param_str = "wC*.", .properties = .{ .language = .all_ms_languages } },
-        // __arithmetic_fence
-        .{ .tag = @enumFromInt(40), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
-        // __assume
-        .{ .tag = @enumFromInt(41), .param_str = "vb", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // __atomic_always_lock_free
-        .{ .tag = @enumFromInt(42), .param_str = "bzvCD*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __atomic_clear
-        .{ .tag = @enumFromInt(43), .param_str = "vvD*i", .properties = .{} },
-        // __atomic_is_lock_free
-        .{ .tag = @enumFromInt(44), .param_str = "bzvCD*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __atomic_signal_fence
-        .{ .tag = @enumFromInt(45), .param_str = "vi", .properties = .{} },
-        // __atomic_test_and_set
-        .{ .tag = @enumFromInt(46), .param_str = "bvD*i", .properties = .{} },
-        // __atomic_thread_fence
-        .{ .tag = @enumFromInt(47), .param_str = "vi", .properties = .{} },
-        // __builtin___CFStringMakeConstantString
-        .{ .tag = @enumFromInt(48), .param_str = "FC*cC*", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin___NSStringMakeConstantString
-        .{ .tag = @enumFromInt(49), .param_str = "FC*cC*", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin___clear_cache
-        .{ .tag = @enumFromInt(50), .param_str = "vc*c*", .properties = .{} },
-        // __builtin___fprintf_chk
-        .{ .tag = @enumFromInt(51), .param_str = "iP*RicC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 2 } } },
-        // __builtin___get_unsafe_stack_bottom
-        .{ .tag = @enumFromInt(52), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___get_unsafe_stack_ptr
-        .{ .tag = @enumFromInt(53), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___get_unsafe_stack_start
-        .{ .tag = @enumFromInt(54), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___get_unsafe_stack_top
-        .{ .tag = @enumFromInt(55), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___memccpy_chk
-        .{ .tag = @enumFromInt(56), .param_str = "v*v*vC*izz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___memcpy_chk
-        .{ .tag = @enumFromInt(57), .param_str = "v*v*vC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___memmove_chk
-        .{ .tag = @enumFromInt(58), .param_str = "v*v*vC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___mempcpy_chk
-        .{ .tag = @enumFromInt(59), .param_str = "v*v*vC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___memset_chk
-        .{ .tag = @enumFromInt(60), .param_str = "v*v*izz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___printf_chk
-        .{ .tag = @enumFromInt(61), .param_str = "iicC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
-        // __builtin___snprintf_chk
-        .{ .tag = @enumFromInt(62), .param_str = "ic*RzizcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 4 } } },
-        // __builtin___sprintf_chk
-        .{ .tag = @enumFromInt(63), .param_str = "ic*RizcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 3 } } },
-        // __builtin___stpcpy_chk
-        .{ .tag = @enumFromInt(64), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___stpncpy_chk
-        .{ .tag = @enumFromInt(65), .param_str = "c*c*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___strcat_chk
-        .{ .tag = @enumFromInt(66), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___strcpy_chk
-        .{ .tag = @enumFromInt(67), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___strlcat_chk
-        .{ .tag = @enumFromInt(68), .param_str = "zc*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___strlcpy_chk
-        .{ .tag = @enumFromInt(69), .param_str = "zc*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___strncat_chk
-        .{ .tag = @enumFromInt(70), .param_str = "c*c*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___strncpy_chk
-        .{ .tag = @enumFromInt(71), .param_str = "c*c*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin___vfprintf_chk
-        .{ .tag = @enumFromInt(72), .param_str = "iP*RicC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 2 } } },
-        // __builtin___vprintf_chk
-        .{ .tag = @enumFromInt(73), .param_str = "iicC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
-        // __builtin___vsnprintf_chk
-        .{ .tag = @enumFromInt(74), .param_str = "ic*RzizcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 4 } } },
-        // __builtin___vsprintf_chk
-        .{ .tag = @enumFromInt(75), .param_str = "ic*RizcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 3 } } },
-        // __builtin_abort
-        .{ .tag = @enumFromInt(76), .param_str = "v", .properties = .{ .attributes = .{ .noreturn = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_abs
-        .{ .tag = @enumFromInt(77), .param_str = "ii", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_acos
-        .{ .tag = @enumFromInt(78), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acosf
-        .{ .tag = @enumFromInt(79), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acosf128
-        .{ .tag = @enumFromInt(80), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acosh
-        .{ .tag = @enumFromInt(81), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acoshf
-        .{ .tag = @enumFromInt(82), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acoshf128
-        .{ .tag = @enumFromInt(83), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acoshl
-        .{ .tag = @enumFromInt(84), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_acosl
-        .{ .tag = @enumFromInt(85), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_add_overflow
-        .{ .tag = @enumFromInt(86), .param_str = "b.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_addc
-        .{ .tag = @enumFromInt(87), .param_str = "UiUiCUiCUiCUi*", .properties = .{} },
-        // __builtin_addcb
-        .{ .tag = @enumFromInt(88), .param_str = "UcUcCUcCUcCUc*", .properties = .{} },
-        // __builtin_addcl
-        .{ .tag = @enumFromInt(89), .param_str = "ULiULiCULiCULiCULi*", .properties = .{} },
-        // __builtin_addcll
-        .{ .tag = @enumFromInt(90), .param_str = "ULLiULLiCULLiCULLiCULLi*", .properties = .{} },
-        // __builtin_addcs
-        .{ .tag = @enumFromInt(91), .param_str = "UsUsCUsCUsCUs*", .properties = .{} },
-        // __builtin_align_down
-        .{ .tag = @enumFromInt(92), .param_str = "v*vC*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_align_up
-        .{ .tag = @enumFromInt(93), .param_str = "v*vC*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_alloca
-        .{ .tag = @enumFromInt(94), .param_str = "v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_alloca_uninitialized
-        .{ .tag = @enumFromInt(95), .param_str = "v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_alloca_with_align
-        .{ .tag = @enumFromInt(96), .param_str = "v*zIz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_alloca_with_align_uninitialized
-        .{ .tag = @enumFromInt(97), .param_str = "v*zIz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_amdgcn_alignbit
-        .{ .tag = @enumFromInt(98), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_alignbyte
-        .{ .tag = @enumFromInt(99), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_atomic_dec32
-        .{ .tag = @enumFromInt(100), .param_str = "UZiUZiD*UZiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_atomic_dec64
-        .{ .tag = @enumFromInt(101), .param_str = "UWiUWiD*UWiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_atomic_inc32
-        .{ .tag = @enumFromInt(102), .param_str = "UZiUZiD*UZiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_atomic_inc64
-        .{ .tag = @enumFromInt(103), .param_str = "UWiUWiD*UWiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_buffer_wbinvl1
-        .{ .tag = @enumFromInt(104), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_class
-        .{ .tag = @enumFromInt(105), .param_str = "bdi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_classf
-        .{ .tag = @enumFromInt(106), .param_str = "bfi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cosf
-        .{ .tag = @enumFromInt(107), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cubeid
-        .{ .tag = @enumFromInt(108), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cubema
-        .{ .tag = @enumFromInt(109), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cubesc
-        .{ .tag = @enumFromInt(110), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cubetc
-        .{ .tag = @enumFromInt(111), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cvt_pk_i16
-        .{ .tag = @enumFromInt(112), .param_str = "E2sii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cvt_pk_u16
-        .{ .tag = @enumFromInt(113), .param_str = "E2UsUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cvt_pk_u8_f32
-        .{ .tag = @enumFromInt(114), .param_str = "UifUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cvt_pknorm_i16
-        .{ .tag = @enumFromInt(115), .param_str = "E2sff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cvt_pknorm_u16
-        .{ .tag = @enumFromInt(116), .param_str = "E2Usff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_cvt_pkrtz
-        .{ .tag = @enumFromInt(117), .param_str = "E2hff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_dispatch_ptr
-        .{ .tag = @enumFromInt(118), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_div_fixup
-        .{ .tag = @enumFromInt(119), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_div_fixupf
-        .{ .tag = @enumFromInt(120), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_div_fmas
-        .{ .tag = @enumFromInt(121), .param_str = "ddddb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_div_fmasf
-        .{ .tag = @enumFromInt(122), .param_str = "ffffb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_div_scale
-        .{ .tag = @enumFromInt(123), .param_str = "dddbb*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_div_scalef
-        .{ .tag = @enumFromInt(124), .param_str = "fffbb*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_ds_append
-        .{ .tag = @enumFromInt(125), .param_str = "ii*3", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_ds_bpermute
-        .{ .tag = @enumFromInt(126), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_ds_consume
-        .{ .tag = @enumFromInt(127), .param_str = "ii*3", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_ds_faddf
-        .{ .tag = @enumFromInt(128), .param_str = "ff*3fIiIiIb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_ds_fmaxf
-        .{ .tag = @enumFromInt(129), .param_str = "ff*3fIiIiIb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_ds_fminf
-        .{ .tag = @enumFromInt(130), .param_str = "ff*3fIiIiIb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_ds_permute
-        .{ .tag = @enumFromInt(131), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_ds_swizzle
-        .{ .tag = @enumFromInt(132), .param_str = "iiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_endpgm
-        .{ .tag = @enumFromInt(133), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .noreturn = true } } },
-        // __builtin_amdgcn_exp2f
-        .{ .tag = @enumFromInt(134), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_fcmp
-        .{ .tag = @enumFromInt(135), .param_str = "WUiddIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_fcmpf
-        .{ .tag = @enumFromInt(136), .param_str = "WUiffIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_fence
-        .{ .tag = @enumFromInt(137), .param_str = "vUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_fmed3f
-        .{ .tag = @enumFromInt(138), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_fract
-        .{ .tag = @enumFromInt(139), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_fractf
-        .{ .tag = @enumFromInt(140), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_frexp_exp
-        .{ .tag = @enumFromInt(141), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_frexp_expf
-        .{ .tag = @enumFromInt(142), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_frexp_mant
-        .{ .tag = @enumFromInt(143), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_frexp_mantf
-        .{ .tag = @enumFromInt(144), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_grid_size_x
-        .{ .tag = @enumFromInt(145), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_grid_size_y
-        .{ .tag = @enumFromInt(146), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_grid_size_z
-        .{ .tag = @enumFromInt(147), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_groupstaticsize
-        .{ .tag = @enumFromInt(148), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_iglp_opt
-        .{ .tag = @enumFromInt(149), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_implicitarg_ptr
-        .{ .tag = @enumFromInt(150), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_interp_mov
-        .{ .tag = @enumFromInt(151), .param_str = "fUiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_interp_p1
-        .{ .tag = @enumFromInt(152), .param_str = "ffUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_interp_p1_f16
-        .{ .tag = @enumFromInt(153), .param_str = "ffUiUibUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_interp_p2
-        .{ .tag = @enumFromInt(154), .param_str = "fffUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_interp_p2_f16
-        .{ .tag = @enumFromInt(155), .param_str = "hffUiUibUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_is_private
-        .{ .tag = @enumFromInt(156), .param_str = "bvC*0", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_is_shared
-        .{ .tag = @enumFromInt(157), .param_str = "bvC*0", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_kernarg_segment_ptr
-        .{ .tag = @enumFromInt(158), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_ldexp
-        .{ .tag = @enumFromInt(159), .param_str = "ddi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_ldexpf
-        .{ .tag = @enumFromInt(160), .param_str = "ffi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_lerp
-        .{ .tag = @enumFromInt(161), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_log_clampf
-        .{ .tag = @enumFromInt(162), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_logf
-        .{ .tag = @enumFromInt(163), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_mbcnt_hi
-        .{ .tag = @enumFromInt(164), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_mbcnt_lo
-        .{ .tag = @enumFromInt(165), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_mqsad_pk_u16_u8
-        .{ .tag = @enumFromInt(166), .param_str = "WUiWUiUiWUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_mqsad_u32_u8
-        .{ .tag = @enumFromInt(167), .param_str = "V4UiWUiUiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_msad_u8
-        .{ .tag = @enumFromInt(168), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_qsad_pk_u16_u8
-        .{ .tag = @enumFromInt(169), .param_str = "WUiWUiUiWUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_queue_ptr
-        .{ .tag = @enumFromInt(170), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_rcp
-        .{ .tag = @enumFromInt(171), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_rcpf
-        .{ .tag = @enumFromInt(172), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_read_exec
-        .{ .tag = @enumFromInt(173), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_read_exec_hi
-        .{ .tag = @enumFromInt(174), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_read_exec_lo
-        .{ .tag = @enumFromInt(175), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_readfirstlane
-        .{ .tag = @enumFromInt(176), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_readlane
-        .{ .tag = @enumFromInt(177), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_rsq
-        .{ .tag = @enumFromInt(178), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_rsq_clamp
-        .{ .tag = @enumFromInt(179), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_rsq_clampf
-        .{ .tag = @enumFromInt(180), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_rsqf
-        .{ .tag = @enumFromInt(181), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_s_barrier
-        .{ .tag = @enumFromInt(182), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_dcache_inv
-        .{ .tag = @enumFromInt(183), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_decperflevel
-        .{ .tag = @enumFromInt(184), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_getpc
-        .{ .tag = @enumFromInt(185), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_getreg
-        .{ .tag = @enumFromInt(186), .param_str = "UiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_incperflevel
-        .{ .tag = @enumFromInt(187), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_sendmsg
-        .{ .tag = @enumFromInt(188), .param_str = "vIiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_sendmsghalt
-        .{ .tag = @enumFromInt(189), .param_str = "vIiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_setprio
-        .{ .tag = @enumFromInt(190), .param_str = "vIs", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_setreg
-        .{ .tag = @enumFromInt(191), .param_str = "vIiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_sleep
-        .{ .tag = @enumFromInt(192), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_s_waitcnt
-        .{ .tag = @enumFromInt(193), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_sad_hi_u8
-        .{ .tag = @enumFromInt(194), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sad_u16
-        .{ .tag = @enumFromInt(195), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sad_u8
-        .{ .tag = @enumFromInt(196), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sbfe
-        .{ .tag = @enumFromInt(197), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sched_barrier
-        .{ .tag = @enumFromInt(198), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_sched_group_barrier
-        .{ .tag = @enumFromInt(199), .param_str = "vIiIiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_sicmp
-        .{ .tag = @enumFromInt(200), .param_str = "WUiiiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sicmpl
-        .{ .tag = @enumFromInt(201), .param_str = "WUiWiWiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sinf
-        .{ .tag = @enumFromInt(202), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sqrt
-        .{ .tag = @enumFromInt(203), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_sqrtf
-        .{ .tag = @enumFromInt(204), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_trig_preop
-        .{ .tag = @enumFromInt(205), .param_str = "ddi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_trig_preopf
-        .{ .tag = @enumFromInt(206), .param_str = "ffi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_ubfe
-        .{ .tag = @enumFromInt(207), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_uicmp
-        .{ .tag = @enumFromInt(208), .param_str = "WUiUiUiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_uicmpl
-        .{ .tag = @enumFromInt(209), .param_str = "WUiWUiWUiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_wave_barrier
-        .{ .tag = @enumFromInt(210), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
-        // __builtin_amdgcn_workgroup_id_x
-        .{ .tag = @enumFromInt(211), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workgroup_id_y
-        .{ .tag = @enumFromInt(212), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workgroup_id_z
-        .{ .tag = @enumFromInt(213), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workgroup_size_x
-        .{ .tag = @enumFromInt(214), .param_str = "Us", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workgroup_size_y
-        .{ .tag = @enumFromInt(215), .param_str = "Us", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workgroup_size_z
-        .{ .tag = @enumFromInt(216), .param_str = "Us", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workitem_id_x
-        .{ .tag = @enumFromInt(217), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workitem_id_y
-        .{ .tag = @enumFromInt(218), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_amdgcn_workitem_id_z
-        .{ .tag = @enumFromInt(219), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_annotation
-        .{ .tag = @enumFromInt(220), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_arm_cdp
-        .{ .tag = @enumFromInt(221), .param_str = "vUIiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_cdp2
-        .{ .tag = @enumFromInt(222), .param_str = "vUIiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_clrex
-        .{ .tag = @enumFromInt(223), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_arm_cls
-        .{ .tag = @enumFromInt(224), .param_str = "UiZUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_cls64
-        .{ .tag = @enumFromInt(225), .param_str = "UiWUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_clz
-        .{ .tag = @enumFromInt(226), .param_str = "UiZUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_clz64
-        .{ .tag = @enumFromInt(227), .param_str = "UiWUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_cmse_TT
-        .{ .tag = @enumFromInt(228), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_cmse_TTA
-        .{ .tag = @enumFromInt(229), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_cmse_TTAT
-        .{ .tag = @enumFromInt(230), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_cmse_TTT
-        .{ .tag = @enumFromInt(231), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_dbg
-        .{ .tag = @enumFromInt(232), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_dmb
-        .{ .tag = @enumFromInt(233), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_dsb
-        .{ .tag = @enumFromInt(234), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_get_fpscr
-        .{ .tag = @enumFromInt(235), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_isb
-        .{ .tag = @enumFromInt(236), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_ldaex
-        .{ .tag = @enumFromInt(237), .param_str = "v.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_arm_ldc
-        .{ .tag = @enumFromInt(238), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_ldc2
-        .{ .tag = @enumFromInt(239), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_ldc2l
-        .{ .tag = @enumFromInt(240), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_ldcl
-        .{ .tag = @enumFromInt(241), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_ldrex
-        .{ .tag = @enumFromInt(242), .param_str = "v.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_arm_ldrexd
-        .{ .tag = @enumFromInt(243), .param_str = "LLUiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mcr
-        .{ .tag = @enumFromInt(244), .param_str = "vUIiUIiUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mcr2
-        .{ .tag = @enumFromInt(245), .param_str = "vUIiUIiUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mcrr
-        .{ .tag = @enumFromInt(246), .param_str = "vUIiUIiLLUiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mcrr2
-        .{ .tag = @enumFromInt(247), .param_str = "vUIiUIiLLUiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mrc
-        .{ .tag = @enumFromInt(248), .param_str = "UiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mrc2
-        .{ .tag = @enumFromInt(249), .param_str = "UiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mrrc
-        .{ .tag = @enumFromInt(250), .param_str = "LLUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_mrrc2
-        .{ .tag = @enumFromInt(251), .param_str = "LLUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_nop
-        .{ .tag = @enumFromInt(252), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_arm_prefetch
-        .{ .tag = @enumFromInt(253), .param_str = "!", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qadd
-        .{ .tag = @enumFromInt(254), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qadd16
-        .{ .tag = @enumFromInt(255), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qadd8
-        .{ .tag = @enumFromInt(256), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qasx
-        .{ .tag = @enumFromInt(257), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qdbl
-        .{ .tag = @enumFromInt(258), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qsax
-        .{ .tag = @enumFromInt(259), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qsub
-        .{ .tag = @enumFromInt(260), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qsub16
-        .{ .tag = @enumFromInt(261), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_qsub8
-        .{ .tag = @enumFromInt(262), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_rbit
-        .{ .tag = @enumFromInt(263), .param_str = "UiUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_rbit64
-        .{ .tag = @enumFromInt(264), .param_str = "WUiWUi", .properties = .{ .target_set = TargetSet.initOne(.aarch64), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_rsr
-        .{ .tag = @enumFromInt(265), .param_str = "UicC*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_rsr64
-        .{ .tag = @enumFromInt(266), .param_str = "!", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_rsrp
-        .{ .tag = @enumFromInt(267), .param_str = "v*cC*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_sadd16
-        .{ .tag = @enumFromInt(268), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_sadd8
-        .{ .tag = @enumFromInt(269), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_sasx
-        .{ .tag = @enumFromInt(270), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_sel
-        .{ .tag = @enumFromInt(271), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_set_fpscr
-        .{ .tag = @enumFromInt(272), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_sev
-        .{ .tag = @enumFromInt(273), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_arm_sevl
-        .{ .tag = @enumFromInt(274), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_arm_shadd16
-        .{ .tag = @enumFromInt(275), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_shadd8
-        .{ .tag = @enumFromInt(276), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_shasx
-        .{ .tag = @enumFromInt(277), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_shsax
-        .{ .tag = @enumFromInt(278), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_shsub16
-        .{ .tag = @enumFromInt(279), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_shsub8
-        .{ .tag = @enumFromInt(280), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlabb
-        .{ .tag = @enumFromInt(281), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlabt
-        .{ .tag = @enumFromInt(282), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlad
-        .{ .tag = @enumFromInt(283), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smladx
-        .{ .tag = @enumFromInt(284), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlald
-        .{ .tag = @enumFromInt(285), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlaldx
-        .{ .tag = @enumFromInt(286), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlatb
-        .{ .tag = @enumFromInt(287), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlatt
-        .{ .tag = @enumFromInt(288), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlawb
-        .{ .tag = @enumFromInt(289), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlawt
-        .{ .tag = @enumFromInt(290), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlsd
-        .{ .tag = @enumFromInt(291), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlsdx
-        .{ .tag = @enumFromInt(292), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlsld
-        .{ .tag = @enumFromInt(293), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smlsldx
-        .{ .tag = @enumFromInt(294), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smuad
-        .{ .tag = @enumFromInt(295), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smuadx
-        .{ .tag = @enumFromInt(296), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smulbb
-        .{ .tag = @enumFromInt(297), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smulbt
-        .{ .tag = @enumFromInt(298), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smultb
-        .{ .tag = @enumFromInt(299), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smultt
-        .{ .tag = @enumFromInt(300), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smulwb
-        .{ .tag = @enumFromInt(301), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smulwt
-        .{ .tag = @enumFromInt(302), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smusd
-        .{ .tag = @enumFromInt(303), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_smusdx
-        .{ .tag = @enumFromInt(304), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_ssat
-        .{ .tag = @enumFromInt(305), .param_str = "iiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_ssat16
-        .{ .tag = @enumFromInt(306), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_ssax
-        .{ .tag = @enumFromInt(307), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_ssub16
-        .{ .tag = @enumFromInt(308), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_ssub8
-        .{ .tag = @enumFromInt(309), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_stc
-        .{ .tag = @enumFromInt(310), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_stc2
-        .{ .tag = @enumFromInt(311), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_stc2l
-        .{ .tag = @enumFromInt(312), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_stcl
-        .{ .tag = @enumFromInt(313), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_stlex
-        .{ .tag = @enumFromInt(314), .param_str = "i.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_arm_strex
-        .{ .tag = @enumFromInt(315), .param_str = "i.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_arm_strexd
-        .{ .tag = @enumFromInt(316), .param_str = "iLLUiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
-        // __builtin_arm_sxtab16
-        .{ .tag = @enumFromInt(317), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_sxtb16
-        .{ .tag = @enumFromInt(318), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_tcancel
-        .{ .tag = @enumFromInt(319), .param_str = "vWUIi", .properties = .{ .target_set = TargetSet.initOne(.aarch64) } },
-        // __builtin_arm_tcommit
-        .{ .tag = @enumFromInt(320), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.aarch64) } },
-        // __builtin_arm_tstart
-        .{ .tag = @enumFromInt(321), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.aarch64), .attributes = .{ .returns_twice = true } } },
-        // __builtin_arm_ttest
-        .{ .tag = @enumFromInt(322), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.aarch64), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uadd16
-        .{ .tag = @enumFromInt(323), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uadd8
-        .{ .tag = @enumFromInt(324), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uasx
-        .{ .tag = @enumFromInt(325), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uhadd16
-        .{ .tag = @enumFromInt(326), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uhadd8
-        .{ .tag = @enumFromInt(327), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uhasx
-        .{ .tag = @enumFromInt(328), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uhsax
-        .{ .tag = @enumFromInt(329), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uhsub16
-        .{ .tag = @enumFromInt(330), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uhsub8
-        .{ .tag = @enumFromInt(331), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uqadd16
-        .{ .tag = @enumFromInt(332), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uqadd8
-        .{ .tag = @enumFromInt(333), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uqasx
-        .{ .tag = @enumFromInt(334), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uqsax
-        .{ .tag = @enumFromInt(335), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uqsub16
-        .{ .tag = @enumFromInt(336), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uqsub8
-        .{ .tag = @enumFromInt(337), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usad8
-        .{ .tag = @enumFromInt(338), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usada8
-        .{ .tag = @enumFromInt(339), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usat
-        .{ .tag = @enumFromInt(340), .param_str = "UiiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usat16
-        .{ .tag = @enumFromInt(341), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usax
-        .{ .tag = @enumFromInt(342), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usub16
-        .{ .tag = @enumFromInt(343), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_usub8
-        .{ .tag = @enumFromInt(344), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uxtab16
-        .{ .tag = @enumFromInt(345), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_uxtb16
-        .{ .tag = @enumFromInt(346), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_vcvtr_d
-        .{ .tag = @enumFromInt(347), .param_str = "fdi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_vcvtr_f
-        .{ .tag = @enumFromInt(348), .param_str = "ffi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_wfe
-        .{ .tag = @enumFromInt(349), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_arm_wfi
-        .{ .tag = @enumFromInt(350), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_arm_wsr
-        .{ .tag = @enumFromInt(351), .param_str = "vcC*Ui", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_wsr64
-        .{ .tag = @enumFromInt(352), .param_str = "!", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_wsrp
-        .{ .tag = @enumFromInt(353), .param_str = "vcC*vC*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_arm_yield
-        .{ .tag = @enumFromInt(354), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __builtin_asin
-        .{ .tag = @enumFromInt(355), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinf
-        .{ .tag = @enumFromInt(356), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinf128
-        .{ .tag = @enumFromInt(357), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinh
-        .{ .tag = @enumFromInt(358), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinhf
-        .{ .tag = @enumFromInt(359), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinhf128
-        .{ .tag = @enumFromInt(360), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinhl
-        .{ .tag = @enumFromInt(361), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_asinl
-        .{ .tag = @enumFromInt(362), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_assume
-        .{ .tag = @enumFromInt(363), .param_str = "vb", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_assume_aligned
-        .{ .tag = @enumFromInt(364), .param_str = "v*vC*z.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_assume_separate_storage
-        .{ .tag = @enumFromInt(365), .param_str = "vvCD*vCD*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_atan
-        .{ .tag = @enumFromInt(366), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atan2
-        .{ .tag = @enumFromInt(367), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atan2f
-        .{ .tag = @enumFromInt(368), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atan2f128
-        .{ .tag = @enumFromInt(369), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atan2l
-        .{ .tag = @enumFromInt(370), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanf
-        .{ .tag = @enumFromInt(371), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanf128
-        .{ .tag = @enumFromInt(372), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanh
-        .{ .tag = @enumFromInt(373), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanhf
-        .{ .tag = @enumFromInt(374), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanhf128
-        .{ .tag = @enumFromInt(375), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanhl
-        .{ .tag = @enumFromInt(376), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_atanl
-        .{ .tag = @enumFromInt(377), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_bcmp
-        .{ .tag = @enumFromInt(378), .param_str = "ivC*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_bcopy
-        .{ .tag = @enumFromInt(379), .param_str = "vvC*v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_bitrev
-        .{ .tag = @enumFromInt(380), .param_str = "UiUi", .properties = .{ .target_set = TargetSet.initOne(.xcore), .attributes = .{ .@"const" = true } } },
-        // __builtin_bitreverse16
-        .{ .tag = @enumFromInt(381), .param_str = "UsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bitreverse32
-        .{ .tag = @enumFromInt(382), .param_str = "UZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bitreverse64
-        .{ .tag = @enumFromInt(383), .param_str = "UWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bitreverse8
-        .{ .tag = @enumFromInt(384), .param_str = "UcUc", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bswap16
-        .{ .tag = @enumFromInt(385), .param_str = "UsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bswap32
-        .{ .tag = @enumFromInt(386), .param_str = "UZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bswap64
-        .{ .tag = @enumFromInt(387), .param_str = "UWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_bzero
-        .{ .tag = @enumFromInt(388), .param_str = "vv*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cabs
-        .{ .tag = @enumFromInt(389), .param_str = "dXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cabsf
-        .{ .tag = @enumFromInt(390), .param_str = "fXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cabsl
-        .{ .tag = @enumFromInt(391), .param_str = "LdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cacos
-        .{ .tag = @enumFromInt(392), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cacosf
-        .{ .tag = @enumFromInt(393), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cacosh
-        .{ .tag = @enumFromInt(394), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cacoshf
-        .{ .tag = @enumFromInt(395), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cacoshl
-        .{ .tag = @enumFromInt(396), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cacosl
-        .{ .tag = @enumFromInt(397), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_call_with_static_chain
-        .{ .tag = @enumFromInt(398), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_calloc
-        .{ .tag = @enumFromInt(399), .param_str = "v*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_canonicalize
-        .{ .tag = @enumFromInt(400), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_canonicalizef
-        .{ .tag = @enumFromInt(401), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_canonicalizef16
-        .{ .tag = @enumFromInt(402), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_canonicalizel
-        .{ .tag = @enumFromInt(403), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_carg
-        .{ .tag = @enumFromInt(404), .param_str = "dXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cargf
-        .{ .tag = @enumFromInt(405), .param_str = "fXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cargl
-        .{ .tag = @enumFromInt(406), .param_str = "LdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_casin
-        .{ .tag = @enumFromInt(407), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_casinf
-        .{ .tag = @enumFromInt(408), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_casinh
-        .{ .tag = @enumFromInt(409), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_casinhf
-        .{ .tag = @enumFromInt(410), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_casinhl
-        .{ .tag = @enumFromInt(411), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_casinl
-        .{ .tag = @enumFromInt(412), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_catan
-        .{ .tag = @enumFromInt(413), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_catanf
-        .{ .tag = @enumFromInt(414), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_catanh
-        .{ .tag = @enumFromInt(415), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_catanhf
-        .{ .tag = @enumFromInt(416), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_catanhl
-        .{ .tag = @enumFromInt(417), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_catanl
-        .{ .tag = @enumFromInt(418), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cbrt
-        .{ .tag = @enumFromInt(419), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cbrtf
-        .{ .tag = @enumFromInt(420), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cbrtf128
-        .{ .tag = @enumFromInt(421), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cbrtl
-        .{ .tag = @enumFromInt(422), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_ccos
-        .{ .tag = @enumFromInt(423), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ccosf
-        .{ .tag = @enumFromInt(424), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ccosh
-        .{ .tag = @enumFromInt(425), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ccoshf
-        .{ .tag = @enumFromInt(426), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ccoshl
-        .{ .tag = @enumFromInt(427), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ccosl
-        .{ .tag = @enumFromInt(428), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ceil
-        .{ .tag = @enumFromInt(429), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_ceilf
-        .{ .tag = @enumFromInt(430), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_ceilf128
-        .{ .tag = @enumFromInt(431), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_ceilf16
-        .{ .tag = @enumFromInt(432), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_ceill
-        .{ .tag = @enumFromInt(433), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cexp
-        .{ .tag = @enumFromInt(434), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cexpf
-        .{ .tag = @enumFromInt(435), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cexpl
-        .{ .tag = @enumFromInt(436), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_char_memchr
-        .{ .tag = @enumFromInt(437), .param_str = "c*cC*iz", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_cimag
-        .{ .tag = @enumFromInt(438), .param_str = "dXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cimagf
-        .{ .tag = @enumFromInt(439), .param_str = "fXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cimagl
-        .{ .tag = @enumFromInt(440), .param_str = "LdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_classify_type
-        .{ .tag = @enumFromInt(441), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .eval_args = false, .const_evaluable = true } } },
-        // __builtin_clog
-        .{ .tag = @enumFromInt(442), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_clogf
-        .{ .tag = @enumFromInt(443), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_clogl
-        .{ .tag = @enumFromInt(444), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_clrsb
-        .{ .tag = @enumFromInt(445), .param_str = "ii", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_clrsbl
-        .{ .tag = @enumFromInt(446), .param_str = "iLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_clrsbll
-        .{ .tag = @enumFromInt(447), .param_str = "iLLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_clz
-        .{ .tag = @enumFromInt(448), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_clzl
-        .{ .tag = @enumFromInt(449), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_clzll
-        .{ .tag = @enumFromInt(450), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_clzs
-        .{ .tag = @enumFromInt(451), .param_str = "iUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_complex
-        .{ .tag = @enumFromInt(452), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_conj
-        .{ .tag = @enumFromInt(453), .param_str = "XdXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_conjf
-        .{ .tag = @enumFromInt(454), .param_str = "XfXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_conjl
-        .{ .tag = @enumFromInt(455), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_constant_p
-        .{ .tag = @enumFromInt(456), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .eval_args = false, .const_evaluable = true } } },
-        // __builtin_convertvector
-        .{ .tag = @enumFromInt(457), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_copysign
-        .{ .tag = @enumFromInt(458), .param_str = "ddd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_copysignf
-        .{ .tag = @enumFromInt(459), .param_str = "fff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_copysignf128
-        .{ .tag = @enumFromInt(460), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_copysignf16
-        .{ .tag = @enumFromInt(461), .param_str = "hhh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_copysignl
-        .{ .tag = @enumFromInt(462), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_cos
-        .{ .tag = @enumFromInt(463), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cosf
-        .{ .tag = @enumFromInt(464), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cosf128
-        .{ .tag = @enumFromInt(465), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cosf16
-        .{ .tag = @enumFromInt(466), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cosh
-        .{ .tag = @enumFromInt(467), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_coshf
-        .{ .tag = @enumFromInt(468), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_coshf128
-        .{ .tag = @enumFromInt(469), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_coshl
-        .{ .tag = @enumFromInt(470), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cosl
-        .{ .tag = @enumFromInt(471), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cpow
-        .{ .tag = @enumFromInt(472), .param_str = "XdXdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cpowf
-        .{ .tag = @enumFromInt(473), .param_str = "XfXfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cpowl
-        .{ .tag = @enumFromInt(474), .param_str = "XLdXLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_cproj
-        .{ .tag = @enumFromInt(475), .param_str = "XdXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cprojf
-        .{ .tag = @enumFromInt(476), .param_str = "XfXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cprojl
-        .{ .tag = @enumFromInt(477), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_cpu_init
-        .{ .tag = @enumFromInt(478), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
-        // __builtin_cpu_is
-        .{ .tag = @enumFromInt(479), .param_str = "bcC*", .properties = .{ .target_set = TargetSet.initOne(.x86), .attributes = .{ .@"const" = true } } },
-        // __builtin_cpu_supports
-        .{ .tag = @enumFromInt(480), .param_str = "bcC*", .properties = .{ .target_set = TargetSet.initOne(.x86), .attributes = .{ .@"const" = true } } },
-        // __builtin_creal
-        .{ .tag = @enumFromInt(481), .param_str = "dXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_crealf
-        .{ .tag = @enumFromInt(482), .param_str = "fXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_creall
-        .{ .tag = @enumFromInt(483), .param_str = "LdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_csin
-        .{ .tag = @enumFromInt(484), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csinf
-        .{ .tag = @enumFromInt(485), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csinh
-        .{ .tag = @enumFromInt(486), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csinhf
-        .{ .tag = @enumFromInt(487), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csinhl
-        .{ .tag = @enumFromInt(488), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csinl
-        .{ .tag = @enumFromInt(489), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csqrt
-        .{ .tag = @enumFromInt(490), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csqrtf
-        .{ .tag = @enumFromInt(491), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_csqrtl
-        .{ .tag = @enumFromInt(492), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctan
-        .{ .tag = @enumFromInt(493), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctanf
-        .{ .tag = @enumFromInt(494), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctanh
-        .{ .tag = @enumFromInt(495), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctanhf
-        .{ .tag = @enumFromInt(496), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctanhl
-        .{ .tag = @enumFromInt(497), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctanl
-        .{ .tag = @enumFromInt(498), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ctz
-        .{ .tag = @enumFromInt(499), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_ctzl
-        .{ .tag = @enumFromInt(500), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_ctzll
-        .{ .tag = @enumFromInt(501), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_ctzs
-        .{ .tag = @enumFromInt(502), .param_str = "iUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_dcbf
-        .{ .tag = @enumFromInt(503), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_debugtrap
-        .{ .tag = @enumFromInt(504), .param_str = "v", .properties = .{} },
-        // __builtin_dump_struct
-        .{ .tag = @enumFromInt(505), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_dwarf_cfa
-        .{ .tag = @enumFromInt(506), .param_str = "v*", .properties = .{} },
-        // __builtin_dwarf_sp_column
-        .{ .tag = @enumFromInt(507), .param_str = "Ui", .properties = .{} },
-        // __builtin_dynamic_object_size
-        .{ .tag = @enumFromInt(508), .param_str = "zvC*i", .properties = .{ .attributes = .{ .eval_args = false, .const_evaluable = true } } },
-        // __builtin_eh_return
-        .{ .tag = @enumFromInt(509), .param_str = "vzv*", .properties = .{ .attributes = .{ .noreturn = true } } },
-        // __builtin_eh_return_data_regno
-        .{ .tag = @enumFromInt(510), .param_str = "iIi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_elementwise_abs
-        .{ .tag = @enumFromInt(511), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_add_sat
-        .{ .tag = @enumFromInt(512), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_bitreverse
-        .{ .tag = @enumFromInt(513), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_canonicalize
-        .{ .tag = @enumFromInt(514), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_ceil
-        .{ .tag = @enumFromInt(515), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_copysign
-        .{ .tag = @enumFromInt(516), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_cos
-        .{ .tag = @enumFromInt(517), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_exp
-        .{ .tag = @enumFromInt(518), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_exp2
-        .{ .tag = @enumFromInt(519), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_floor
-        .{ .tag = @enumFromInt(520), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_fma
-        .{ .tag = @enumFromInt(521), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_log
-        .{ .tag = @enumFromInt(522), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_log10
-        .{ .tag = @enumFromInt(523), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_log2
-        .{ .tag = @enumFromInt(524), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_max
-        .{ .tag = @enumFromInt(525), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_min
-        .{ .tag = @enumFromInt(526), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_nearbyint
-        .{ .tag = @enumFromInt(527), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_pow
-        .{ .tag = @enumFromInt(528), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_rint
-        .{ .tag = @enumFromInt(529), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_round
-        .{ .tag = @enumFromInt(530), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_roundeven
-        .{ .tag = @enumFromInt(531), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_sin
-        .{ .tag = @enumFromInt(532), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_sqrt
-        .{ .tag = @enumFromInt(533), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_sub_sat
-        .{ .tag = @enumFromInt(534), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_elementwise_trunc
-        .{ .tag = @enumFromInt(535), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_erf
-        .{ .tag = @enumFromInt(536), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erfc
-        .{ .tag = @enumFromInt(537), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erfcf
-        .{ .tag = @enumFromInt(538), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erfcf128
-        .{ .tag = @enumFromInt(539), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erfcl
-        .{ .tag = @enumFromInt(540), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erff
-        .{ .tag = @enumFromInt(541), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erff128
-        .{ .tag = @enumFromInt(542), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_erfl
-        .{ .tag = @enumFromInt(543), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp
-        .{ .tag = @enumFromInt(544), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp10
-        .{ .tag = @enumFromInt(545), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp10f
-        .{ .tag = @enumFromInt(546), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp10f128
-        .{ .tag = @enumFromInt(547), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp10f16
-        .{ .tag = @enumFromInt(548), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp10l
-        .{ .tag = @enumFromInt(549), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp2
-        .{ .tag = @enumFromInt(550), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp2f
-        .{ .tag = @enumFromInt(551), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp2f128
-        .{ .tag = @enumFromInt(552), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp2f16
-        .{ .tag = @enumFromInt(553), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_exp2l
-        .{ .tag = @enumFromInt(554), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expect
-        .{ .tag = @enumFromInt(555), .param_str = "LiLiLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_expect_with_probability
-        .{ .tag = @enumFromInt(556), .param_str = "LiLiLid", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_expf
-        .{ .tag = @enumFromInt(557), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expf128
-        .{ .tag = @enumFromInt(558), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expf16
-        .{ .tag = @enumFromInt(559), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expl
-        .{ .tag = @enumFromInt(560), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expm1
-        .{ .tag = @enumFromInt(561), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expm1f
-        .{ .tag = @enumFromInt(562), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expm1f128
-        .{ .tag = @enumFromInt(563), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_expm1l
-        .{ .tag = @enumFromInt(564), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_extend_pointer
-        .{ .tag = @enumFromInt(565), .param_str = "ULLiv*", .properties = .{} },
-        // __builtin_extract_return_addr
-        .{ .tag = @enumFromInt(566), .param_str = "v*v*", .properties = .{} },
-        // __builtin_fabs
-        .{ .tag = @enumFromInt(567), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fabsf
-        .{ .tag = @enumFromInt(568), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fabsf128
-        .{ .tag = @enumFromInt(569), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fabsf16
-        .{ .tag = @enumFromInt(570), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_fabsl
-        .{ .tag = @enumFromInt(571), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fdim
-        .{ .tag = @enumFromInt(572), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fdimf
-        .{ .tag = @enumFromInt(573), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fdimf128
-        .{ .tag = @enumFromInt(574), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fdiml
-        .{ .tag = @enumFromInt(575), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ffs
-        .{ .tag = @enumFromInt(576), .param_str = "ii", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_ffsl
-        .{ .tag = @enumFromInt(577), .param_str = "iLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_ffsll
-        .{ .tag = @enumFromInt(578), .param_str = "iLLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_floor
-        .{ .tag = @enumFromInt(579), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_floorf
-        .{ .tag = @enumFromInt(580), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_floorf128
-        .{ .tag = @enumFromInt(581), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_floorf16
-        .{ .tag = @enumFromInt(582), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_floorl
-        .{ .tag = @enumFromInt(583), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_flt_rounds
-        .{ .tag = @enumFromInt(584), .param_str = "i", .properties = .{} },
-        // __builtin_fma
-        .{ .tag = @enumFromInt(585), .param_str = "dddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmaf
-        .{ .tag = @enumFromInt(586), .param_str = "ffff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmaf128
-        .{ .tag = @enumFromInt(587), .param_str = "LLdLLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmaf16
-        .{ .tag = @enumFromInt(588), .param_str = "hhhh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmal
-        .{ .tag = @enumFromInt(589), .param_str = "LdLdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmax
-        .{ .tag = @enumFromInt(590), .param_str = "ddd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fmaxf
-        .{ .tag = @enumFromInt(591), .param_str = "fff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fmaxf128
-        .{ .tag = @enumFromInt(592), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fmaxf16
-        .{ .tag = @enumFromInt(593), .param_str = "hhh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fmaxl
-        .{ .tag = @enumFromInt(594), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fmin
-        .{ .tag = @enumFromInt(595), .param_str = "ddd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fminf
-        .{ .tag = @enumFromInt(596), .param_str = "fff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fminf128
-        .{ .tag = @enumFromInt(597), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fminf16
-        .{ .tag = @enumFromInt(598), .param_str = "hhh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fminl
-        .{ .tag = @enumFromInt(599), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fmod
-        .{ .tag = @enumFromInt(600), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmodf
-        .{ .tag = @enumFromInt(601), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmodf128
-        .{ .tag = @enumFromInt(602), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmodf16
-        .{ .tag = @enumFromInt(603), .param_str = "hhh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fmodl
-        .{ .tag = @enumFromInt(604), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_fpclassify
-        .{ .tag = @enumFromInt(605), .param_str = "iiiiii.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_fprintf
-        .{ .tag = @enumFromInt(606), .param_str = "iP*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
-        // __builtin_frame_address
-        .{ .tag = @enumFromInt(607), .param_str = "v*IUi", .properties = .{} },
-        // __builtin_free
-        .{ .tag = @enumFromInt(608), .param_str = "vv*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_frexp
-        .{ .tag = @enumFromInt(609), .param_str = "ddi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_frexpf
-        .{ .tag = @enumFromInt(610), .param_str = "ffi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_frexpf128
-        .{ .tag = @enumFromInt(611), .param_str = "LLdLLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_frexpf16
-        .{ .tag = @enumFromInt(612), .param_str = "hhi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_frexpl
-        .{ .tag = @enumFromInt(613), .param_str = "LdLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_frob_return_addr
-        .{ .tag = @enumFromInt(614), .param_str = "v*v*", .properties = .{} },
-        // __builtin_fscanf
-        .{ .tag = @enumFromInt(615), .param_str = "iP*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
-        // __builtin_getid
-        .{ .tag = @enumFromInt(616), .param_str = "Si", .properties = .{ .target_set = TargetSet.initOne(.xcore), .attributes = .{ .@"const" = true } } },
-        // __builtin_getps
-        .{ .tag = @enumFromInt(617), .param_str = "UiUi", .properties = .{ .target_set = TargetSet.initOne(.xcore) } },
-        // __builtin_huge_val
-        .{ .tag = @enumFromInt(618), .param_str = "d", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_huge_valf
-        .{ .tag = @enumFromInt(619), .param_str = "f", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_huge_valf128
-        .{ .tag = @enumFromInt(620), .param_str = "LLd", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_huge_valf16
-        .{ .tag = @enumFromInt(621), .param_str = "x", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_huge_vall
-        .{ .tag = @enumFromInt(622), .param_str = "Ld", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_hypot
-        .{ .tag = @enumFromInt(623), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_hypotf
-        .{ .tag = @enumFromInt(624), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_hypotf128
-        .{ .tag = @enumFromInt(625), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_hypotl
-        .{ .tag = @enumFromInt(626), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ia32_rdpmc
-        .{ .tag = @enumFromInt(627), .param_str = "UOii", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
-        // __builtin_ia32_rdtsc
-        .{ .tag = @enumFromInt(628), .param_str = "UOi", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
-        // __builtin_ia32_rdtscp
-        .{ .tag = @enumFromInt(629), .param_str = "UOiUi*", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
-        // __builtin_ilogb
-        .{ .tag = @enumFromInt(630), .param_str = "id", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ilogbf
-        .{ .tag = @enumFromInt(631), .param_str = "if", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ilogbf128
-        .{ .tag = @enumFromInt(632), .param_str = "iLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ilogbl
-        .{ .tag = @enumFromInt(633), .param_str = "iLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_index
-        .{ .tag = @enumFromInt(634), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_inf
-        .{ .tag = @enumFromInt(635), .param_str = "d", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_inff
-        .{ .tag = @enumFromInt(636), .param_str = "f", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_inff128
-        .{ .tag = @enumFromInt(637), .param_str = "LLd", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_inff16
-        .{ .tag = @enumFromInt(638), .param_str = "x", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_infl
-        .{ .tag = @enumFromInt(639), .param_str = "Ld", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_init_dwarf_reg_size_table
-        .{ .tag = @enumFromInt(640), .param_str = "vv*", .properties = .{} },
-        // __builtin_is_aligned
-        .{ .tag = @enumFromInt(641), .param_str = "bvC*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_isfinite
-        .{ .tag = @enumFromInt(642), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_isfpclass
-        .{ .tag = @enumFromInt(643), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_isgreater
-        .{ .tag = @enumFromInt(644), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_isgreaterequal
-        .{ .tag = @enumFromInt(645), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_isinf
-        .{ .tag = @enumFromInt(646), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_isinf_sign
-        .{ .tag = @enumFromInt(647), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_isless
-        .{ .tag = @enumFromInt(648), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_islessequal
-        .{ .tag = @enumFromInt(649), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_islessgreater
-        .{ .tag = @enumFromInt(650), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_isnan
-        .{ .tag = @enumFromInt(651), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_isnormal
-        .{ .tag = @enumFromInt(652), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_isunordered
-        .{ .tag = @enumFromInt(653), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_labs
-        .{ .tag = @enumFromInt(654), .param_str = "LiLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_launder
-        .{ .tag = @enumFromInt(655), .param_str = "v*v*", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_ldexp
-        .{ .tag = @enumFromInt(656), .param_str = "ddi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ldexpf
-        .{ .tag = @enumFromInt(657), .param_str = "ffi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ldexpf128
-        .{ .tag = @enumFromInt(658), .param_str = "LLdLLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ldexpf16
-        .{ .tag = @enumFromInt(659), .param_str = "hhi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ldexpl
-        .{ .tag = @enumFromInt(660), .param_str = "LdLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lgamma
-        .{ .tag = @enumFromInt(661), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_lgammaf
-        .{ .tag = @enumFromInt(662), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_lgammaf128
-        .{ .tag = @enumFromInt(663), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_lgammal
-        .{ .tag = @enumFromInt(664), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_llabs
-        .{ .tag = @enumFromInt(665), .param_str = "LLiLLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_llrint
-        .{ .tag = @enumFromInt(666), .param_str = "LLid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llrintf
-        .{ .tag = @enumFromInt(667), .param_str = "LLif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llrintf128
-        .{ .tag = @enumFromInt(668), .param_str = "LLiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llrintl
-        .{ .tag = @enumFromInt(669), .param_str = "LLiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llround
-        .{ .tag = @enumFromInt(670), .param_str = "LLid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llroundf
-        .{ .tag = @enumFromInt(671), .param_str = "LLif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llroundf128
-        .{ .tag = @enumFromInt(672), .param_str = "LLiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_llroundl
-        .{ .tag = @enumFromInt(673), .param_str = "LLiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log
-        .{ .tag = @enumFromInt(674), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log10
-        .{ .tag = @enumFromInt(675), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log10f
-        .{ .tag = @enumFromInt(676), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log10f128
-        .{ .tag = @enumFromInt(677), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log10f16
-        .{ .tag = @enumFromInt(678), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log10l
-        .{ .tag = @enumFromInt(679), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log1p
-        .{ .tag = @enumFromInt(680), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log1pf
-        .{ .tag = @enumFromInt(681), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log1pf128
-        .{ .tag = @enumFromInt(682), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log1pl
-        .{ .tag = @enumFromInt(683), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log2
-        .{ .tag = @enumFromInt(684), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log2f
-        .{ .tag = @enumFromInt(685), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log2f128
-        .{ .tag = @enumFromInt(686), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log2f16
-        .{ .tag = @enumFromInt(687), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_log2l
-        .{ .tag = @enumFromInt(688), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logb
-        .{ .tag = @enumFromInt(689), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logbf
-        .{ .tag = @enumFromInt(690), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logbf128
-        .{ .tag = @enumFromInt(691), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logbl
-        .{ .tag = @enumFromInt(692), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logf
-        .{ .tag = @enumFromInt(693), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logf128
-        .{ .tag = @enumFromInt(694), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logf16
-        .{ .tag = @enumFromInt(695), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_logl
-        .{ .tag = @enumFromInt(696), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_longjmp
-        .{ .tag = @enumFromInt(697), .param_str = "vv**i", .properties = .{ .attributes = .{ .noreturn = true } } },
-        // __builtin_lrint
-        .{ .tag = @enumFromInt(698), .param_str = "Lid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lrintf
-        .{ .tag = @enumFromInt(699), .param_str = "Lif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lrintf128
-        .{ .tag = @enumFromInt(700), .param_str = "LiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lrintl
-        .{ .tag = @enumFromInt(701), .param_str = "LiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lround
-        .{ .tag = @enumFromInt(702), .param_str = "Lid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lroundf
-        .{ .tag = @enumFromInt(703), .param_str = "Lif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lroundf128
-        .{ .tag = @enumFromInt(704), .param_str = "LiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_lroundl
-        .{ .tag = @enumFromInt(705), .param_str = "LiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_malloc
-        .{ .tag = @enumFromInt(706), .param_str = "v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_matrix_column_major_load
-        .{ .tag = @enumFromInt(707), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_matrix_column_major_store
-        .{ .tag = @enumFromInt(708), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_matrix_transpose
-        .{ .tag = @enumFromInt(709), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_memchr
-        .{ .tag = @enumFromInt(710), .param_str = "v*vC*iz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_memcmp
-        .{ .tag = @enumFromInt(711), .param_str = "ivC*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_memcpy
-        .{ .tag = @enumFromInt(712), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_memcpy_inline
-        .{ .tag = @enumFromInt(713), .param_str = "vv*vC*Iz", .properties = .{} },
-        // __builtin_memmove
-        .{ .tag = @enumFromInt(714), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_mempcpy
-        .{ .tag = @enumFromInt(715), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_memset
-        .{ .tag = @enumFromInt(716), .param_str = "v*v*iz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_memset_inline
-        .{ .tag = @enumFromInt(717), .param_str = "vv*iIz", .properties = .{} },
-        // __builtin_mips_absq_s_ph
-        .{ .tag = @enumFromInt(718), .param_str = "V2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_absq_s_qb
-        .{ .tag = @enumFromInt(719), .param_str = "V4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_absq_s_w
-        .{ .tag = @enumFromInt(720), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addq_ph
-        .{ .tag = @enumFromInt(721), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addq_s_ph
-        .{ .tag = @enumFromInt(722), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addq_s_w
-        .{ .tag = @enumFromInt(723), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addqh_ph
-        .{ .tag = @enumFromInt(724), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_addqh_r_ph
-        .{ .tag = @enumFromInt(725), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_addqh_r_w
-        .{ .tag = @enumFromInt(726), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_addqh_w
-        .{ .tag = @enumFromInt(727), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_addsc
-        .{ .tag = @enumFromInt(728), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addu_ph
-        .{ .tag = @enumFromInt(729), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addu_qb
-        .{ .tag = @enumFromInt(730), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addu_s_ph
-        .{ .tag = @enumFromInt(731), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_addu_s_qb
-        .{ .tag = @enumFromInt(732), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_adduh_qb
-        .{ .tag = @enumFromInt(733), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_adduh_r_qb
-        .{ .tag = @enumFromInt(734), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_addwc
-        .{ .tag = @enumFromInt(735), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_append
-        .{ .tag = @enumFromInt(736), .param_str = "iiiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_balign
-        .{ .tag = @enumFromInt(737), .param_str = "iiiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_bitrev
-        .{ .tag = @enumFromInt(738), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_bposge32
-        .{ .tag = @enumFromInt(739), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmp_eq_ph
-        .{ .tag = @enumFromInt(740), .param_str = "vV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmp_le_ph
-        .{ .tag = @enumFromInt(741), .param_str = "vV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmp_lt_ph
-        .{ .tag = @enumFromInt(742), .param_str = "vV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpgdu_eq_qb
-        .{ .tag = @enumFromInt(743), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpgdu_le_qb
-        .{ .tag = @enumFromInt(744), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpgdu_lt_qb
-        .{ .tag = @enumFromInt(745), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpgu_eq_qb
-        .{ .tag = @enumFromInt(746), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpgu_le_qb
-        .{ .tag = @enumFromInt(747), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpgu_lt_qb
-        .{ .tag = @enumFromInt(748), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpu_eq_qb
-        .{ .tag = @enumFromInt(749), .param_str = "vV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpu_le_qb
-        .{ .tag = @enumFromInt(750), .param_str = "vV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_cmpu_lt_qb
-        .{ .tag = @enumFromInt(751), .param_str = "vV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpa_w_ph
-        .{ .tag = @enumFromInt(752), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dpaq_s_w_ph
-        .{ .tag = @enumFromInt(753), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpaq_sa_l_w
-        .{ .tag = @enumFromInt(754), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpaqx_s_w_ph
-        .{ .tag = @enumFromInt(755), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpaqx_sa_w_ph
-        .{ .tag = @enumFromInt(756), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpau_h_qbl
-        .{ .tag = @enumFromInt(757), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dpau_h_qbr
-        .{ .tag = @enumFromInt(758), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dpax_w_ph
-        .{ .tag = @enumFromInt(759), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dps_w_ph
-        .{ .tag = @enumFromInt(760), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dpsq_s_w_ph
-        .{ .tag = @enumFromInt(761), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpsq_sa_l_w
-        .{ .tag = @enumFromInt(762), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpsqx_s_w_ph
-        .{ .tag = @enumFromInt(763), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpsqx_sa_w_ph
-        .{ .tag = @enumFromInt(764), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_dpsu_h_qbl
-        .{ .tag = @enumFromInt(765), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dpsu_h_qbr
-        .{ .tag = @enumFromInt(766), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_dpsx_w_ph
-        .{ .tag = @enumFromInt(767), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_extp
-        .{ .tag = @enumFromInt(768), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_extpdp
-        .{ .tag = @enumFromInt(769), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_extr_r_w
-        .{ .tag = @enumFromInt(770), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_extr_rs_w
-        .{ .tag = @enumFromInt(771), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_extr_s_h
-        .{ .tag = @enumFromInt(772), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_extr_w
-        .{ .tag = @enumFromInt(773), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_insv
-        .{ .tag = @enumFromInt(774), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_lbux
-        .{ .tag = @enumFromInt(775), .param_str = "iv*i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_lhx
-        .{ .tag = @enumFromInt(776), .param_str = "iv*i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_lwx
-        .{ .tag = @enumFromInt(777), .param_str = "iv*i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_madd
-        .{ .tag = @enumFromInt(778), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_maddu
-        .{ .tag = @enumFromInt(779), .param_str = "LLiLLiUiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_maq_s_w_phl
-        .{ .tag = @enumFromInt(780), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_maq_s_w_phr
-        .{ .tag = @enumFromInt(781), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_maq_sa_w_phl
-        .{ .tag = @enumFromInt(782), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_maq_sa_w_phr
-        .{ .tag = @enumFromInt(783), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_modsub
-        .{ .tag = @enumFromInt(784), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_msub
-        .{ .tag = @enumFromInt(785), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_msubu
-        .{ .tag = @enumFromInt(786), .param_str = "LLiLLiUiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_mthlip
-        .{ .tag = @enumFromInt(787), .param_str = "LLiLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mul_ph
-        .{ .tag = @enumFromInt(788), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mul_s_ph
-        .{ .tag = @enumFromInt(789), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_muleq_s_w_phl
-        .{ .tag = @enumFromInt(790), .param_str = "iV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_muleq_s_w_phr
-        .{ .tag = @enumFromInt(791), .param_str = "iV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_muleu_s_ph_qbl
-        .{ .tag = @enumFromInt(792), .param_str = "V2sV4ScV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_muleu_s_ph_qbr
-        .{ .tag = @enumFromInt(793), .param_str = "V2sV4ScV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mulq_rs_ph
-        .{ .tag = @enumFromInt(794), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mulq_rs_w
-        .{ .tag = @enumFromInt(795), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mulq_s_ph
-        .{ .tag = @enumFromInt(796), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mulq_s_w
-        .{ .tag = @enumFromInt(797), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mulsa_w_ph
-        .{ .tag = @enumFromInt(798), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_mulsaq_s_w_ph
-        .{ .tag = @enumFromInt(799), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_mult
-        .{ .tag = @enumFromInt(800), .param_str = "LLiii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_multu
-        .{ .tag = @enumFromInt(801), .param_str = "LLiUiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_packrl_ph
-        .{ .tag = @enumFromInt(802), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_pick_ph
-        .{ .tag = @enumFromInt(803), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_pick_qb
-        .{ .tag = @enumFromInt(804), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_preceq_w_phl
-        .{ .tag = @enumFromInt(805), .param_str = "iV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_preceq_w_phr
-        .{ .tag = @enumFromInt(806), .param_str = "iV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precequ_ph_qbl
-        .{ .tag = @enumFromInt(807), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precequ_ph_qbla
-        .{ .tag = @enumFromInt(808), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precequ_ph_qbr
-        .{ .tag = @enumFromInt(809), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precequ_ph_qbra
-        .{ .tag = @enumFromInt(810), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_preceu_ph_qbl
-        .{ .tag = @enumFromInt(811), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_preceu_ph_qbla
-        .{ .tag = @enumFromInt(812), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_preceu_ph_qbr
-        .{ .tag = @enumFromInt(813), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_preceu_ph_qbra
-        .{ .tag = @enumFromInt(814), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precr_qb_ph
-        .{ .tag = @enumFromInt(815), .param_str = "V4ScV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_precr_sra_ph_w
-        .{ .tag = @enumFromInt(816), .param_str = "V2siiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precr_sra_r_ph_w
-        .{ .tag = @enumFromInt(817), .param_str = "V2siiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precrq_ph_w
-        .{ .tag = @enumFromInt(818), .param_str = "V2sii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precrq_qb_ph
-        .{ .tag = @enumFromInt(819), .param_str = "V4ScV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_precrq_rs_ph_w
-        .{ .tag = @enumFromInt(820), .param_str = "V2sii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_precrqu_s_qb_ph
-        .{ .tag = @enumFromInt(821), .param_str = "V4ScV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_prepend
-        .{ .tag = @enumFromInt(822), .param_str = "iiiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_raddu_w_qb
-        .{ .tag = @enumFromInt(823), .param_str = "iV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_rddsp
-        .{ .tag = @enumFromInt(824), .param_str = "iIi", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_repl_ph
-        .{ .tag = @enumFromInt(825), .param_str = "V2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_repl_qb
-        .{ .tag = @enumFromInt(826), .param_str = "V4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shilo
-        .{ .tag = @enumFromInt(827), .param_str = "LLiLLii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shll_ph
-        .{ .tag = @enumFromInt(828), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_shll_qb
-        .{ .tag = @enumFromInt(829), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_shll_s_ph
-        .{ .tag = @enumFromInt(830), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_shll_s_w
-        .{ .tag = @enumFromInt(831), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_shra_ph
-        .{ .tag = @enumFromInt(832), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shra_qb
-        .{ .tag = @enumFromInt(833), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shra_r_ph
-        .{ .tag = @enumFromInt(834), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shra_r_qb
-        .{ .tag = @enumFromInt(835), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shra_r_w
-        .{ .tag = @enumFromInt(836), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shrl_ph
-        .{ .tag = @enumFromInt(837), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_shrl_qb
-        .{ .tag = @enumFromInt(838), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_subq_ph
-        .{ .tag = @enumFromInt(839), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subq_s_ph
-        .{ .tag = @enumFromInt(840), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subq_s_w
-        .{ .tag = @enumFromInt(841), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subqh_ph
-        .{ .tag = @enumFromInt(842), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_subqh_r_ph
-        .{ .tag = @enumFromInt(843), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_subqh_r_w
-        .{ .tag = @enumFromInt(844), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_subqh_w
-        .{ .tag = @enumFromInt(845), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_subu_ph
-        .{ .tag = @enumFromInt(846), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subu_qb
-        .{ .tag = @enumFromInt(847), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subu_s_ph
-        .{ .tag = @enumFromInt(848), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subu_s_qb
-        .{ .tag = @enumFromInt(849), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_mips_subuh_qb
-        .{ .tag = @enumFromInt(850), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_subuh_r_qb
-        .{ .tag = @enumFromInt(851), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mips_wrdsp
-        .{ .tag = @enumFromInt(852), .param_str = "viIi", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_modf
-        .{ .tag = @enumFromInt(853), .param_str = "ddd*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_modff
-        .{ .tag = @enumFromInt(854), .param_str = "fff*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_modff128
-        .{ .tag = @enumFromInt(855), .param_str = "LLdLLdLLd*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_modfl
-        .{ .tag = @enumFromInt(856), .param_str = "LdLdLd*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_msa_add_a_b
-        .{ .tag = @enumFromInt(857), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_add_a_d
-        .{ .tag = @enumFromInt(858), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_add_a_h
-        .{ .tag = @enumFromInt(859), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_add_a_w
-        .{ .tag = @enumFromInt(860), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_a_b
-        .{ .tag = @enumFromInt(861), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_a_d
-        .{ .tag = @enumFromInt(862), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_a_h
-        .{ .tag = @enumFromInt(863), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_a_w
-        .{ .tag = @enumFromInt(864), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_s_b
-        .{ .tag = @enumFromInt(865), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_s_d
-        .{ .tag = @enumFromInt(866), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_s_h
-        .{ .tag = @enumFromInt(867), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_s_w
-        .{ .tag = @enumFromInt(868), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_u_b
-        .{ .tag = @enumFromInt(869), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_u_d
-        .{ .tag = @enumFromInt(870), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_u_h
-        .{ .tag = @enumFromInt(871), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_adds_u_w
-        .{ .tag = @enumFromInt(872), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addv_b
-        .{ .tag = @enumFromInt(873), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addv_d
-        .{ .tag = @enumFromInt(874), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addv_h
-        .{ .tag = @enumFromInt(875), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addv_w
-        .{ .tag = @enumFromInt(876), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addvi_b
-        .{ .tag = @enumFromInt(877), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addvi_d
-        .{ .tag = @enumFromInt(878), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addvi_h
-        .{ .tag = @enumFromInt(879), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_addvi_w
-        .{ .tag = @enumFromInt(880), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_and_v
-        .{ .tag = @enumFromInt(881), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_andi_b
-        .{ .tag = @enumFromInt(882), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_s_b
-        .{ .tag = @enumFromInt(883), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_s_d
-        .{ .tag = @enumFromInt(884), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_s_h
-        .{ .tag = @enumFromInt(885), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_s_w
-        .{ .tag = @enumFromInt(886), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_u_b
-        .{ .tag = @enumFromInt(887), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_u_d
-        .{ .tag = @enumFromInt(888), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_u_h
-        .{ .tag = @enumFromInt(889), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_asub_u_w
-        .{ .tag = @enumFromInt(890), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_s_b
-        .{ .tag = @enumFromInt(891), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_s_d
-        .{ .tag = @enumFromInt(892), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_s_h
-        .{ .tag = @enumFromInt(893), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_s_w
-        .{ .tag = @enumFromInt(894), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_u_b
-        .{ .tag = @enumFromInt(895), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_u_d
-        .{ .tag = @enumFromInt(896), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_u_h
-        .{ .tag = @enumFromInt(897), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ave_u_w
-        .{ .tag = @enumFromInt(898), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_s_b
-        .{ .tag = @enumFromInt(899), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_s_d
-        .{ .tag = @enumFromInt(900), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_s_h
-        .{ .tag = @enumFromInt(901), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_s_w
-        .{ .tag = @enumFromInt(902), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_u_b
-        .{ .tag = @enumFromInt(903), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_u_d
-        .{ .tag = @enumFromInt(904), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_u_h
-        .{ .tag = @enumFromInt(905), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_aver_u_w
-        .{ .tag = @enumFromInt(906), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclr_b
-        .{ .tag = @enumFromInt(907), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclr_d
-        .{ .tag = @enumFromInt(908), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclr_h
-        .{ .tag = @enumFromInt(909), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclr_w
-        .{ .tag = @enumFromInt(910), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclri_b
-        .{ .tag = @enumFromInt(911), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclri_d
-        .{ .tag = @enumFromInt(912), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclri_h
-        .{ .tag = @enumFromInt(913), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bclri_w
-        .{ .tag = @enumFromInt(914), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsl_b
-        .{ .tag = @enumFromInt(915), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsl_d
-        .{ .tag = @enumFromInt(916), .param_str = "V2ULLiV2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsl_h
-        .{ .tag = @enumFromInt(917), .param_str = "V8UsV8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsl_w
-        .{ .tag = @enumFromInt(918), .param_str = "V4UiV4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsli_b
-        .{ .tag = @enumFromInt(919), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsli_d
-        .{ .tag = @enumFromInt(920), .param_str = "V2ULLiV2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsli_h
-        .{ .tag = @enumFromInt(921), .param_str = "V8UsV8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsli_w
-        .{ .tag = @enumFromInt(922), .param_str = "V4UiV4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsr_b
-        .{ .tag = @enumFromInt(923), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsr_d
-        .{ .tag = @enumFromInt(924), .param_str = "V2ULLiV2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsr_h
-        .{ .tag = @enumFromInt(925), .param_str = "V8UsV8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsr_w
-        .{ .tag = @enumFromInt(926), .param_str = "V4UiV4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsri_b
-        .{ .tag = @enumFromInt(927), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsri_d
-        .{ .tag = @enumFromInt(928), .param_str = "V2ULLiV2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsri_h
-        .{ .tag = @enumFromInt(929), .param_str = "V8UsV8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_binsri_w
-        .{ .tag = @enumFromInt(930), .param_str = "V4UiV4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bmnz_v
-        .{ .tag = @enumFromInt(931), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bmnzi_b
-        .{ .tag = @enumFromInt(932), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bmz_v
-        .{ .tag = @enumFromInt(933), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bmzi_b
-        .{ .tag = @enumFromInt(934), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bneg_b
-        .{ .tag = @enumFromInt(935), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bneg_d
-        .{ .tag = @enumFromInt(936), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bneg_h
-        .{ .tag = @enumFromInt(937), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bneg_w
-        .{ .tag = @enumFromInt(938), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnegi_b
-        .{ .tag = @enumFromInt(939), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnegi_d
-        .{ .tag = @enumFromInt(940), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnegi_h
-        .{ .tag = @enumFromInt(941), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnegi_w
-        .{ .tag = @enumFromInt(942), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnz_b
-        .{ .tag = @enumFromInt(943), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnz_d
-        .{ .tag = @enumFromInt(944), .param_str = "iV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnz_h
-        .{ .tag = @enumFromInt(945), .param_str = "iV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnz_v
-        .{ .tag = @enumFromInt(946), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bnz_w
-        .{ .tag = @enumFromInt(947), .param_str = "iV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bsel_v
-        .{ .tag = @enumFromInt(948), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bseli_b
-        .{ .tag = @enumFromInt(949), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bset_b
-        .{ .tag = @enumFromInt(950), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bset_d
-        .{ .tag = @enumFromInt(951), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bset_h
-        .{ .tag = @enumFromInt(952), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bset_w
-        .{ .tag = @enumFromInt(953), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bseti_b
-        .{ .tag = @enumFromInt(954), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bseti_d
-        .{ .tag = @enumFromInt(955), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bseti_h
-        .{ .tag = @enumFromInt(956), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bseti_w
-        .{ .tag = @enumFromInt(957), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bz_b
-        .{ .tag = @enumFromInt(958), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bz_d
-        .{ .tag = @enumFromInt(959), .param_str = "iV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bz_h
-        .{ .tag = @enumFromInt(960), .param_str = "iV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bz_v
-        .{ .tag = @enumFromInt(961), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_bz_w
-        .{ .tag = @enumFromInt(962), .param_str = "iV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceq_b
-        .{ .tag = @enumFromInt(963), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceq_d
-        .{ .tag = @enumFromInt(964), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceq_h
-        .{ .tag = @enumFromInt(965), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceq_w
-        .{ .tag = @enumFromInt(966), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceqi_b
-        .{ .tag = @enumFromInt(967), .param_str = "V16ScV16ScISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceqi_d
-        .{ .tag = @enumFromInt(968), .param_str = "V2SLLiV2SLLiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceqi_h
-        .{ .tag = @enumFromInt(969), .param_str = "V8SsV8SsISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ceqi_w
-        .{ .tag = @enumFromInt(970), .param_str = "V4SiV4SiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cfcmsa
-        .{ .tag = @enumFromInt(971), .param_str = "iIi", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_msa_cle_s_b
-        .{ .tag = @enumFromInt(972), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_s_d
-        .{ .tag = @enumFromInt(973), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_s_h
-        .{ .tag = @enumFromInt(974), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_s_w
-        .{ .tag = @enumFromInt(975), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_u_b
-        .{ .tag = @enumFromInt(976), .param_str = "V16ScV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_u_d
-        .{ .tag = @enumFromInt(977), .param_str = "V2SLLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_u_h
-        .{ .tag = @enumFromInt(978), .param_str = "V8SsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_cle_u_w
-        .{ .tag = @enumFromInt(979), .param_str = "V4SiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_s_b
-        .{ .tag = @enumFromInt(980), .param_str = "V16ScV16ScISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_s_d
-        .{ .tag = @enumFromInt(981), .param_str = "V2SLLiV2SLLiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_s_h
-        .{ .tag = @enumFromInt(982), .param_str = "V8SsV8SsISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_s_w
-        .{ .tag = @enumFromInt(983), .param_str = "V4SiV4SiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_u_b
-        .{ .tag = @enumFromInt(984), .param_str = "V16ScV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_u_d
-        .{ .tag = @enumFromInt(985), .param_str = "V2SLLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_u_h
-        .{ .tag = @enumFromInt(986), .param_str = "V8SsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clei_u_w
-        .{ .tag = @enumFromInt(987), .param_str = "V4SiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_s_b
-        .{ .tag = @enumFromInt(988), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_s_d
-        .{ .tag = @enumFromInt(989), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_s_h
-        .{ .tag = @enumFromInt(990), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_s_w
-        .{ .tag = @enumFromInt(991), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_u_b
-        .{ .tag = @enumFromInt(992), .param_str = "V16ScV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_u_d
-        .{ .tag = @enumFromInt(993), .param_str = "V2SLLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_u_h
-        .{ .tag = @enumFromInt(994), .param_str = "V8SsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clt_u_w
-        .{ .tag = @enumFromInt(995), .param_str = "V4SiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_s_b
-        .{ .tag = @enumFromInt(996), .param_str = "V16ScV16ScISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_s_d
-        .{ .tag = @enumFromInt(997), .param_str = "V2SLLiV2SLLiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_s_h
-        .{ .tag = @enumFromInt(998), .param_str = "V8SsV8SsISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_s_w
-        .{ .tag = @enumFromInt(999), .param_str = "V4SiV4SiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_u_b
-        .{ .tag = @enumFromInt(1000), .param_str = "V16ScV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_u_d
-        .{ .tag = @enumFromInt(1001), .param_str = "V2SLLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_u_h
-        .{ .tag = @enumFromInt(1002), .param_str = "V8SsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_clti_u_w
-        .{ .tag = @enumFromInt(1003), .param_str = "V4SiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_s_b
-        .{ .tag = @enumFromInt(1004), .param_str = "iV16ScIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_s_d
-        .{ .tag = @enumFromInt(1005), .param_str = "LLiV2SLLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_s_h
-        .{ .tag = @enumFromInt(1006), .param_str = "iV8SsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_s_w
-        .{ .tag = @enumFromInt(1007), .param_str = "iV4SiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_u_b
-        .{ .tag = @enumFromInt(1008), .param_str = "iV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_u_d
-        .{ .tag = @enumFromInt(1009), .param_str = "LLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_u_h
-        .{ .tag = @enumFromInt(1010), .param_str = "iV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_copy_u_w
-        .{ .tag = @enumFromInt(1011), .param_str = "iV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ctcmsa
-        .{ .tag = @enumFromInt(1012), .param_str = "vIii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
-        // __builtin_msa_div_s_b
-        .{ .tag = @enumFromInt(1013), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_s_d
-        .{ .tag = @enumFromInt(1014), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_s_h
-        .{ .tag = @enumFromInt(1015), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_s_w
-        .{ .tag = @enumFromInt(1016), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_u_b
-        .{ .tag = @enumFromInt(1017), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_u_d
-        .{ .tag = @enumFromInt(1018), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_u_h
-        .{ .tag = @enumFromInt(1019), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_div_u_w
-        .{ .tag = @enumFromInt(1020), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dotp_s_d
-        .{ .tag = @enumFromInt(1021), .param_str = "V2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dotp_s_h
-        .{ .tag = @enumFromInt(1022), .param_str = "V8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dotp_s_w
-        .{ .tag = @enumFromInt(1023), .param_str = "V4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dotp_u_d
-        .{ .tag = @enumFromInt(1024), .param_str = "V2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dotp_u_h
-        .{ .tag = @enumFromInt(1025), .param_str = "V8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dotp_u_w
-        .{ .tag = @enumFromInt(1026), .param_str = "V4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpadd_s_d
-        .{ .tag = @enumFromInt(1027), .param_str = "V2SLLiV2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpadd_s_h
-        .{ .tag = @enumFromInt(1028), .param_str = "V8SsV8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpadd_s_w
-        .{ .tag = @enumFromInt(1029), .param_str = "V4SiV4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpadd_u_d
-        .{ .tag = @enumFromInt(1030), .param_str = "V2ULLiV2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpadd_u_h
-        .{ .tag = @enumFromInt(1031), .param_str = "V8UsV8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpadd_u_w
-        .{ .tag = @enumFromInt(1032), .param_str = "V4UiV4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpsub_s_d
-        .{ .tag = @enumFromInt(1033), .param_str = "V2SLLiV2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpsub_s_h
-        .{ .tag = @enumFromInt(1034), .param_str = "V8SsV8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpsub_s_w
-        .{ .tag = @enumFromInt(1035), .param_str = "V4SiV4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpsub_u_d
-        .{ .tag = @enumFromInt(1036), .param_str = "V2ULLiV2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpsub_u_h
-        .{ .tag = @enumFromInt(1037), .param_str = "V8UsV8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_dpsub_u_w
-        .{ .tag = @enumFromInt(1038), .param_str = "V4UiV4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fadd_d
-        .{ .tag = @enumFromInt(1039), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fadd_w
-        .{ .tag = @enumFromInt(1040), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcaf_d
-        .{ .tag = @enumFromInt(1041), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcaf_w
-        .{ .tag = @enumFromInt(1042), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fceq_d
-        .{ .tag = @enumFromInt(1043), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fceq_w
-        .{ .tag = @enumFromInt(1044), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fclass_d
-        .{ .tag = @enumFromInt(1045), .param_str = "V2LLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fclass_w
-        .{ .tag = @enumFromInt(1046), .param_str = "V4iV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcle_d
-        .{ .tag = @enumFromInt(1047), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcle_w
-        .{ .tag = @enumFromInt(1048), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fclt_d
-        .{ .tag = @enumFromInt(1049), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fclt_w
-        .{ .tag = @enumFromInt(1050), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcne_d
-        .{ .tag = @enumFromInt(1051), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcne_w
-        .{ .tag = @enumFromInt(1052), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcor_d
-        .{ .tag = @enumFromInt(1053), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcor_w
-        .{ .tag = @enumFromInt(1054), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcueq_d
-        .{ .tag = @enumFromInt(1055), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcueq_w
-        .{ .tag = @enumFromInt(1056), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcule_d
-        .{ .tag = @enumFromInt(1057), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcule_w
-        .{ .tag = @enumFromInt(1058), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcult_d
-        .{ .tag = @enumFromInt(1059), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcult_w
-        .{ .tag = @enumFromInt(1060), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcun_d
-        .{ .tag = @enumFromInt(1061), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcun_w
-        .{ .tag = @enumFromInt(1062), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcune_d
-        .{ .tag = @enumFromInt(1063), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fcune_w
-        .{ .tag = @enumFromInt(1064), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fdiv_d
-        .{ .tag = @enumFromInt(1065), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fdiv_w
-        .{ .tag = @enumFromInt(1066), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexdo_h
-        .{ .tag = @enumFromInt(1067), .param_str = "V8hV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexdo_w
-        .{ .tag = @enumFromInt(1068), .param_str = "V4fV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexp2_d
-        .{ .tag = @enumFromInt(1069), .param_str = "V2dV2dV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexp2_w
-        .{ .tag = @enumFromInt(1070), .param_str = "V4fV4fV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexupl_d
-        .{ .tag = @enumFromInt(1071), .param_str = "V2dV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexupl_w
-        .{ .tag = @enumFromInt(1072), .param_str = "V4fV8h", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexupr_d
-        .{ .tag = @enumFromInt(1073), .param_str = "V2dV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fexupr_w
-        .{ .tag = @enumFromInt(1074), .param_str = "V4fV8h", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffint_s_d
-        .{ .tag = @enumFromInt(1075), .param_str = "V2dV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffint_s_w
-        .{ .tag = @enumFromInt(1076), .param_str = "V4fV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffint_u_d
-        .{ .tag = @enumFromInt(1077), .param_str = "V2dV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffint_u_w
-        .{ .tag = @enumFromInt(1078), .param_str = "V4fV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffql_d
-        .{ .tag = @enumFromInt(1079), .param_str = "V2dV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffql_w
-        .{ .tag = @enumFromInt(1080), .param_str = "V4fV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffqr_d
-        .{ .tag = @enumFromInt(1081), .param_str = "V2dV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ffqr_w
-        .{ .tag = @enumFromInt(1082), .param_str = "V4fV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fill_b
-        .{ .tag = @enumFromInt(1083), .param_str = "V16Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fill_d
-        .{ .tag = @enumFromInt(1084), .param_str = "V2SLLiLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fill_h
-        .{ .tag = @enumFromInt(1085), .param_str = "V8Ssi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fill_w
-        .{ .tag = @enumFromInt(1086), .param_str = "V4Sii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_flog2_d
-        .{ .tag = @enumFromInt(1087), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_flog2_w
-        .{ .tag = @enumFromInt(1088), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmadd_d
-        .{ .tag = @enumFromInt(1089), .param_str = "V2dV2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmadd_w
-        .{ .tag = @enumFromInt(1090), .param_str = "V4fV4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmax_a_d
-        .{ .tag = @enumFromInt(1091), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmax_a_w
-        .{ .tag = @enumFromInt(1092), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmax_d
-        .{ .tag = @enumFromInt(1093), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmax_w
-        .{ .tag = @enumFromInt(1094), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmin_a_d
-        .{ .tag = @enumFromInt(1095), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmin_a_w
-        .{ .tag = @enumFromInt(1096), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmin_d
-        .{ .tag = @enumFromInt(1097), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmin_w
-        .{ .tag = @enumFromInt(1098), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmsub_d
-        .{ .tag = @enumFromInt(1099), .param_str = "V2dV2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmsub_w
-        .{ .tag = @enumFromInt(1100), .param_str = "V4fV4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmul_d
-        .{ .tag = @enumFromInt(1101), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fmul_w
-        .{ .tag = @enumFromInt(1102), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_frcp_d
-        .{ .tag = @enumFromInt(1103), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_frcp_w
-        .{ .tag = @enumFromInt(1104), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_frint_d
-        .{ .tag = @enumFromInt(1105), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_frint_w
-        .{ .tag = @enumFromInt(1106), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_frsqrt_d
-        .{ .tag = @enumFromInt(1107), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_frsqrt_w
-        .{ .tag = @enumFromInt(1108), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsaf_d
-        .{ .tag = @enumFromInt(1109), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsaf_w
-        .{ .tag = @enumFromInt(1110), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fseq_d
-        .{ .tag = @enumFromInt(1111), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fseq_w
-        .{ .tag = @enumFromInt(1112), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsle_d
-        .{ .tag = @enumFromInt(1113), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsle_w
-        .{ .tag = @enumFromInt(1114), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fslt_d
-        .{ .tag = @enumFromInt(1115), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fslt_w
-        .{ .tag = @enumFromInt(1116), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsne_d
-        .{ .tag = @enumFromInt(1117), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsne_w
-        .{ .tag = @enumFromInt(1118), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsor_d
-        .{ .tag = @enumFromInt(1119), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsor_w
-        .{ .tag = @enumFromInt(1120), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsqrt_d
-        .{ .tag = @enumFromInt(1121), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsqrt_w
-        .{ .tag = @enumFromInt(1122), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsub_d
-        .{ .tag = @enumFromInt(1123), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsub_w
-        .{ .tag = @enumFromInt(1124), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsueq_d
-        .{ .tag = @enumFromInt(1125), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsueq_w
-        .{ .tag = @enumFromInt(1126), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsule_d
-        .{ .tag = @enumFromInt(1127), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsule_w
-        .{ .tag = @enumFromInt(1128), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsult_d
-        .{ .tag = @enumFromInt(1129), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsult_w
-        .{ .tag = @enumFromInt(1130), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsun_d
-        .{ .tag = @enumFromInt(1131), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsun_w
-        .{ .tag = @enumFromInt(1132), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsune_d
-        .{ .tag = @enumFromInt(1133), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_fsune_w
-        .{ .tag = @enumFromInt(1134), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftint_s_d
-        .{ .tag = @enumFromInt(1135), .param_str = "V2SLLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftint_s_w
-        .{ .tag = @enumFromInt(1136), .param_str = "V4SiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftint_u_d
-        .{ .tag = @enumFromInt(1137), .param_str = "V2ULLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftint_u_w
-        .{ .tag = @enumFromInt(1138), .param_str = "V4UiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftq_h
-        .{ .tag = @enumFromInt(1139), .param_str = "V4UiV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftq_w
-        .{ .tag = @enumFromInt(1140), .param_str = "V2ULLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftrunc_s_d
-        .{ .tag = @enumFromInt(1141), .param_str = "V2SLLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftrunc_s_w
-        .{ .tag = @enumFromInt(1142), .param_str = "V4SiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftrunc_u_d
-        .{ .tag = @enumFromInt(1143), .param_str = "V2ULLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ftrunc_u_w
-        .{ .tag = @enumFromInt(1144), .param_str = "V4UiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hadd_s_d
-        .{ .tag = @enumFromInt(1145), .param_str = "V2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hadd_s_h
-        .{ .tag = @enumFromInt(1146), .param_str = "V8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hadd_s_w
-        .{ .tag = @enumFromInt(1147), .param_str = "V4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hadd_u_d
-        .{ .tag = @enumFromInt(1148), .param_str = "V2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hadd_u_h
-        .{ .tag = @enumFromInt(1149), .param_str = "V8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hadd_u_w
-        .{ .tag = @enumFromInt(1150), .param_str = "V4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hsub_s_d
-        .{ .tag = @enumFromInt(1151), .param_str = "V2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hsub_s_h
-        .{ .tag = @enumFromInt(1152), .param_str = "V8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hsub_s_w
-        .{ .tag = @enumFromInt(1153), .param_str = "V4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hsub_u_d
-        .{ .tag = @enumFromInt(1154), .param_str = "V2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hsub_u_h
-        .{ .tag = @enumFromInt(1155), .param_str = "V8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_hsub_u_w
-        .{ .tag = @enumFromInt(1156), .param_str = "V4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvev_b
-        .{ .tag = @enumFromInt(1157), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvev_d
-        .{ .tag = @enumFromInt(1158), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvev_h
-        .{ .tag = @enumFromInt(1159), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvev_w
-        .{ .tag = @enumFromInt(1160), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvl_b
-        .{ .tag = @enumFromInt(1161), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvl_d
-        .{ .tag = @enumFromInt(1162), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvl_h
-        .{ .tag = @enumFromInt(1163), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvl_w
-        .{ .tag = @enumFromInt(1164), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvod_b
-        .{ .tag = @enumFromInt(1165), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvod_d
-        .{ .tag = @enumFromInt(1166), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvod_h
-        .{ .tag = @enumFromInt(1167), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvod_w
-        .{ .tag = @enumFromInt(1168), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvr_b
-        .{ .tag = @enumFromInt(1169), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvr_d
-        .{ .tag = @enumFromInt(1170), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvr_h
-        .{ .tag = @enumFromInt(1171), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ilvr_w
-        .{ .tag = @enumFromInt(1172), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insert_b
-        .{ .tag = @enumFromInt(1173), .param_str = "V16ScV16ScIUii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insert_d
-        .{ .tag = @enumFromInt(1174), .param_str = "V2SLLiV2SLLiIUiLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insert_h
-        .{ .tag = @enumFromInt(1175), .param_str = "V8SsV8SsIUii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insert_w
-        .{ .tag = @enumFromInt(1176), .param_str = "V4SiV4SiIUii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insve_b
-        .{ .tag = @enumFromInt(1177), .param_str = "V16ScV16ScIUiV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insve_d
-        .{ .tag = @enumFromInt(1178), .param_str = "V2SLLiV2SLLiIUiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insve_h
-        .{ .tag = @enumFromInt(1179), .param_str = "V8SsV8SsIUiV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_insve_w
-        .{ .tag = @enumFromInt(1180), .param_str = "V4SiV4SiIUiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ld_b
-        .{ .tag = @enumFromInt(1181), .param_str = "V16Scv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ld_d
-        .{ .tag = @enumFromInt(1182), .param_str = "V2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ld_h
-        .{ .tag = @enumFromInt(1183), .param_str = "V8Ssv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ld_w
-        .{ .tag = @enumFromInt(1184), .param_str = "V4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ldi_b
-        .{ .tag = @enumFromInt(1185), .param_str = "V16cIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ldi_d
-        .{ .tag = @enumFromInt(1186), .param_str = "V2LLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ldi_h
-        .{ .tag = @enumFromInt(1187), .param_str = "V8sIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ldi_w
-        .{ .tag = @enumFromInt(1188), .param_str = "V4iIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ldr_d
-        .{ .tag = @enumFromInt(1189), .param_str = "V2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ldr_w
-        .{ .tag = @enumFromInt(1190), .param_str = "V4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_madd_q_h
-        .{ .tag = @enumFromInt(1191), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_madd_q_w
-        .{ .tag = @enumFromInt(1192), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maddr_q_h
-        .{ .tag = @enumFromInt(1193), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maddr_q_w
-        .{ .tag = @enumFromInt(1194), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maddv_b
-        .{ .tag = @enumFromInt(1195), .param_str = "V16ScV16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maddv_d
-        .{ .tag = @enumFromInt(1196), .param_str = "V2SLLiV2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maddv_h
-        .{ .tag = @enumFromInt(1197), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maddv_w
-        .{ .tag = @enumFromInt(1198), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_a_b
-        .{ .tag = @enumFromInt(1199), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_a_d
-        .{ .tag = @enumFromInt(1200), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_a_h
-        .{ .tag = @enumFromInt(1201), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_a_w
-        .{ .tag = @enumFromInt(1202), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_s_b
-        .{ .tag = @enumFromInt(1203), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_s_d
-        .{ .tag = @enumFromInt(1204), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_s_h
-        .{ .tag = @enumFromInt(1205), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_s_w
-        .{ .tag = @enumFromInt(1206), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_u_b
-        .{ .tag = @enumFromInt(1207), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_u_d
-        .{ .tag = @enumFromInt(1208), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_u_h
-        .{ .tag = @enumFromInt(1209), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_max_u_w
-        .{ .tag = @enumFromInt(1210), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_s_b
-        .{ .tag = @enumFromInt(1211), .param_str = "V16ScV16ScIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_s_d
-        .{ .tag = @enumFromInt(1212), .param_str = "V2SLLiV2SLLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_s_h
-        .{ .tag = @enumFromInt(1213), .param_str = "V8SsV8SsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_s_w
-        .{ .tag = @enumFromInt(1214), .param_str = "V4SiV4SiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_u_b
-        .{ .tag = @enumFromInt(1215), .param_str = "V16UcV16UcIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_u_d
-        .{ .tag = @enumFromInt(1216), .param_str = "V2ULLiV2ULLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_u_h
-        .{ .tag = @enumFromInt(1217), .param_str = "V8UsV8UsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_maxi_u_w
-        .{ .tag = @enumFromInt(1218), .param_str = "V4UiV4UiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_a_b
-        .{ .tag = @enumFromInt(1219), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_a_d
-        .{ .tag = @enumFromInt(1220), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_a_h
-        .{ .tag = @enumFromInt(1221), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_a_w
-        .{ .tag = @enumFromInt(1222), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_s_b
-        .{ .tag = @enumFromInt(1223), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_s_d
-        .{ .tag = @enumFromInt(1224), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_s_h
-        .{ .tag = @enumFromInt(1225), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_s_w
-        .{ .tag = @enumFromInt(1226), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_u_b
-        .{ .tag = @enumFromInt(1227), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_u_d
-        .{ .tag = @enumFromInt(1228), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_u_h
-        .{ .tag = @enumFromInt(1229), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_min_u_w
-        .{ .tag = @enumFromInt(1230), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_s_b
-        .{ .tag = @enumFromInt(1231), .param_str = "V16ScV16ScIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_s_d
-        .{ .tag = @enumFromInt(1232), .param_str = "V2SLLiV2SLLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_s_h
-        .{ .tag = @enumFromInt(1233), .param_str = "V8SsV8SsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_s_w
-        .{ .tag = @enumFromInt(1234), .param_str = "V4SiV4SiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_u_b
-        .{ .tag = @enumFromInt(1235), .param_str = "V16UcV16UcIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_u_d
-        .{ .tag = @enumFromInt(1236), .param_str = "V2ULLiV2ULLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_u_h
-        .{ .tag = @enumFromInt(1237), .param_str = "V8UsV8UsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mini_u_w
-        .{ .tag = @enumFromInt(1238), .param_str = "V4UiV4UiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_s_b
-        .{ .tag = @enumFromInt(1239), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_s_d
-        .{ .tag = @enumFromInt(1240), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_s_h
-        .{ .tag = @enumFromInt(1241), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_s_w
-        .{ .tag = @enumFromInt(1242), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_u_b
-        .{ .tag = @enumFromInt(1243), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_u_d
-        .{ .tag = @enumFromInt(1244), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_u_h
-        .{ .tag = @enumFromInt(1245), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mod_u_w
-        .{ .tag = @enumFromInt(1246), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_move_v
-        .{ .tag = @enumFromInt(1247), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msub_q_h
-        .{ .tag = @enumFromInt(1248), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msub_q_w
-        .{ .tag = @enumFromInt(1249), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msubr_q_h
-        .{ .tag = @enumFromInt(1250), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msubr_q_w
-        .{ .tag = @enumFromInt(1251), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msubv_b
-        .{ .tag = @enumFromInt(1252), .param_str = "V16ScV16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msubv_d
-        .{ .tag = @enumFromInt(1253), .param_str = "V2SLLiV2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msubv_h
-        .{ .tag = @enumFromInt(1254), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_msubv_w
-        .{ .tag = @enumFromInt(1255), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mul_q_h
-        .{ .tag = @enumFromInt(1256), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mul_q_w
-        .{ .tag = @enumFromInt(1257), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mulr_q_h
-        .{ .tag = @enumFromInt(1258), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mulr_q_w
-        .{ .tag = @enumFromInt(1259), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mulv_b
-        .{ .tag = @enumFromInt(1260), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mulv_d
-        .{ .tag = @enumFromInt(1261), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mulv_h
-        .{ .tag = @enumFromInt(1262), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_mulv_w
-        .{ .tag = @enumFromInt(1263), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nloc_b
-        .{ .tag = @enumFromInt(1264), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nloc_d
-        .{ .tag = @enumFromInt(1265), .param_str = "V2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nloc_h
-        .{ .tag = @enumFromInt(1266), .param_str = "V8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nloc_w
-        .{ .tag = @enumFromInt(1267), .param_str = "V4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nlzc_b
-        .{ .tag = @enumFromInt(1268), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nlzc_d
-        .{ .tag = @enumFromInt(1269), .param_str = "V2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nlzc_h
-        .{ .tag = @enumFromInt(1270), .param_str = "V8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nlzc_w
-        .{ .tag = @enumFromInt(1271), .param_str = "V4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nor_v
-        .{ .tag = @enumFromInt(1272), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_nori_b
-        .{ .tag = @enumFromInt(1273), .param_str = "V16UcV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_or_v
-        .{ .tag = @enumFromInt(1274), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_ori_b
-        .{ .tag = @enumFromInt(1275), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckev_b
-        .{ .tag = @enumFromInt(1276), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckev_d
-        .{ .tag = @enumFromInt(1277), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckev_h
-        .{ .tag = @enumFromInt(1278), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckev_w
-        .{ .tag = @enumFromInt(1279), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckod_b
-        .{ .tag = @enumFromInt(1280), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckod_d
-        .{ .tag = @enumFromInt(1281), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckod_h
-        .{ .tag = @enumFromInt(1282), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pckod_w
-        .{ .tag = @enumFromInt(1283), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pcnt_b
-        .{ .tag = @enumFromInt(1284), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pcnt_d
-        .{ .tag = @enumFromInt(1285), .param_str = "V2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pcnt_h
-        .{ .tag = @enumFromInt(1286), .param_str = "V8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_pcnt_w
-        .{ .tag = @enumFromInt(1287), .param_str = "V4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_s_b
-        .{ .tag = @enumFromInt(1288), .param_str = "V16ScV16ScIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_s_d
-        .{ .tag = @enumFromInt(1289), .param_str = "V2SLLiV2SLLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_s_h
-        .{ .tag = @enumFromInt(1290), .param_str = "V8SsV8SsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_s_w
-        .{ .tag = @enumFromInt(1291), .param_str = "V4SiV4SiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_u_b
-        .{ .tag = @enumFromInt(1292), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_u_d
-        .{ .tag = @enumFromInt(1293), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_u_h
-        .{ .tag = @enumFromInt(1294), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sat_u_w
-        .{ .tag = @enumFromInt(1295), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_shf_b
-        .{ .tag = @enumFromInt(1296), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_shf_h
-        .{ .tag = @enumFromInt(1297), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_shf_w
-        .{ .tag = @enumFromInt(1298), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sld_b
-        .{ .tag = @enumFromInt(1299), .param_str = "V16cV16cV16cUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sld_d
-        .{ .tag = @enumFromInt(1300), .param_str = "V2LLiV2LLiV2LLiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sld_h
-        .{ .tag = @enumFromInt(1301), .param_str = "V8sV8sV8sUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sld_w
-        .{ .tag = @enumFromInt(1302), .param_str = "V4iV4iV4iUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sldi_b
-        .{ .tag = @enumFromInt(1303), .param_str = "V16cV16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sldi_d
-        .{ .tag = @enumFromInt(1304), .param_str = "V2LLiV2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sldi_h
-        .{ .tag = @enumFromInt(1305), .param_str = "V8sV8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sldi_w
-        .{ .tag = @enumFromInt(1306), .param_str = "V4iV4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sll_b
-        .{ .tag = @enumFromInt(1307), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sll_d
-        .{ .tag = @enumFromInt(1308), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sll_h
-        .{ .tag = @enumFromInt(1309), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sll_w
-        .{ .tag = @enumFromInt(1310), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_slli_b
-        .{ .tag = @enumFromInt(1311), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_slli_d
-        .{ .tag = @enumFromInt(1312), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_slli_h
-        .{ .tag = @enumFromInt(1313), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_slli_w
-        .{ .tag = @enumFromInt(1314), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splat_b
-        .{ .tag = @enumFromInt(1315), .param_str = "V16cV16cUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splat_d
-        .{ .tag = @enumFromInt(1316), .param_str = "V2LLiV2LLiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splat_h
-        .{ .tag = @enumFromInt(1317), .param_str = "V8sV8sUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splat_w
-        .{ .tag = @enumFromInt(1318), .param_str = "V4iV4iUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splati_b
-        .{ .tag = @enumFromInt(1319), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splati_d
-        .{ .tag = @enumFromInt(1320), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splati_h
-        .{ .tag = @enumFromInt(1321), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_splati_w
-        .{ .tag = @enumFromInt(1322), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sra_b
-        .{ .tag = @enumFromInt(1323), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sra_d
-        .{ .tag = @enumFromInt(1324), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sra_h
-        .{ .tag = @enumFromInt(1325), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_sra_w
-        .{ .tag = @enumFromInt(1326), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srai_b
-        .{ .tag = @enumFromInt(1327), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srai_d
-        .{ .tag = @enumFromInt(1328), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srai_h
-        .{ .tag = @enumFromInt(1329), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srai_w
-        .{ .tag = @enumFromInt(1330), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srar_b
-        .{ .tag = @enumFromInt(1331), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srar_d
-        .{ .tag = @enumFromInt(1332), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srar_h
-        .{ .tag = @enumFromInt(1333), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srar_w
-        .{ .tag = @enumFromInt(1334), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srari_b
-        .{ .tag = @enumFromInt(1335), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srari_d
-        .{ .tag = @enumFromInt(1336), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srari_h
-        .{ .tag = @enumFromInt(1337), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srari_w
-        .{ .tag = @enumFromInt(1338), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srl_b
-        .{ .tag = @enumFromInt(1339), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srl_d
-        .{ .tag = @enumFromInt(1340), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srl_h
-        .{ .tag = @enumFromInt(1341), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srl_w
-        .{ .tag = @enumFromInt(1342), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srli_b
-        .{ .tag = @enumFromInt(1343), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srli_d
-        .{ .tag = @enumFromInt(1344), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srli_h
-        .{ .tag = @enumFromInt(1345), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srli_w
-        .{ .tag = @enumFromInt(1346), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlr_b
-        .{ .tag = @enumFromInt(1347), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlr_d
-        .{ .tag = @enumFromInt(1348), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlr_h
-        .{ .tag = @enumFromInt(1349), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlr_w
-        .{ .tag = @enumFromInt(1350), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlri_b
-        .{ .tag = @enumFromInt(1351), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlri_d
-        .{ .tag = @enumFromInt(1352), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlri_h
-        .{ .tag = @enumFromInt(1353), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_srlri_w
-        .{ .tag = @enumFromInt(1354), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_st_b
-        .{ .tag = @enumFromInt(1355), .param_str = "vV16Scv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_st_d
-        .{ .tag = @enumFromInt(1356), .param_str = "vV2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_st_h
-        .{ .tag = @enumFromInt(1357), .param_str = "vV8Ssv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_st_w
-        .{ .tag = @enumFromInt(1358), .param_str = "vV4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_str_d
-        .{ .tag = @enumFromInt(1359), .param_str = "vV2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_str_w
-        .{ .tag = @enumFromInt(1360), .param_str = "vV4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_s_b
-        .{ .tag = @enumFromInt(1361), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_s_d
-        .{ .tag = @enumFromInt(1362), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_s_h
-        .{ .tag = @enumFromInt(1363), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_s_w
-        .{ .tag = @enumFromInt(1364), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_u_b
-        .{ .tag = @enumFromInt(1365), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_u_d
-        .{ .tag = @enumFromInt(1366), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_u_h
-        .{ .tag = @enumFromInt(1367), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subs_u_w
-        .{ .tag = @enumFromInt(1368), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsus_u_b
-        .{ .tag = @enumFromInt(1369), .param_str = "V16UcV16UcV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsus_u_d
-        .{ .tag = @enumFromInt(1370), .param_str = "V2ULLiV2ULLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsus_u_h
-        .{ .tag = @enumFromInt(1371), .param_str = "V8UsV8UsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsus_u_w
-        .{ .tag = @enumFromInt(1372), .param_str = "V4UiV4UiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsuu_s_b
-        .{ .tag = @enumFromInt(1373), .param_str = "V16ScV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsuu_s_d
-        .{ .tag = @enumFromInt(1374), .param_str = "V2SLLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsuu_s_h
-        .{ .tag = @enumFromInt(1375), .param_str = "V8SsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subsuu_s_w
-        .{ .tag = @enumFromInt(1376), .param_str = "V4SiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subv_b
-        .{ .tag = @enumFromInt(1377), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subv_d
-        .{ .tag = @enumFromInt(1378), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subv_h
-        .{ .tag = @enumFromInt(1379), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subv_w
-        .{ .tag = @enumFromInt(1380), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subvi_b
-        .{ .tag = @enumFromInt(1381), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subvi_d
-        .{ .tag = @enumFromInt(1382), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subvi_h
-        .{ .tag = @enumFromInt(1383), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_subvi_w
-        .{ .tag = @enumFromInt(1384), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_vshf_b
-        .{ .tag = @enumFromInt(1385), .param_str = "V16cV16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_vshf_d
-        .{ .tag = @enumFromInt(1386), .param_str = "V2LLiV2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_vshf_h
-        .{ .tag = @enumFromInt(1387), .param_str = "V8sV8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_vshf_w
-        .{ .tag = @enumFromInt(1388), .param_str = "V4iV4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_xor_v
-        .{ .tag = @enumFromInt(1389), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_msa_xori_b
-        .{ .tag = @enumFromInt(1390), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
-        // __builtin_mul_overflow
-        .{ .tag = @enumFromInt(1391), .param_str = "b.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_nan
-        .{ .tag = @enumFromInt(1392), .param_str = "dcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nanf
-        .{ .tag = @enumFromInt(1393), .param_str = "fcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nanf128
-        .{ .tag = @enumFromInt(1394), .param_str = "LLdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nanf16
-        .{ .tag = @enumFromInt(1395), .param_str = "xcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nanl
-        .{ .tag = @enumFromInt(1396), .param_str = "LdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nans
-        .{ .tag = @enumFromInt(1397), .param_str = "dcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nansf
-        .{ .tag = @enumFromInt(1398), .param_str = "fcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nansf128
-        .{ .tag = @enumFromInt(1399), .param_str = "LLdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nansf16
-        .{ .tag = @enumFromInt(1400), .param_str = "xcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nansl
-        .{ .tag = @enumFromInt(1401), .param_str = "LdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_nearbyint
-        .{ .tag = @enumFromInt(1402), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_nearbyintf
-        .{ .tag = @enumFromInt(1403), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_nearbyintf128
-        .{ .tag = @enumFromInt(1404), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_nearbyintl
-        .{ .tag = @enumFromInt(1405), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_nextafter
-        .{ .tag = @enumFromInt(1406), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nextafterf
-        .{ .tag = @enumFromInt(1407), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nextafterf128
-        .{ .tag = @enumFromInt(1408), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nextafterl
-        .{ .tag = @enumFromInt(1409), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nexttoward
-        .{ .tag = @enumFromInt(1410), .param_str = "ddLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nexttowardf
-        .{ .tag = @enumFromInt(1411), .param_str = "ffLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nexttowardf128
-        .{ .tag = @enumFromInt(1412), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nexttowardl
-        .{ .tag = @enumFromInt(1413), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_nondeterministic_value
-        .{ .tag = @enumFromInt(1414), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_nontemporal_load
-        .{ .tag = @enumFromInt(1415), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_nontemporal_store
-        .{ .tag = @enumFromInt(1416), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_objc_memmove_collectable
-        .{ .tag = @enumFromInt(1417), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_object_size
-        .{ .tag = @enumFromInt(1418), .param_str = "zvC*i", .properties = .{ .attributes = .{ .eval_args = false, .const_evaluable = true } } },
-        // __builtin_operator_delete
-        .{ .tag = @enumFromInt(1419), .param_str = "vv*", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_operator_new
-        .{ .tag = @enumFromInt(1420), .param_str = "v*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_os_log_format
-        .{ .tag = @enumFromInt(1421), .param_str = "v*v*cC*.", .properties = .{ .attributes = .{ .custom_typecheck = true, .format_kind = .printf } } },
-        // __builtin_os_log_format_buffer_size
-        .{ .tag = @enumFromInt(1422), .param_str = "zcC*.", .properties = .{ .attributes = .{ .custom_typecheck = true, .format_kind = .printf, .eval_args = false, .const_evaluable = true } } },
-        // __builtin_pack_longdouble
-        .{ .tag = @enumFromInt(1423), .param_str = "Lddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_parity
-        .{ .tag = @enumFromInt(1424), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_parityl
-        .{ .tag = @enumFromInt(1425), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_parityll
-        .{ .tag = @enumFromInt(1426), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_popcount
-        .{ .tag = @enumFromInt(1427), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_popcountl
-        .{ .tag = @enumFromInt(1428), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_popcountll
-        .{ .tag = @enumFromInt(1429), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_pow
-        .{ .tag = @enumFromInt(1430), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_powf
-        .{ .tag = @enumFromInt(1431), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_powf128
-        .{ .tag = @enumFromInt(1432), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_powf16
-        .{ .tag = @enumFromInt(1433), .param_str = "hhh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_powi
-        .{ .tag = @enumFromInt(1434), .param_str = "ddi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_powif
-        .{ .tag = @enumFromInt(1435), .param_str = "ffi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_powil
-        .{ .tag = @enumFromInt(1436), .param_str = "LdLdi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_powl
-        .{ .tag = @enumFromInt(1437), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_ppc_alignx
-        .{ .tag = @enumFromInt(1438), .param_str = "vIivC*", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .@"const" = true } } },
-        // __builtin_ppc_cmpb
-        .{ .tag = @enumFromInt(1439), .param_str = "LLiLLiLLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_compare_and_swap
-        .{ .tag = @enumFromInt(1440), .param_str = "iiD*i*i", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_compare_and_swaplp
-        .{ .tag = @enumFromInt(1441), .param_str = "iLiD*Li*Li", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbfl
-        .{ .tag = @enumFromInt(1442), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbflp
-        .{ .tag = @enumFromInt(1443), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbst
-        .{ .tag = @enumFromInt(1444), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbt
-        .{ .tag = @enumFromInt(1445), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbtst
-        .{ .tag = @enumFromInt(1446), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbtstt
-        .{ .tag = @enumFromInt(1447), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbtt
-        .{ .tag = @enumFromInt(1448), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_dcbz
-        .{ .tag = @enumFromInt(1449), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_eieio
-        .{ .tag = @enumFromInt(1450), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fcfid
-        .{ .tag = @enumFromInt(1451), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fcfud
-        .{ .tag = @enumFromInt(1452), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fctid
-        .{ .tag = @enumFromInt(1453), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fctidz
-        .{ .tag = @enumFromInt(1454), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fctiw
-        .{ .tag = @enumFromInt(1455), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fctiwz
-        .{ .tag = @enumFromInt(1456), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fctudz
-        .{ .tag = @enumFromInt(1457), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fctuwz
-        .{ .tag = @enumFromInt(1458), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_add
-        .{ .tag = @enumFromInt(1459), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_addlp
-        .{ .tag = @enumFromInt(1460), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_and
-        .{ .tag = @enumFromInt(1461), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_andlp
-        .{ .tag = @enumFromInt(1462), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_or
-        .{ .tag = @enumFromInt(1463), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_orlp
-        .{ .tag = @enumFromInt(1464), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_swap
-        .{ .tag = @enumFromInt(1465), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fetch_and_swaplp
-        .{ .tag = @enumFromInt(1466), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fmsub
-        .{ .tag = @enumFromInt(1467), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fmsubs
-        .{ .tag = @enumFromInt(1468), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fnabs
-        .{ .tag = @enumFromInt(1469), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fnabss
-        .{ .tag = @enumFromInt(1470), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fnmadd
-        .{ .tag = @enumFromInt(1471), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fnmadds
-        .{ .tag = @enumFromInt(1472), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fnmsub
-        .{ .tag = @enumFromInt(1473), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fnmsubs
-        .{ .tag = @enumFromInt(1474), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fre
-        .{ .tag = @enumFromInt(1475), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fres
-        .{ .tag = @enumFromInt(1476), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fric
-        .{ .tag = @enumFromInt(1477), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frim
-        .{ .tag = @enumFromInt(1478), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frims
-        .{ .tag = @enumFromInt(1479), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frin
-        .{ .tag = @enumFromInt(1480), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frins
-        .{ .tag = @enumFromInt(1481), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frip
-        .{ .tag = @enumFromInt(1482), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frips
-        .{ .tag = @enumFromInt(1483), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_friz
-        .{ .tag = @enumFromInt(1484), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frizs
-        .{ .tag = @enumFromInt(1485), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frsqrte
-        .{ .tag = @enumFromInt(1486), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_frsqrtes
-        .{ .tag = @enumFromInt(1487), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fsel
-        .{ .tag = @enumFromInt(1488), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fsels
-        .{ .tag = @enumFromInt(1489), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fsqrt
-        .{ .tag = @enumFromInt(1490), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_fsqrts
-        .{ .tag = @enumFromInt(1491), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_get_timebase
-        .{ .tag = @enumFromInt(1492), .param_str = "ULLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_iospace_eieio
-        .{ .tag = @enumFromInt(1493), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_iospace_lwsync
-        .{ .tag = @enumFromInt(1494), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_iospace_sync
-        .{ .tag = @enumFromInt(1495), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_isync
-        .{ .tag = @enumFromInt(1496), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_ldarx
-        .{ .tag = @enumFromInt(1497), .param_str = "LiLiD*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_load2r
-        .{ .tag = @enumFromInt(1498), .param_str = "UsUs*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_load4r
-        .{ .tag = @enumFromInt(1499), .param_str = "UiUi*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_lwarx
-        .{ .tag = @enumFromInt(1500), .param_str = "iiD*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_lwsync
-        .{ .tag = @enumFromInt(1501), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_maxfe
-        .{ .tag = @enumFromInt(1502), .param_str = "LdLdLdLd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ppc_maxfl
-        .{ .tag = @enumFromInt(1503), .param_str = "dddd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ppc_maxfs
-        .{ .tag = @enumFromInt(1504), .param_str = "ffff.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ppc_mfmsr
-        .{ .tag = @enumFromInt(1505), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mfspr
-        .{ .tag = @enumFromInt(1506), .param_str = "ULiIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mftbu
-        .{ .tag = @enumFromInt(1507), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_minfe
-        .{ .tag = @enumFromInt(1508), .param_str = "LdLdLdLd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ppc_minfl
-        .{ .tag = @enumFromInt(1509), .param_str = "dddd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ppc_minfs
-        .{ .tag = @enumFromInt(1510), .param_str = "ffff.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ppc_mtfsb0
-        .{ .tag = @enumFromInt(1511), .param_str = "vUIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mtfsb1
-        .{ .tag = @enumFromInt(1512), .param_str = "vUIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mtfsf
-        .{ .tag = @enumFromInt(1513), .param_str = "vUIiUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mtfsfi
-        .{ .tag = @enumFromInt(1514), .param_str = "vUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mtmsr
-        .{ .tag = @enumFromInt(1515), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mtspr
-        .{ .tag = @enumFromInt(1516), .param_str = "vIiULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mulhd
-        .{ .tag = @enumFromInt(1517), .param_str = "LLiLiLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mulhdu
-        .{ .tag = @enumFromInt(1518), .param_str = "ULLiULiULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mulhw
-        .{ .tag = @enumFromInt(1519), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_mulhwu
-        .{ .tag = @enumFromInt(1520), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_popcntb
-        .{ .tag = @enumFromInt(1521), .param_str = "ULiULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_poppar4
-        .{ .tag = @enumFromInt(1522), .param_str = "iUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_poppar8
-        .{ .tag = @enumFromInt(1523), .param_str = "iULLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_rdlam
-        .{ .tag = @enumFromInt(1524), .param_str = "UWiUWiUWiUWIi", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .@"const" = true } } },
-        // __builtin_ppc_recipdivd
-        .{ .tag = @enumFromInt(1525), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_recipdivf
-        .{ .tag = @enumFromInt(1526), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_rldimi
-        .{ .tag = @enumFromInt(1527), .param_str = "ULLiULLiULLiIUiIULLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_rlwimi
-        .{ .tag = @enumFromInt(1528), .param_str = "UiUiUiIUiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_rlwnm
-        .{ .tag = @enumFromInt(1529), .param_str = "UiUiUiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_rsqrtd
-        .{ .tag = @enumFromInt(1530), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_rsqrtf
-        .{ .tag = @enumFromInt(1531), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_stdcx
-        .{ .tag = @enumFromInt(1532), .param_str = "iLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_stfiw
-        .{ .tag = @enumFromInt(1533), .param_str = "viC*d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_store2r
-        .{ .tag = @enumFromInt(1534), .param_str = "vUiUs*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_store4r
-        .{ .tag = @enumFromInt(1535), .param_str = "vUiUi*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_stwcx
-        .{ .tag = @enumFromInt(1536), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_swdiv
-        .{ .tag = @enumFromInt(1537), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_swdiv_nochk
-        .{ .tag = @enumFromInt(1538), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_swdivs
-        .{ .tag = @enumFromInt(1539), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_swdivs_nochk
-        .{ .tag = @enumFromInt(1540), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_sync
-        .{ .tag = @enumFromInt(1541), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_tdw
-        .{ .tag = @enumFromInt(1542), .param_str = "vLLiLLiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_trap
-        .{ .tag = @enumFromInt(1543), .param_str = "vi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_trapd
-        .{ .tag = @enumFromInt(1544), .param_str = "vLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_ppc_tw
-        .{ .tag = @enumFromInt(1545), .param_str = "viiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_prefetch
-        .{ .tag = @enumFromInt(1546), .param_str = "vvC*.", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_preserve_access_index
-        .{ .tag = @enumFromInt(1547), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_printf
-        .{ .tag = @enumFromInt(1548), .param_str = "icC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf } } },
-        // __builtin_ptx_get_image_channel_data_typei_
-        .{ .tag = @enumFromInt(1549), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_get_image_channel_orderi_
-        .{ .tag = @enumFromInt(1550), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_get_image_depthi_
-        .{ .tag = @enumFromInt(1551), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_get_image_heighti_
-        .{ .tag = @enumFromInt(1552), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_get_image_widthi_
-        .{ .tag = @enumFromInt(1553), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image2Dff_
-        .{ .tag = @enumFromInt(1554), .param_str = "V4fiiff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image2Dfi_
-        .{ .tag = @enumFromInt(1555), .param_str = "V4fiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image2Dif_
-        .{ .tag = @enumFromInt(1556), .param_str = "V4iiiff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image2Dii_
-        .{ .tag = @enumFromInt(1557), .param_str = "V4iiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image3Dff_
-        .{ .tag = @enumFromInt(1558), .param_str = "V4fiiffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image3Dfi_
-        .{ .tag = @enumFromInt(1559), .param_str = "V4fiiiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image3Dif_
-        .{ .tag = @enumFromInt(1560), .param_str = "V4iiiffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_read_image3Dii_
-        .{ .tag = @enumFromInt(1561), .param_str = "V4iiiiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_write_image2Df_
-        .{ .tag = @enumFromInt(1562), .param_str = "viiiffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_write_image2Di_
-        .{ .tag = @enumFromInt(1563), .param_str = "viiiiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_ptx_write_image2Dui_
-        .{ .tag = @enumFromInt(1564), .param_str = "viiiUiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __builtin_r600_implicitarg_ptr
-        .{ .tag = @enumFromInt(1565), .param_str = "Uc*7", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_read_tgid_x
-        .{ .tag = @enumFromInt(1566), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_read_tgid_y
-        .{ .tag = @enumFromInt(1567), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_read_tgid_z
-        .{ .tag = @enumFromInt(1568), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_read_tidig_x
-        .{ .tag = @enumFromInt(1569), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_read_tidig_y
-        .{ .tag = @enumFromInt(1570), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_read_tidig_z
-        .{ .tag = @enumFromInt(1571), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_recipsqrt_ieee
-        .{ .tag = @enumFromInt(1572), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_r600_recipsqrt_ieeef
-        .{ .tag = @enumFromInt(1573), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
-        // __builtin_readcyclecounter
-        .{ .tag = @enumFromInt(1574), .param_str = "ULLi", .properties = .{} },
-        // __builtin_readflm
-        .{ .tag = @enumFromInt(1575), .param_str = "d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_realloc
-        .{ .tag = @enumFromInt(1576), .param_str = "v*v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_reduce_add
-        .{ .tag = @enumFromInt(1577), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_reduce_and
-        .{ .tag = @enumFromInt(1578), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_reduce_max
-        .{ .tag = @enumFromInt(1579), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_reduce_min
-        .{ .tag = @enumFromInt(1580), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_reduce_mul
-        .{ .tag = @enumFromInt(1581), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_reduce_or
-        .{ .tag = @enumFromInt(1582), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_reduce_xor
-        .{ .tag = @enumFromInt(1583), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_remainder
-        .{ .tag = @enumFromInt(1584), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_remainderf
-        .{ .tag = @enumFromInt(1585), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_remainderf128
-        .{ .tag = @enumFromInt(1586), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_remainderl
-        .{ .tag = @enumFromInt(1587), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_remquo
-        .{ .tag = @enumFromInt(1588), .param_str = "dddi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_remquof
-        .{ .tag = @enumFromInt(1589), .param_str = "fffi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_remquof128
-        .{ .tag = @enumFromInt(1590), .param_str = "LLdLLdLLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_remquol
-        .{ .tag = @enumFromInt(1591), .param_str = "LdLdLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_return_address
-        .{ .tag = @enumFromInt(1592), .param_str = "v*IUi", .properties = .{} },
-        // __builtin_rindex
-        .{ .tag = @enumFromInt(1593), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_rint
-        .{ .tag = @enumFromInt(1594), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_rintf
-        .{ .tag = @enumFromInt(1595), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_rintf128
-        .{ .tag = @enumFromInt(1596), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_rintf16
-        .{ .tag = @enumFromInt(1597), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_rintl
-        .{ .tag = @enumFromInt(1598), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_rotateleft16
-        .{ .tag = @enumFromInt(1599), .param_str = "UsUsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateleft32
-        .{ .tag = @enumFromInt(1600), .param_str = "UZiUZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateleft64
-        .{ .tag = @enumFromInt(1601), .param_str = "UWiUWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateleft8
-        .{ .tag = @enumFromInt(1602), .param_str = "UcUcUc", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateright16
-        .{ .tag = @enumFromInt(1603), .param_str = "UsUsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateright32
-        .{ .tag = @enumFromInt(1604), .param_str = "UZiUZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateright64
-        .{ .tag = @enumFromInt(1605), .param_str = "UWiUWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_rotateright8
-        .{ .tag = @enumFromInt(1606), .param_str = "UcUcUc", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __builtin_round
-        .{ .tag = @enumFromInt(1607), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundeven
-        .{ .tag = @enumFromInt(1608), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundevenf
-        .{ .tag = @enumFromInt(1609), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundevenf128
-        .{ .tag = @enumFromInt(1610), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundevenf16
-        .{ .tag = @enumFromInt(1611), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundevenl
-        .{ .tag = @enumFromInt(1612), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundf
-        .{ .tag = @enumFromInt(1613), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundf128
-        .{ .tag = @enumFromInt(1614), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundf16
-        .{ .tag = @enumFromInt(1615), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_roundl
-        .{ .tag = @enumFromInt(1616), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_sadd_overflow
-        .{ .tag = @enumFromInt(1617), .param_str = "bSiCSiCSi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_saddl_overflow
-        .{ .tag = @enumFromInt(1618), .param_str = "bSLiCSLiCSLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_saddll_overflow
-        .{ .tag = @enumFromInt(1619), .param_str = "bSLLiCSLLiCSLLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_scalbln
-        .{ .tag = @enumFromInt(1620), .param_str = "ddLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalblnf
-        .{ .tag = @enumFromInt(1621), .param_str = "ffLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalblnf128
-        .{ .tag = @enumFromInt(1622), .param_str = "LLdLLdLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalblnl
-        .{ .tag = @enumFromInt(1623), .param_str = "LdLdLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalbn
-        .{ .tag = @enumFromInt(1624), .param_str = "ddi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalbnf
-        .{ .tag = @enumFromInt(1625), .param_str = "ffi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalbnf128
-        .{ .tag = @enumFromInt(1626), .param_str = "LLdLLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scalbnl
-        .{ .tag = @enumFromInt(1627), .param_str = "LdLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_scanf
-        .{ .tag = @enumFromInt(1628), .param_str = "icC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf } } },
-        // __builtin_set_flt_rounds
-        .{ .tag = @enumFromInt(1629), .param_str = "vi", .properties = .{} },
-        // __builtin_setflm
-        .{ .tag = @enumFromInt(1630), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_setjmp
-        .{ .tag = @enumFromInt(1631), .param_str = "iv**", .properties = .{ .attributes = .{ .returns_twice = true } } },
-        // __builtin_setps
-        .{ .tag = @enumFromInt(1632), .param_str = "vUiUi", .properties = .{ .target_set = TargetSet.initOne(.xcore) } },
-        // __builtin_setrnd
-        .{ .tag = @enumFromInt(1633), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_shufflevector
-        .{ .tag = @enumFromInt(1634), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
-        // __builtin_signbit
-        .{ .tag = @enumFromInt(1635), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_signbitf
-        .{ .tag = @enumFromInt(1636), .param_str = "if", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_signbitl
-        .{ .tag = @enumFromInt(1637), .param_str = "iLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_sin
-        .{ .tag = @enumFromInt(1638), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinf
-        .{ .tag = @enumFromInt(1639), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinf128
-        .{ .tag = @enumFromInt(1640), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinf16
-        .{ .tag = @enumFromInt(1641), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinh
-        .{ .tag = @enumFromInt(1642), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinhf
-        .{ .tag = @enumFromInt(1643), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinhf128
-        .{ .tag = @enumFromInt(1644), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinhl
-        .{ .tag = @enumFromInt(1645), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sinl
-        .{ .tag = @enumFromInt(1646), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_smul_overflow
-        .{ .tag = @enumFromInt(1647), .param_str = "bSiCSiCSi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_smull_overflow
-        .{ .tag = @enumFromInt(1648), .param_str = "bSLiCSLiCSLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_smulll_overflow
-        .{ .tag = @enumFromInt(1649), .param_str = "bSLLiCSLLiCSLLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_snprintf
-        .{ .tag = @enumFromInt(1650), .param_str = "ic*RzcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 2 } } },
-        // __builtin_sponentry
-        .{ .tag = @enumFromInt(1651), .param_str = "v*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __builtin_sprintf
-        .{ .tag = @enumFromInt(1652), .param_str = "ic*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
-        // __builtin_sqrt
-        .{ .tag = @enumFromInt(1653), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sqrtf
-        .{ .tag = @enumFromInt(1654), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sqrtf128
-        .{ .tag = @enumFromInt(1655), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sqrtf16
-        .{ .tag = @enumFromInt(1656), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sqrtl
-        .{ .tag = @enumFromInt(1657), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_sscanf
-        .{ .tag = @enumFromInt(1658), .param_str = "icC*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
-        // __builtin_ssub_overflow
-        .{ .tag = @enumFromInt(1659), .param_str = "bSiCSiCSi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_ssubl_overflow
-        .{ .tag = @enumFromInt(1660), .param_str = "bSLiCSLiCSLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_ssubll_overflow
-        .{ .tag = @enumFromInt(1661), .param_str = "bSLLiCSLLiCSLLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_stdarg_start
-        .{ .tag = @enumFromInt(1662), .param_str = "vA.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_stpcpy
-        .{ .tag = @enumFromInt(1663), .param_str = "c*c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_stpncpy
-        .{ .tag = @enumFromInt(1664), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strcasecmp
-        .{ .tag = @enumFromInt(1665), .param_str = "icC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strcat
-        .{ .tag = @enumFromInt(1666), .param_str = "c*c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strchr
-        .{ .tag = @enumFromInt(1667), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_strcmp
-        .{ .tag = @enumFromInt(1668), .param_str = "icC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_strcpy
-        .{ .tag = @enumFromInt(1669), .param_str = "c*c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strcspn
-        .{ .tag = @enumFromInt(1670), .param_str = "zcC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strdup
-        .{ .tag = @enumFromInt(1671), .param_str = "c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strlen
-        .{ .tag = @enumFromInt(1672), .param_str = "zcC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_strncasecmp
-        .{ .tag = @enumFromInt(1673), .param_str = "icC*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strncat
-        .{ .tag = @enumFromInt(1674), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strncmp
-        .{ .tag = @enumFromInt(1675), .param_str = "icC*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_strncpy
-        .{ .tag = @enumFromInt(1676), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strndup
-        .{ .tag = @enumFromInt(1677), .param_str = "c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strpbrk
-        .{ .tag = @enumFromInt(1678), .param_str = "c*cC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strrchr
-        .{ .tag = @enumFromInt(1679), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strspn
-        .{ .tag = @enumFromInt(1680), .param_str = "zcC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_strstr
-        .{ .tag = @enumFromInt(1681), .param_str = "c*cC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
-        // __builtin_sub_overflow
-        .{ .tag = @enumFromInt(1682), .param_str = "b.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
-        // __builtin_subc
-        .{ .tag = @enumFromInt(1683), .param_str = "UiUiCUiCUiCUi*", .properties = .{} },
-        // __builtin_subcb
-        .{ .tag = @enumFromInt(1684), .param_str = "UcUcCUcCUcCUc*", .properties = .{} },
-        // __builtin_subcl
-        .{ .tag = @enumFromInt(1685), .param_str = "ULiULiCULiCULiCULi*", .properties = .{} },
-        // __builtin_subcll
-        .{ .tag = @enumFromInt(1686), .param_str = "ULLiULLiCULLiCULLiCULLi*", .properties = .{} },
-        // __builtin_subcs
-        .{ .tag = @enumFromInt(1687), .param_str = "UsUsCUsCUsCUs*", .properties = .{} },
-        // __builtin_tan
-        .{ .tag = @enumFromInt(1688), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanf
-        .{ .tag = @enumFromInt(1689), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanf128
-        .{ .tag = @enumFromInt(1690), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanh
-        .{ .tag = @enumFromInt(1691), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanhf
-        .{ .tag = @enumFromInt(1692), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanhf128
-        .{ .tag = @enumFromInt(1693), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanhl
-        .{ .tag = @enumFromInt(1694), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tanl
-        .{ .tag = @enumFromInt(1695), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tgamma
-        .{ .tag = @enumFromInt(1696), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tgammaf
-        .{ .tag = @enumFromInt(1697), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tgammaf128
-        .{ .tag = @enumFromInt(1698), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_tgammal
-        .{ .tag = @enumFromInt(1699), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __builtin_thread_pointer
-        .{ .tag = @enumFromInt(1700), .param_str = "v*", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_trap
-        .{ .tag = @enumFromInt(1701), .param_str = "v", .properties = .{ .attributes = .{ .noreturn = true } } },
-        // __builtin_trunc
-        .{ .tag = @enumFromInt(1702), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_truncf
-        .{ .tag = @enumFromInt(1703), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_truncf128
-        .{ .tag = @enumFromInt(1704), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_truncf16
-        .{ .tag = @enumFromInt(1705), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_truncl
-        .{ .tag = @enumFromInt(1706), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
-        // __builtin_uadd_overflow
-        .{ .tag = @enumFromInt(1707), .param_str = "bUiCUiCUi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_uaddl_overflow
-        .{ .tag = @enumFromInt(1708), .param_str = "bULiCULiCULi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_uaddll_overflow
-        .{ .tag = @enumFromInt(1709), .param_str = "bULLiCULLiCULLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_umul_overflow
-        .{ .tag = @enumFromInt(1710), .param_str = "bUiCUiCUi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_umull_overflow
-        .{ .tag = @enumFromInt(1711), .param_str = "bULiCULiCULi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_umulll_overflow
-        .{ .tag = @enumFromInt(1712), .param_str = "bULLiCULLiCULLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_unpack_longdouble
-        .{ .tag = @enumFromInt(1713), .param_str = "dLdIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
-        // __builtin_unpredictable
-        .{ .tag = @enumFromInt(1714), .param_str = "LiLi", .properties = .{ .attributes = .{ .@"const" = true } } },
-        // __builtin_unreachable
-        .{ .tag = @enumFromInt(1715), .param_str = "v", .properties = .{ .attributes = .{ .noreturn = true } } },
-        // __builtin_unwind_init
-        .{ .tag = @enumFromInt(1716), .param_str = "v", .properties = .{} },
-        // __builtin_usub_overflow
-        .{ .tag = @enumFromInt(1717), .param_str = "bUiCUiCUi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_usubl_overflow
-        .{ .tag = @enumFromInt(1718), .param_str = "bULiCULiCULi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_usubll_overflow
-        .{ .tag = @enumFromInt(1719), .param_str = "bULLiCULLiCULLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __builtin_va_copy
-        .{ .tag = @enumFromInt(1720), .param_str = "vAA", .properties = .{} },
-        // __builtin_va_end
-        .{ .tag = @enumFromInt(1721), .param_str = "vA", .properties = .{} },
-        // __builtin_va_start
-        .{ .tag = @enumFromInt(1722), .param_str = "vA.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __builtin_ve_vl_andm_MMM
-        .{ .tag = @enumFromInt(1723), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_andm_mmm
-        .{ .tag = @enumFromInt(1724), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_eqvm_MMM
-        .{ .tag = @enumFromInt(1725), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_eqvm_mmm
-        .{ .tag = @enumFromInt(1726), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_extract_vm512l
-        .{ .tag = @enumFromInt(1727), .param_str = "V256bV512b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
-        // __builtin_ve_vl_extract_vm512u
-        .{ .tag = @enumFromInt(1728), .param_str = "V256bV512b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
-        // __builtin_ve_vl_fencec_s
-        .{ .tag = @enumFromInt(1729), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_fencei
-        .{ .tag = @enumFromInt(1730), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_fencem_s
-        .{ .tag = @enumFromInt(1731), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_fidcr_sss
-        .{ .tag = @enumFromInt(1732), .param_str = "LUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_insert_vm512l
-        .{ .tag = @enumFromInt(1733), .param_str = "V512bV512bV256b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
-        // __builtin_ve_vl_insert_vm512u
-        .{ .tag = @enumFromInt(1734), .param_str = "V512bV512bV256b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
-        // __builtin_ve_vl_lcr_sss
-        .{ .tag = @enumFromInt(1735), .param_str = "LUiLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lsv_vvss
-        .{ .tag = @enumFromInt(1736), .param_str = "V256dV256dUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lvm_MMss
-        .{ .tag = @enumFromInt(1737), .param_str = "V512bV512bLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lvm_mmss
-        .{ .tag = @enumFromInt(1738), .param_str = "V256bV256bLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lvsd_svs
-        .{ .tag = @enumFromInt(1739), .param_str = "dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lvsl_svs
-        .{ .tag = @enumFromInt(1740), .param_str = "LUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lvss_svs
-        .{ .tag = @enumFromInt(1741), .param_str = "fV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_lzvm_sml
-        .{ .tag = @enumFromInt(1742), .param_str = "LUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_negm_MM
-        .{ .tag = @enumFromInt(1743), .param_str = "V512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_negm_mm
-        .{ .tag = @enumFromInt(1744), .param_str = "V256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_nndm_MMM
-        .{ .tag = @enumFromInt(1745), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_nndm_mmm
-        .{ .tag = @enumFromInt(1746), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_orm_MMM
-        .{ .tag = @enumFromInt(1747), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_orm_mmm
-        .{ .tag = @enumFromInt(1748), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pack_f32a
-        .{ .tag = @enumFromInt(1749), .param_str = "ULifC*", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
-        // __builtin_ve_vl_pack_f32p
-        .{ .tag = @enumFromInt(1750), .param_str = "ULifC*fC*", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
-        // __builtin_ve_vl_pcvm_sml
-        .{ .tag = @enumFromInt(1751), .param_str = "LUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pfchv_ssl
-        .{ .tag = @enumFromInt(1752), .param_str = "vLivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pfchvnc_ssl
-        .{ .tag = @enumFromInt(1753), .param_str = "vLivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvadds_vsvMvl
-        .{ .tag = @enumFromInt(1754), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvadds_vsvl
-        .{ .tag = @enumFromInt(1755), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvadds_vsvvl
-        .{ .tag = @enumFromInt(1756), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvadds_vvvMvl
-        .{ .tag = @enumFromInt(1757), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvadds_vvvl
-        .{ .tag = @enumFromInt(1758), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvadds_vvvvl
-        .{ .tag = @enumFromInt(1759), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvaddu_vsvMvl
-        .{ .tag = @enumFromInt(1760), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvaddu_vsvl
-        .{ .tag = @enumFromInt(1761), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvaddu_vsvvl
-        .{ .tag = @enumFromInt(1762), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvaddu_vvvMvl
-        .{ .tag = @enumFromInt(1763), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvaddu_vvvl
-        .{ .tag = @enumFromInt(1764), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvaddu_vvvvl
-        .{ .tag = @enumFromInt(1765), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvand_vsvMvl
-        .{ .tag = @enumFromInt(1766), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvand_vsvl
-        .{ .tag = @enumFromInt(1767), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvand_vsvvl
-        .{ .tag = @enumFromInt(1768), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvand_vvvMvl
-        .{ .tag = @enumFromInt(1769), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvand_vvvl
-        .{ .tag = @enumFromInt(1770), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvand_vvvvl
-        .{ .tag = @enumFromInt(1771), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrd_vsMvl
-        .{ .tag = @enumFromInt(1772), .param_str = "V256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrd_vsl
-        .{ .tag = @enumFromInt(1773), .param_str = "V256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrd_vsvl
-        .{ .tag = @enumFromInt(1774), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrv_vvMvl
-        .{ .tag = @enumFromInt(1775), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrv_vvl
-        .{ .tag = @enumFromInt(1776), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrv_vvvl
-        .{ .tag = @enumFromInt(1777), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrvlo_vvl
-        .{ .tag = @enumFromInt(1778), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrvlo_vvmvl
-        .{ .tag = @enumFromInt(1779), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrvlo_vvvl
-        .{ .tag = @enumFromInt(1780), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrvup_vvl
-        .{ .tag = @enumFromInt(1781), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrvup_vvmvl
-        .{ .tag = @enumFromInt(1782), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvbrvup_vvvl
-        .{ .tag = @enumFromInt(1783), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmps_vsvMvl
-        .{ .tag = @enumFromInt(1784), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmps_vsvl
-        .{ .tag = @enumFromInt(1785), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmps_vsvvl
-        .{ .tag = @enumFromInt(1786), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmps_vvvMvl
-        .{ .tag = @enumFromInt(1787), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmps_vvvl
-        .{ .tag = @enumFromInt(1788), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmps_vvvvl
-        .{ .tag = @enumFromInt(1789), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmpu_vsvMvl
-        .{ .tag = @enumFromInt(1790), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmpu_vsvl
-        .{ .tag = @enumFromInt(1791), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmpu_vsvvl
-        .{ .tag = @enumFromInt(1792), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmpu_vvvMvl
-        .{ .tag = @enumFromInt(1793), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmpu_vvvl
-        .{ .tag = @enumFromInt(1794), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcmpu_vvvvl
-        .{ .tag = @enumFromInt(1795), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtsw_vvl
-        .{ .tag = @enumFromInt(1796), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtsw_vvvl
-        .{ .tag = @enumFromInt(1797), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtws_vvMvl
-        .{ .tag = @enumFromInt(1798), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtws_vvl
-        .{ .tag = @enumFromInt(1799), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtws_vvvl
-        .{ .tag = @enumFromInt(1800), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtwsrz_vvMvl
-        .{ .tag = @enumFromInt(1801), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtwsrz_vvl
-        .{ .tag = @enumFromInt(1802), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvcvtwsrz_vvvl
-        .{ .tag = @enumFromInt(1803), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pveqv_vsvMvl
-        .{ .tag = @enumFromInt(1804), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pveqv_vsvl
-        .{ .tag = @enumFromInt(1805), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pveqv_vsvvl
-        .{ .tag = @enumFromInt(1806), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pveqv_vvvMvl
-        .{ .tag = @enumFromInt(1807), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pveqv_vvvl
-        .{ .tag = @enumFromInt(1808), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pveqv_vvvvl
-        .{ .tag = @enumFromInt(1809), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfadd_vsvMvl
-        .{ .tag = @enumFromInt(1810), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfadd_vsvl
-        .{ .tag = @enumFromInt(1811), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfadd_vsvvl
-        .{ .tag = @enumFromInt(1812), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfadd_vvvMvl
-        .{ .tag = @enumFromInt(1813), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfadd_vvvl
-        .{ .tag = @enumFromInt(1814), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfadd_vvvvl
-        .{ .tag = @enumFromInt(1815), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfcmp_vsvMvl
-        .{ .tag = @enumFromInt(1816), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfcmp_vsvl
-        .{ .tag = @enumFromInt(1817), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfcmp_vsvvl
-        .{ .tag = @enumFromInt(1818), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfcmp_vvvMvl
-        .{ .tag = @enumFromInt(1819), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfcmp_vvvl
-        .{ .tag = @enumFromInt(1820), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfcmp_vvvvl
-        .{ .tag = @enumFromInt(1821), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vsvvMvl
-        .{ .tag = @enumFromInt(1822), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vsvvl
-        .{ .tag = @enumFromInt(1823), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vsvvvl
-        .{ .tag = @enumFromInt(1824), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vvsvMvl
-        .{ .tag = @enumFromInt(1825), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vvsvl
-        .{ .tag = @enumFromInt(1826), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vvsvvl
-        .{ .tag = @enumFromInt(1827), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vvvvMvl
-        .{ .tag = @enumFromInt(1828), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vvvvl
-        .{ .tag = @enumFromInt(1829), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmad_vvvvvl
-        .{ .tag = @enumFromInt(1830), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmax_vsvMvl
-        .{ .tag = @enumFromInt(1831), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmax_vsvl
-        .{ .tag = @enumFromInt(1832), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmax_vsvvl
-        .{ .tag = @enumFromInt(1833), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmax_vvvMvl
-        .{ .tag = @enumFromInt(1834), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmax_vvvl
-        .{ .tag = @enumFromInt(1835), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmax_vvvvl
-        .{ .tag = @enumFromInt(1836), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmin_vsvMvl
-        .{ .tag = @enumFromInt(1837), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmin_vsvl
-        .{ .tag = @enumFromInt(1838), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmin_vsvvl
-        .{ .tag = @enumFromInt(1839), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmin_vvvMvl
-        .{ .tag = @enumFromInt(1840), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmin_vvvl
-        .{ .tag = @enumFromInt(1841), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmin_vvvvl
-        .{ .tag = @enumFromInt(1842), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkaf_Ml
-        .{ .tag = @enumFromInt(1843), .param_str = "V512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkat_Ml
-        .{ .tag = @enumFromInt(1844), .param_str = "V512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkseq_MvMl
-        .{ .tag = @enumFromInt(1845), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkseq_Mvl
-        .{ .tag = @enumFromInt(1846), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkseqnan_MvMl
-        .{ .tag = @enumFromInt(1847), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkseqnan_Mvl
-        .{ .tag = @enumFromInt(1848), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksge_MvMl
-        .{ .tag = @enumFromInt(1849), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksge_Mvl
-        .{ .tag = @enumFromInt(1850), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksgenan_MvMl
-        .{ .tag = @enumFromInt(1851), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksgenan_Mvl
-        .{ .tag = @enumFromInt(1852), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksgt_MvMl
-        .{ .tag = @enumFromInt(1853), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksgt_Mvl
-        .{ .tag = @enumFromInt(1854), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksgtnan_MvMl
-        .{ .tag = @enumFromInt(1855), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksgtnan_Mvl
-        .{ .tag = @enumFromInt(1856), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksle_MvMl
-        .{ .tag = @enumFromInt(1857), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksle_Mvl
-        .{ .tag = @enumFromInt(1858), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslenan_MvMl
-        .{ .tag = @enumFromInt(1859), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslenan_Mvl
-        .{ .tag = @enumFromInt(1860), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloeq_mvl
-        .{ .tag = @enumFromInt(1861), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloeq_mvml
-        .{ .tag = @enumFromInt(1862), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloeqnan_mvl
-        .{ .tag = @enumFromInt(1863), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloeqnan_mvml
-        .{ .tag = @enumFromInt(1864), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloge_mvl
-        .{ .tag = @enumFromInt(1865), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloge_mvml
-        .{ .tag = @enumFromInt(1866), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslogenan_mvl
-        .{ .tag = @enumFromInt(1867), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslogenan_mvml
-        .{ .tag = @enumFromInt(1868), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslogt_mvl
-        .{ .tag = @enumFromInt(1869), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslogt_mvml
-        .{ .tag = @enumFromInt(1870), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslogtnan_mvl
-        .{ .tag = @enumFromInt(1871), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslogtnan_mvml
-        .{ .tag = @enumFromInt(1872), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslole_mvl
-        .{ .tag = @enumFromInt(1873), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslole_mvml
-        .{ .tag = @enumFromInt(1874), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslolenan_mvl
-        .{ .tag = @enumFromInt(1875), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslolenan_mvml
-        .{ .tag = @enumFromInt(1876), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslolt_mvl
-        .{ .tag = @enumFromInt(1877), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslolt_mvml
-        .{ .tag = @enumFromInt(1878), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloltnan_mvl
-        .{ .tag = @enumFromInt(1879), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksloltnan_mvml
-        .{ .tag = @enumFromInt(1880), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslonan_mvl
-        .{ .tag = @enumFromInt(1881), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslonan_mvml
-        .{ .tag = @enumFromInt(1882), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslone_mvl
-        .{ .tag = @enumFromInt(1883), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslone_mvml
-        .{ .tag = @enumFromInt(1884), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslonenan_mvl
-        .{ .tag = @enumFromInt(1885), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslonenan_mvml
-        .{ .tag = @enumFromInt(1886), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslonum_mvl
-        .{ .tag = @enumFromInt(1887), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslonum_mvml
-        .{ .tag = @enumFromInt(1888), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslt_MvMl
-        .{ .tag = @enumFromInt(1889), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkslt_Mvl
-        .{ .tag = @enumFromInt(1890), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksltnan_MvMl
-        .{ .tag = @enumFromInt(1891), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksltnan_Mvl
-        .{ .tag = @enumFromInt(1892), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksnan_MvMl
-        .{ .tag = @enumFromInt(1893), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksnan_Mvl
-        .{ .tag = @enumFromInt(1894), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksne_MvMl
-        .{ .tag = @enumFromInt(1895), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksne_Mvl
-        .{ .tag = @enumFromInt(1896), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksnenan_MvMl
-        .{ .tag = @enumFromInt(1897), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksnenan_Mvl
-        .{ .tag = @enumFromInt(1898), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksnum_MvMl
-        .{ .tag = @enumFromInt(1899), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksnum_Mvl
-        .{ .tag = @enumFromInt(1900), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupeq_mvl
-        .{ .tag = @enumFromInt(1901), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupeq_mvml
-        .{ .tag = @enumFromInt(1902), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupeqnan_mvl
-        .{ .tag = @enumFromInt(1903), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupeqnan_mvml
-        .{ .tag = @enumFromInt(1904), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupge_mvl
-        .{ .tag = @enumFromInt(1905), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupge_mvml
-        .{ .tag = @enumFromInt(1906), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupgenan_mvl
-        .{ .tag = @enumFromInt(1907), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupgenan_mvml
-        .{ .tag = @enumFromInt(1908), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupgt_mvl
-        .{ .tag = @enumFromInt(1909), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupgt_mvml
-        .{ .tag = @enumFromInt(1910), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupgtnan_mvl
-        .{ .tag = @enumFromInt(1911), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupgtnan_mvml
-        .{ .tag = @enumFromInt(1912), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksuple_mvl
-        .{ .tag = @enumFromInt(1913), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksuple_mvml
-        .{ .tag = @enumFromInt(1914), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksuplenan_mvl
-        .{ .tag = @enumFromInt(1915), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksuplenan_mvml
-        .{ .tag = @enumFromInt(1916), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksuplt_mvl
-        .{ .tag = @enumFromInt(1917), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksuplt_mvml
-        .{ .tag = @enumFromInt(1918), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupltnan_mvl
-        .{ .tag = @enumFromInt(1919), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupltnan_mvml
-        .{ .tag = @enumFromInt(1920), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupnan_mvl
-        .{ .tag = @enumFromInt(1921), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupnan_mvml
-        .{ .tag = @enumFromInt(1922), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupne_mvl
-        .{ .tag = @enumFromInt(1923), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupne_mvml
-        .{ .tag = @enumFromInt(1924), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupnenan_mvl
-        .{ .tag = @enumFromInt(1925), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupnenan_mvml
-        .{ .tag = @enumFromInt(1926), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupnum_mvl
-        .{ .tag = @enumFromInt(1927), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmksupnum_mvml
-        .{ .tag = @enumFromInt(1928), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkweq_MvMl
-        .{ .tag = @enumFromInt(1929), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkweq_Mvl
-        .{ .tag = @enumFromInt(1930), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkweqnan_MvMl
-        .{ .tag = @enumFromInt(1931), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkweqnan_Mvl
-        .{ .tag = @enumFromInt(1932), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwge_MvMl
-        .{ .tag = @enumFromInt(1933), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwge_Mvl
-        .{ .tag = @enumFromInt(1934), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwgenan_MvMl
-        .{ .tag = @enumFromInt(1935), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwgenan_Mvl
-        .{ .tag = @enumFromInt(1936), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwgt_MvMl
-        .{ .tag = @enumFromInt(1937), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwgt_Mvl
-        .{ .tag = @enumFromInt(1938), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwgtnan_MvMl
-        .{ .tag = @enumFromInt(1939), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwgtnan_Mvl
-        .{ .tag = @enumFromInt(1940), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwle_MvMl
-        .{ .tag = @enumFromInt(1941), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwle_Mvl
-        .{ .tag = @enumFromInt(1942), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlenan_MvMl
-        .{ .tag = @enumFromInt(1943), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlenan_Mvl
-        .{ .tag = @enumFromInt(1944), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloeq_mvl
-        .{ .tag = @enumFromInt(1945), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloeq_mvml
-        .{ .tag = @enumFromInt(1946), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloeqnan_mvl
-        .{ .tag = @enumFromInt(1947), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloeqnan_mvml
-        .{ .tag = @enumFromInt(1948), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloge_mvl
-        .{ .tag = @enumFromInt(1949), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloge_mvml
-        .{ .tag = @enumFromInt(1950), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlogenan_mvl
-        .{ .tag = @enumFromInt(1951), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlogenan_mvml
-        .{ .tag = @enumFromInt(1952), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlogt_mvl
-        .{ .tag = @enumFromInt(1953), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlogt_mvml
-        .{ .tag = @enumFromInt(1954), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlogtnan_mvl
-        .{ .tag = @enumFromInt(1955), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlogtnan_mvml
-        .{ .tag = @enumFromInt(1956), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlole_mvl
-        .{ .tag = @enumFromInt(1957), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlole_mvml
-        .{ .tag = @enumFromInt(1958), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlolenan_mvl
-        .{ .tag = @enumFromInt(1959), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlolenan_mvml
-        .{ .tag = @enumFromInt(1960), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlolt_mvl
-        .{ .tag = @enumFromInt(1961), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlolt_mvml
-        .{ .tag = @enumFromInt(1962), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloltnan_mvl
-        .{ .tag = @enumFromInt(1963), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwloltnan_mvml
-        .{ .tag = @enumFromInt(1964), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlonan_mvl
-        .{ .tag = @enumFromInt(1965), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlonan_mvml
-        .{ .tag = @enumFromInt(1966), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlone_mvl
-        .{ .tag = @enumFromInt(1967), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlone_mvml
-        .{ .tag = @enumFromInt(1968), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlonenan_mvl
-        .{ .tag = @enumFromInt(1969), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlonenan_mvml
-        .{ .tag = @enumFromInt(1970), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlonum_mvl
-        .{ .tag = @enumFromInt(1971), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlonum_mvml
-        .{ .tag = @enumFromInt(1972), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlt_MvMl
-        .{ .tag = @enumFromInt(1973), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwlt_Mvl
-        .{ .tag = @enumFromInt(1974), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwltnan_MvMl
-        .{ .tag = @enumFromInt(1975), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwltnan_Mvl
-        .{ .tag = @enumFromInt(1976), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwnan_MvMl
-        .{ .tag = @enumFromInt(1977), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwnan_Mvl
-        .{ .tag = @enumFromInt(1978), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwne_MvMl
-        .{ .tag = @enumFromInt(1979), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwne_Mvl
-        .{ .tag = @enumFromInt(1980), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwnenan_MvMl
-        .{ .tag = @enumFromInt(1981), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwnenan_Mvl
-        .{ .tag = @enumFromInt(1982), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwnum_MvMl
-        .{ .tag = @enumFromInt(1983), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwnum_Mvl
-        .{ .tag = @enumFromInt(1984), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupeq_mvl
-        .{ .tag = @enumFromInt(1985), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupeq_mvml
-        .{ .tag = @enumFromInt(1986), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupeqnan_mvl
-        .{ .tag = @enumFromInt(1987), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupeqnan_mvml
-        .{ .tag = @enumFromInt(1988), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupge_mvl
-        .{ .tag = @enumFromInt(1989), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupge_mvml
-        .{ .tag = @enumFromInt(1990), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupgenan_mvl
-        .{ .tag = @enumFromInt(1991), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupgenan_mvml
-        .{ .tag = @enumFromInt(1992), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupgt_mvl
-        .{ .tag = @enumFromInt(1993), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupgt_mvml
-        .{ .tag = @enumFromInt(1994), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupgtnan_mvl
-        .{ .tag = @enumFromInt(1995), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupgtnan_mvml
-        .{ .tag = @enumFromInt(1996), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwuple_mvl
-        .{ .tag = @enumFromInt(1997), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwuple_mvml
-        .{ .tag = @enumFromInt(1998), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwuplenan_mvl
-        .{ .tag = @enumFromInt(1999), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwuplenan_mvml
-        .{ .tag = @enumFromInt(2000), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwuplt_mvl
-        .{ .tag = @enumFromInt(2001), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwuplt_mvml
-        .{ .tag = @enumFromInt(2002), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupltnan_mvl
-        .{ .tag = @enumFromInt(2003), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupltnan_mvml
-        .{ .tag = @enumFromInt(2004), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupnan_mvl
-        .{ .tag = @enumFromInt(2005), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupnan_mvml
-        .{ .tag = @enumFromInt(2006), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupne_mvl
-        .{ .tag = @enumFromInt(2007), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupne_mvml
-        .{ .tag = @enumFromInt(2008), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupnenan_mvl
-        .{ .tag = @enumFromInt(2009), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupnenan_mvml
-        .{ .tag = @enumFromInt(2010), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupnum_mvl
-        .{ .tag = @enumFromInt(2011), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmkwupnum_mvml
-        .{ .tag = @enumFromInt(2012), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vsvvMvl
-        .{ .tag = @enumFromInt(2013), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vsvvl
-        .{ .tag = @enumFromInt(2014), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vsvvvl
-        .{ .tag = @enumFromInt(2015), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vvsvMvl
-        .{ .tag = @enumFromInt(2016), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vvsvl
-        .{ .tag = @enumFromInt(2017), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vvsvvl
-        .{ .tag = @enumFromInt(2018), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vvvvMvl
-        .{ .tag = @enumFromInt(2019), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vvvvl
-        .{ .tag = @enumFromInt(2020), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmsb_vvvvvl
-        .{ .tag = @enumFromInt(2021), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmul_vsvMvl
-        .{ .tag = @enumFromInt(2022), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmul_vsvl
-        .{ .tag = @enumFromInt(2023), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmul_vsvvl
-        .{ .tag = @enumFromInt(2024), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmul_vvvMvl
-        .{ .tag = @enumFromInt(2025), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmul_vvvl
-        .{ .tag = @enumFromInt(2026), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfmul_vvvvl
-        .{ .tag = @enumFromInt(2027), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vsvvMvl
-        .{ .tag = @enumFromInt(2028), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vsvvl
-        .{ .tag = @enumFromInt(2029), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vsvvvl
-        .{ .tag = @enumFromInt(2030), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vvsvMvl
-        .{ .tag = @enumFromInt(2031), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vvsvl
-        .{ .tag = @enumFromInt(2032), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vvsvvl
-        .{ .tag = @enumFromInt(2033), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vvvvMvl
-        .{ .tag = @enumFromInt(2034), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vvvvl
-        .{ .tag = @enumFromInt(2035), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmad_vvvvvl
-        .{ .tag = @enumFromInt(2036), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vsvvMvl
-        .{ .tag = @enumFromInt(2037), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vsvvl
-        .{ .tag = @enumFromInt(2038), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vsvvvl
-        .{ .tag = @enumFromInt(2039), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vvsvMvl
-        .{ .tag = @enumFromInt(2040), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vvsvl
-        .{ .tag = @enumFromInt(2041), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vvsvvl
-        .{ .tag = @enumFromInt(2042), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vvvvMvl
-        .{ .tag = @enumFromInt(2043), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vvvvl
-        .{ .tag = @enumFromInt(2044), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfnmsb_vvvvvl
-        .{ .tag = @enumFromInt(2045), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfsub_vsvMvl
-        .{ .tag = @enumFromInt(2046), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfsub_vsvl
-        .{ .tag = @enumFromInt(2047), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfsub_vsvvl
-        .{ .tag = @enumFromInt(2048), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfsub_vvvMvl
-        .{ .tag = @enumFromInt(2049), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfsub_vvvl
-        .{ .tag = @enumFromInt(2050), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvfsub_vvvvl
-        .{ .tag = @enumFromInt(2051), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldz_vvMvl
-        .{ .tag = @enumFromInt(2052), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldz_vvl
-        .{ .tag = @enumFromInt(2053), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldz_vvvl
-        .{ .tag = @enumFromInt(2054), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldzlo_vvl
-        .{ .tag = @enumFromInt(2055), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldzlo_vvmvl
-        .{ .tag = @enumFromInt(2056), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldzlo_vvvl
-        .{ .tag = @enumFromInt(2057), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldzup_vvl
-        .{ .tag = @enumFromInt(2058), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldzup_vvmvl
-        .{ .tag = @enumFromInt(2059), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvldzup_vvvl
-        .{ .tag = @enumFromInt(2060), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmaxs_vsvMvl
-        .{ .tag = @enumFromInt(2061), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmaxs_vsvl
-        .{ .tag = @enumFromInt(2062), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmaxs_vsvvl
-        .{ .tag = @enumFromInt(2063), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmaxs_vvvMvl
-        .{ .tag = @enumFromInt(2064), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmaxs_vvvl
-        .{ .tag = @enumFromInt(2065), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmaxs_vvvvl
-        .{ .tag = @enumFromInt(2066), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmins_vsvMvl
-        .{ .tag = @enumFromInt(2067), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmins_vsvl
-        .{ .tag = @enumFromInt(2068), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmins_vsvvl
-        .{ .tag = @enumFromInt(2069), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmins_vvvMvl
-        .{ .tag = @enumFromInt(2070), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmins_vvvl
-        .{ .tag = @enumFromInt(2071), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvmins_vvvvl
-        .{ .tag = @enumFromInt(2072), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvor_vsvMvl
-        .{ .tag = @enumFromInt(2073), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvor_vsvl
-        .{ .tag = @enumFromInt(2074), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvor_vsvvl
-        .{ .tag = @enumFromInt(2075), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvor_vvvMvl
-        .{ .tag = @enumFromInt(2076), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvor_vvvl
-        .{ .tag = @enumFromInt(2077), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvor_vvvvl
-        .{ .tag = @enumFromInt(2078), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcnt_vvMvl
-        .{ .tag = @enumFromInt(2079), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcnt_vvl
-        .{ .tag = @enumFromInt(2080), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcnt_vvvl
-        .{ .tag = @enumFromInt(2081), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcntlo_vvl
-        .{ .tag = @enumFromInt(2082), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcntlo_vvmvl
-        .{ .tag = @enumFromInt(2083), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcntlo_vvvl
-        .{ .tag = @enumFromInt(2084), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcntup_vvl
-        .{ .tag = @enumFromInt(2085), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcntup_vvmvl
-        .{ .tag = @enumFromInt(2086), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvpcntup_vvvl
-        .{ .tag = @enumFromInt(2087), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvrcp_vvl
-        .{ .tag = @enumFromInt(2088), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvrcp_vvvl
-        .{ .tag = @enumFromInt(2089), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvrsqrt_vvl
-        .{ .tag = @enumFromInt(2090), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvrsqrt_vvvl
-        .{ .tag = @enumFromInt(2091), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvrsqrtnex_vvl
-        .{ .tag = @enumFromInt(2092), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvrsqrtnex_vvvl
-        .{ .tag = @enumFromInt(2093), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvseq_vl
-        .{ .tag = @enumFromInt(2094), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvseq_vvl
-        .{ .tag = @enumFromInt(2095), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvseqlo_vl
-        .{ .tag = @enumFromInt(2096), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvseqlo_vvl
-        .{ .tag = @enumFromInt(2097), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsequp_vl
-        .{ .tag = @enumFromInt(2098), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsequp_vvl
-        .{ .tag = @enumFromInt(2099), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsla_vvsMvl
-        .{ .tag = @enumFromInt(2100), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsla_vvsl
-        .{ .tag = @enumFromInt(2101), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsla_vvsvl
-        .{ .tag = @enumFromInt(2102), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsla_vvvMvl
-        .{ .tag = @enumFromInt(2103), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsla_vvvl
-        .{ .tag = @enumFromInt(2104), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsla_vvvvl
-        .{ .tag = @enumFromInt(2105), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsll_vvsMvl
-        .{ .tag = @enumFromInt(2106), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsll_vvsl
-        .{ .tag = @enumFromInt(2107), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsll_vvsvl
-        .{ .tag = @enumFromInt(2108), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsll_vvvMvl
-        .{ .tag = @enumFromInt(2109), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsll_vvvl
-        .{ .tag = @enumFromInt(2110), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsll_vvvvl
-        .{ .tag = @enumFromInt(2111), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsra_vvsMvl
-        .{ .tag = @enumFromInt(2112), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsra_vvsl
-        .{ .tag = @enumFromInt(2113), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsra_vvsvl
-        .{ .tag = @enumFromInt(2114), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsra_vvvMvl
-        .{ .tag = @enumFromInt(2115), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsra_vvvl
-        .{ .tag = @enumFromInt(2116), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsra_vvvvl
-        .{ .tag = @enumFromInt(2117), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsrl_vvsMvl
-        .{ .tag = @enumFromInt(2118), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsrl_vvsl
-        .{ .tag = @enumFromInt(2119), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsrl_vvsvl
-        .{ .tag = @enumFromInt(2120), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsrl_vvvMvl
-        .{ .tag = @enumFromInt(2121), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsrl_vvvl
-        .{ .tag = @enumFromInt(2122), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsrl_vvvvl
-        .{ .tag = @enumFromInt(2123), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubs_vsvMvl
-        .{ .tag = @enumFromInt(2124), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubs_vsvl
-        .{ .tag = @enumFromInt(2125), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubs_vsvvl
-        .{ .tag = @enumFromInt(2126), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubs_vvvMvl
-        .{ .tag = @enumFromInt(2127), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubs_vvvl
-        .{ .tag = @enumFromInt(2128), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubs_vvvvl
-        .{ .tag = @enumFromInt(2129), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubu_vsvMvl
-        .{ .tag = @enumFromInt(2130), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubu_vsvl
-        .{ .tag = @enumFromInt(2131), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubu_vsvvl
-        .{ .tag = @enumFromInt(2132), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubu_vvvMvl
-        .{ .tag = @enumFromInt(2133), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubu_vvvl
-        .{ .tag = @enumFromInt(2134), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvsubu_vvvvl
-        .{ .tag = @enumFromInt(2135), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvxor_vsvMvl
-        .{ .tag = @enumFromInt(2136), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvxor_vsvl
-        .{ .tag = @enumFromInt(2137), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvxor_vsvvl
-        .{ .tag = @enumFromInt(2138), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvxor_vvvMvl
-        .{ .tag = @enumFromInt(2139), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvxor_vvvl
-        .{ .tag = @enumFromInt(2140), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_pvxor_vvvvl
-        .{ .tag = @enumFromInt(2141), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_scr_sss
-        .{ .tag = @enumFromInt(2142), .param_str = "vLUiLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_svm_sMs
-        .{ .tag = @enumFromInt(2143), .param_str = "LUiV512bLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_svm_sms
-        .{ .tag = @enumFromInt(2144), .param_str = "LUiV256bLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_svob
-        .{ .tag = @enumFromInt(2145), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_tovm_sml
-        .{ .tag = @enumFromInt(2146), .param_str = "LUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_tscr_ssss
-        .{ .tag = @enumFromInt(2147), .param_str = "LUiLUiLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddsl_vsvl
-        .{ .tag = @enumFromInt(2148), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddsl_vsvmvl
-        .{ .tag = @enumFromInt(2149), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddsl_vsvvl
-        .{ .tag = @enumFromInt(2150), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddsl_vvvl
-        .{ .tag = @enumFromInt(2151), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddsl_vvvmvl
-        .{ .tag = @enumFromInt(2152), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddsl_vvvvl
-        .{ .tag = @enumFromInt(2153), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswsx_vsvl
-        .{ .tag = @enumFromInt(2154), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswsx_vsvmvl
-        .{ .tag = @enumFromInt(2155), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswsx_vsvvl
-        .{ .tag = @enumFromInt(2156), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswsx_vvvl
-        .{ .tag = @enumFromInt(2157), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswsx_vvvmvl
-        .{ .tag = @enumFromInt(2158), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswsx_vvvvl
-        .{ .tag = @enumFromInt(2159), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswzx_vsvl
-        .{ .tag = @enumFromInt(2160), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswzx_vsvmvl
-        .{ .tag = @enumFromInt(2161), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswzx_vsvvl
-        .{ .tag = @enumFromInt(2162), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswzx_vvvl
-        .{ .tag = @enumFromInt(2163), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswzx_vvvmvl
-        .{ .tag = @enumFromInt(2164), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddswzx_vvvvl
-        .{ .tag = @enumFromInt(2165), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddul_vsvl
-        .{ .tag = @enumFromInt(2166), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddul_vsvmvl
-        .{ .tag = @enumFromInt(2167), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddul_vsvvl
-        .{ .tag = @enumFromInt(2168), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddul_vvvl
-        .{ .tag = @enumFromInt(2169), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddul_vvvmvl
-        .{ .tag = @enumFromInt(2170), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vaddul_vvvvl
-        .{ .tag = @enumFromInt(2171), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vadduw_vsvl
-        .{ .tag = @enumFromInt(2172), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vadduw_vsvmvl
-        .{ .tag = @enumFromInt(2173), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vadduw_vsvvl
-        .{ .tag = @enumFromInt(2174), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vadduw_vvvl
-        .{ .tag = @enumFromInt(2175), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vadduw_vvvmvl
-        .{ .tag = @enumFromInt(2176), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vadduw_vvvvl
-        .{ .tag = @enumFromInt(2177), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vand_vsvl
-        .{ .tag = @enumFromInt(2178), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vand_vsvmvl
-        .{ .tag = @enumFromInt(2179), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vand_vsvvl
-        .{ .tag = @enumFromInt(2180), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vand_vvvl
-        .{ .tag = @enumFromInt(2181), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vand_vvvmvl
-        .{ .tag = @enumFromInt(2182), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vand_vvvvl
-        .{ .tag = @enumFromInt(2183), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdd_vsl
-        .{ .tag = @enumFromInt(2184), .param_str = "V256ddUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdd_vsmvl
-        .{ .tag = @enumFromInt(2185), .param_str = "V256ddV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdd_vsvl
-        .{ .tag = @enumFromInt(2186), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdl_vsl
-        .{ .tag = @enumFromInt(2187), .param_str = "V256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdl_vsmvl
-        .{ .tag = @enumFromInt(2188), .param_str = "V256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdl_vsvl
-        .{ .tag = @enumFromInt(2189), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrds_vsl
-        .{ .tag = @enumFromInt(2190), .param_str = "V256dfUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrds_vsmvl
-        .{ .tag = @enumFromInt(2191), .param_str = "V256dfV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrds_vsvl
-        .{ .tag = @enumFromInt(2192), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdw_vsl
-        .{ .tag = @enumFromInt(2193), .param_str = "V256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdw_vsmvl
-        .{ .tag = @enumFromInt(2194), .param_str = "V256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrdw_vsvl
-        .{ .tag = @enumFromInt(2195), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrv_vvl
-        .{ .tag = @enumFromInt(2196), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrv_vvmvl
-        .{ .tag = @enumFromInt(2197), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vbrv_vvvl
-        .{ .tag = @enumFromInt(2198), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpsl_vsvl
-        .{ .tag = @enumFromInt(2199), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpsl_vsvmvl
-        .{ .tag = @enumFromInt(2200), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpsl_vsvvl
-        .{ .tag = @enumFromInt(2201), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpsl_vvvl
-        .{ .tag = @enumFromInt(2202), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpsl_vvvmvl
-        .{ .tag = @enumFromInt(2203), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpsl_vvvvl
-        .{ .tag = @enumFromInt(2204), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswsx_vsvl
-        .{ .tag = @enumFromInt(2205), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswsx_vsvmvl
-        .{ .tag = @enumFromInt(2206), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswsx_vsvvl
-        .{ .tag = @enumFromInt(2207), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswsx_vvvl
-        .{ .tag = @enumFromInt(2208), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswsx_vvvmvl
-        .{ .tag = @enumFromInt(2209), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswsx_vvvvl
-        .{ .tag = @enumFromInt(2210), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswzx_vsvl
-        .{ .tag = @enumFromInt(2211), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswzx_vsvmvl
-        .{ .tag = @enumFromInt(2212), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswzx_vsvvl
-        .{ .tag = @enumFromInt(2213), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswzx_vvvl
-        .{ .tag = @enumFromInt(2214), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswzx_vvvmvl
-        .{ .tag = @enumFromInt(2215), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpswzx_vvvvl
-        .{ .tag = @enumFromInt(2216), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpul_vsvl
-        .{ .tag = @enumFromInt(2217), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpul_vsvmvl
-        .{ .tag = @enumFromInt(2218), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpul_vsvvl
-        .{ .tag = @enumFromInt(2219), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpul_vvvl
-        .{ .tag = @enumFromInt(2220), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpul_vvvmvl
-        .{ .tag = @enumFromInt(2221), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpul_vvvvl
-        .{ .tag = @enumFromInt(2222), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpuw_vsvl
-        .{ .tag = @enumFromInt(2223), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpuw_vsvmvl
-        .{ .tag = @enumFromInt(2224), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpuw_vsvvl
-        .{ .tag = @enumFromInt(2225), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpuw_vvvl
-        .{ .tag = @enumFromInt(2226), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpuw_vvvmvl
-        .{ .tag = @enumFromInt(2227), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcmpuw_vvvvl
-        .{ .tag = @enumFromInt(2228), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcp_vvmvl
-        .{ .tag = @enumFromInt(2229), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtdl_vvl
-        .{ .tag = @enumFromInt(2230), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtdl_vvvl
-        .{ .tag = @enumFromInt(2231), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtds_vvl
-        .{ .tag = @enumFromInt(2232), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtds_vvvl
-        .{ .tag = @enumFromInt(2233), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtdw_vvl
-        .{ .tag = @enumFromInt(2234), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtdw_vvvl
-        .{ .tag = @enumFromInt(2235), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtld_vvl
-        .{ .tag = @enumFromInt(2236), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtld_vvmvl
-        .{ .tag = @enumFromInt(2237), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtld_vvvl
-        .{ .tag = @enumFromInt(2238), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtldrz_vvl
-        .{ .tag = @enumFromInt(2239), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtldrz_vvmvl
-        .{ .tag = @enumFromInt(2240), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtldrz_vvvl
-        .{ .tag = @enumFromInt(2241), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtsd_vvl
-        .{ .tag = @enumFromInt(2242), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtsd_vvvl
-        .{ .tag = @enumFromInt(2243), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtsw_vvl
-        .{ .tag = @enumFromInt(2244), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtsw_vvvl
-        .{ .tag = @enumFromInt(2245), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdsx_vvl
-        .{ .tag = @enumFromInt(2246), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdsx_vvmvl
-        .{ .tag = @enumFromInt(2247), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdsx_vvvl
-        .{ .tag = @enumFromInt(2248), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdsxrz_vvl
-        .{ .tag = @enumFromInt(2249), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdsxrz_vvmvl
-        .{ .tag = @enumFromInt(2250), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdsxrz_vvvl
-        .{ .tag = @enumFromInt(2251), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdzx_vvl
-        .{ .tag = @enumFromInt(2252), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdzx_vvmvl
-        .{ .tag = @enumFromInt(2253), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdzx_vvvl
-        .{ .tag = @enumFromInt(2254), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdzxrz_vvl
-        .{ .tag = @enumFromInt(2255), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdzxrz_vvmvl
-        .{ .tag = @enumFromInt(2256), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwdzxrz_vvvl
-        .{ .tag = @enumFromInt(2257), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwssx_vvl
-        .{ .tag = @enumFromInt(2258), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwssx_vvmvl
-        .{ .tag = @enumFromInt(2259), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwssx_vvvl
-        .{ .tag = @enumFromInt(2260), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwssxrz_vvl
-        .{ .tag = @enumFromInt(2261), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwssxrz_vvmvl
-        .{ .tag = @enumFromInt(2262), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwssxrz_vvvl
-        .{ .tag = @enumFromInt(2263), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwszx_vvl
-        .{ .tag = @enumFromInt(2264), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwszx_vvmvl
-        .{ .tag = @enumFromInt(2265), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwszx_vvvl
-        .{ .tag = @enumFromInt(2266), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwszxrz_vvl
-        .{ .tag = @enumFromInt(2267), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwszxrz_vvmvl
-        .{ .tag = @enumFromInt(2268), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vcvtwszxrz_vvvl
-        .{ .tag = @enumFromInt(2269), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vsvl
-        .{ .tag = @enumFromInt(2270), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vsvmvl
-        .{ .tag = @enumFromInt(2271), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vsvvl
-        .{ .tag = @enumFromInt(2272), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vvsl
-        .{ .tag = @enumFromInt(2273), .param_str = "V256dV256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vvsmvl
-        .{ .tag = @enumFromInt(2274), .param_str = "V256dV256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vvsvl
-        .{ .tag = @enumFromInt(2275), .param_str = "V256dV256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vvvl
-        .{ .tag = @enumFromInt(2276), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vvvmvl
-        .{ .tag = @enumFromInt(2277), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivsl_vvvvl
-        .{ .tag = @enumFromInt(2278), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vsvl
-        .{ .tag = @enumFromInt(2279), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vsvmvl
-        .{ .tag = @enumFromInt(2280), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vsvvl
-        .{ .tag = @enumFromInt(2281), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vvsl
-        .{ .tag = @enumFromInt(2282), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vvsmvl
-        .{ .tag = @enumFromInt(2283), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vvsvl
-        .{ .tag = @enumFromInt(2284), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vvvl
-        .{ .tag = @enumFromInt(2285), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vvvmvl
-        .{ .tag = @enumFromInt(2286), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswsx_vvvvl
-        .{ .tag = @enumFromInt(2287), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vsvl
-        .{ .tag = @enumFromInt(2288), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vsvmvl
-        .{ .tag = @enumFromInt(2289), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vsvvl
-        .{ .tag = @enumFromInt(2290), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vvsl
-        .{ .tag = @enumFromInt(2291), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vvsmvl
-        .{ .tag = @enumFromInt(2292), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vvsvl
-        .{ .tag = @enumFromInt(2293), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vvvl
-        .{ .tag = @enumFromInt(2294), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vvvmvl
-        .{ .tag = @enumFromInt(2295), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivswzx_vvvvl
-        .{ .tag = @enumFromInt(2296), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vsvl
-        .{ .tag = @enumFromInt(2297), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vsvmvl
-        .{ .tag = @enumFromInt(2298), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vsvvl
-        .{ .tag = @enumFromInt(2299), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vvsl
-        .{ .tag = @enumFromInt(2300), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vvsmvl
-        .{ .tag = @enumFromInt(2301), .param_str = "V256dV256dLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vvsvl
-        .{ .tag = @enumFromInt(2302), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vvvl
-        .{ .tag = @enumFromInt(2303), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vvvmvl
-        .{ .tag = @enumFromInt(2304), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivul_vvvvl
-        .{ .tag = @enumFromInt(2305), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vsvl
-        .{ .tag = @enumFromInt(2306), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vsvmvl
-        .{ .tag = @enumFromInt(2307), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vsvvl
-        .{ .tag = @enumFromInt(2308), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vvsl
-        .{ .tag = @enumFromInt(2309), .param_str = "V256dV256dUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vvsmvl
-        .{ .tag = @enumFromInt(2310), .param_str = "V256dV256dUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vvsvl
-        .{ .tag = @enumFromInt(2311), .param_str = "V256dV256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vvvl
-        .{ .tag = @enumFromInt(2312), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vvvmvl
-        .{ .tag = @enumFromInt(2313), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vdivuw_vvvvl
-        .{ .tag = @enumFromInt(2314), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_veqv_vsvl
-        .{ .tag = @enumFromInt(2315), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_veqv_vsvmvl
-        .{ .tag = @enumFromInt(2316), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_veqv_vsvvl
-        .{ .tag = @enumFromInt(2317), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_veqv_vvvl
-        .{ .tag = @enumFromInt(2318), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_veqv_vvvmvl
-        .{ .tag = @enumFromInt(2319), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_veqv_vvvvl
-        .{ .tag = @enumFromInt(2320), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vex_vvmvl
-        .{ .tag = @enumFromInt(2321), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfaddd_vsvl
-        .{ .tag = @enumFromInt(2322), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfaddd_vsvmvl
-        .{ .tag = @enumFromInt(2323), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfaddd_vsvvl
-        .{ .tag = @enumFromInt(2324), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfaddd_vvvl
-        .{ .tag = @enumFromInt(2325), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfaddd_vvvmvl
-        .{ .tag = @enumFromInt(2326), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfaddd_vvvvl
-        .{ .tag = @enumFromInt(2327), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfadds_vsvl
-        .{ .tag = @enumFromInt(2328), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfadds_vsvmvl
-        .{ .tag = @enumFromInt(2329), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfadds_vsvvl
-        .{ .tag = @enumFromInt(2330), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfadds_vvvl
-        .{ .tag = @enumFromInt(2331), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfadds_vvvmvl
-        .{ .tag = @enumFromInt(2332), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfadds_vvvvl
-        .{ .tag = @enumFromInt(2333), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmpd_vsvl
-        .{ .tag = @enumFromInt(2334), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmpd_vsvmvl
-        .{ .tag = @enumFromInt(2335), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmpd_vsvvl
-        .{ .tag = @enumFromInt(2336), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmpd_vvvl
-        .{ .tag = @enumFromInt(2337), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmpd_vvvmvl
-        .{ .tag = @enumFromInt(2338), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmpd_vvvvl
-        .{ .tag = @enumFromInt(2339), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmps_vsvl
-        .{ .tag = @enumFromInt(2340), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmps_vsvmvl
-        .{ .tag = @enumFromInt(2341), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmps_vsvvl
-        .{ .tag = @enumFromInt(2342), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmps_vvvl
-        .{ .tag = @enumFromInt(2343), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmps_vvvmvl
-        .{ .tag = @enumFromInt(2344), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfcmps_vvvvl
-        .{ .tag = @enumFromInt(2345), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivd_vsvl
-        .{ .tag = @enumFromInt(2346), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivd_vsvmvl
-        .{ .tag = @enumFromInt(2347), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivd_vsvvl
-        .{ .tag = @enumFromInt(2348), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivd_vvvl
-        .{ .tag = @enumFromInt(2349), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivd_vvvmvl
-        .{ .tag = @enumFromInt(2350), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivd_vvvvl
-        .{ .tag = @enumFromInt(2351), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivs_vsvl
-        .{ .tag = @enumFromInt(2352), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivs_vsvmvl
-        .{ .tag = @enumFromInt(2353), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivs_vsvvl
-        .{ .tag = @enumFromInt(2354), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivs_vvvl
-        .{ .tag = @enumFromInt(2355), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivs_vvvmvl
-        .{ .tag = @enumFromInt(2356), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfdivs_vvvvl
-        .{ .tag = @enumFromInt(2357), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vsvvl
-        .{ .tag = @enumFromInt(2358), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vsvvmvl
-        .{ .tag = @enumFromInt(2359), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vsvvvl
-        .{ .tag = @enumFromInt(2360), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vvsvl
-        .{ .tag = @enumFromInt(2361), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vvsvmvl
-        .{ .tag = @enumFromInt(2362), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vvsvvl
-        .{ .tag = @enumFromInt(2363), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vvvvl
-        .{ .tag = @enumFromInt(2364), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vvvvmvl
-        .{ .tag = @enumFromInt(2365), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmadd_vvvvvl
-        .{ .tag = @enumFromInt(2366), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vsvvl
-        .{ .tag = @enumFromInt(2367), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vsvvmvl
-        .{ .tag = @enumFromInt(2368), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vsvvvl
-        .{ .tag = @enumFromInt(2369), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vvsvl
-        .{ .tag = @enumFromInt(2370), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vvsvmvl
-        .{ .tag = @enumFromInt(2371), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vvsvvl
-        .{ .tag = @enumFromInt(2372), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vvvvl
-        .{ .tag = @enumFromInt(2373), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vvvvmvl
-        .{ .tag = @enumFromInt(2374), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmads_vvvvvl
-        .{ .tag = @enumFromInt(2375), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxd_vsvl
-        .{ .tag = @enumFromInt(2376), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxd_vsvmvl
-        .{ .tag = @enumFromInt(2377), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxd_vsvvl
-        .{ .tag = @enumFromInt(2378), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxd_vvvl
-        .{ .tag = @enumFromInt(2379), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxd_vvvmvl
-        .{ .tag = @enumFromInt(2380), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxd_vvvvl
-        .{ .tag = @enumFromInt(2381), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxs_vsvl
-        .{ .tag = @enumFromInt(2382), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxs_vsvmvl
-        .{ .tag = @enumFromInt(2383), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxs_vsvvl
-        .{ .tag = @enumFromInt(2384), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxs_vvvl
-        .{ .tag = @enumFromInt(2385), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxs_vvvmvl
-        .{ .tag = @enumFromInt(2386), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmaxs_vvvvl
-        .{ .tag = @enumFromInt(2387), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmind_vsvl
-        .{ .tag = @enumFromInt(2388), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmind_vsvmvl
-        .{ .tag = @enumFromInt(2389), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmind_vsvvl
-        .{ .tag = @enumFromInt(2390), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmind_vvvl
-        .{ .tag = @enumFromInt(2391), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmind_vvvmvl
-        .{ .tag = @enumFromInt(2392), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmind_vvvvl
-        .{ .tag = @enumFromInt(2393), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmins_vsvl
-        .{ .tag = @enumFromInt(2394), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmins_vsvmvl
-        .{ .tag = @enumFromInt(2395), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmins_vsvvl
-        .{ .tag = @enumFromInt(2396), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmins_vvvl
-        .{ .tag = @enumFromInt(2397), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmins_vvvmvl
-        .{ .tag = @enumFromInt(2398), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmins_vvvvl
-        .{ .tag = @enumFromInt(2399), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdeq_mvl
-        .{ .tag = @enumFromInt(2400), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdeq_mvml
-        .{ .tag = @enumFromInt(2401), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdeqnan_mvl
-        .{ .tag = @enumFromInt(2402), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdeqnan_mvml
-        .{ .tag = @enumFromInt(2403), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdge_mvl
-        .{ .tag = @enumFromInt(2404), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdge_mvml
-        .{ .tag = @enumFromInt(2405), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdgenan_mvl
-        .{ .tag = @enumFromInt(2406), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdgenan_mvml
-        .{ .tag = @enumFromInt(2407), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdgt_mvl
-        .{ .tag = @enumFromInt(2408), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdgt_mvml
-        .{ .tag = @enumFromInt(2409), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdgtnan_mvl
-        .{ .tag = @enumFromInt(2410), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdgtnan_mvml
-        .{ .tag = @enumFromInt(2411), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdle_mvl
-        .{ .tag = @enumFromInt(2412), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdle_mvml
-        .{ .tag = @enumFromInt(2413), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdlenan_mvl
-        .{ .tag = @enumFromInt(2414), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdlenan_mvml
-        .{ .tag = @enumFromInt(2415), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdlt_mvl
-        .{ .tag = @enumFromInt(2416), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdlt_mvml
-        .{ .tag = @enumFromInt(2417), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdltnan_mvl
-        .{ .tag = @enumFromInt(2418), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdltnan_mvml
-        .{ .tag = @enumFromInt(2419), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdnan_mvl
-        .{ .tag = @enumFromInt(2420), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdnan_mvml
-        .{ .tag = @enumFromInt(2421), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdne_mvl
-        .{ .tag = @enumFromInt(2422), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdne_mvml
-        .{ .tag = @enumFromInt(2423), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdnenan_mvl
-        .{ .tag = @enumFromInt(2424), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdnenan_mvml
-        .{ .tag = @enumFromInt(2425), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdnum_mvl
-        .{ .tag = @enumFromInt(2426), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkdnum_mvml
-        .{ .tag = @enumFromInt(2427), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklaf_ml
-        .{ .tag = @enumFromInt(2428), .param_str = "V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklat_ml
-        .{ .tag = @enumFromInt(2429), .param_str = "V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkleq_mvl
-        .{ .tag = @enumFromInt(2430), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkleq_mvml
-        .{ .tag = @enumFromInt(2431), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkleqnan_mvl
-        .{ .tag = @enumFromInt(2432), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkleqnan_mvml
-        .{ .tag = @enumFromInt(2433), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklge_mvl
-        .{ .tag = @enumFromInt(2434), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklge_mvml
-        .{ .tag = @enumFromInt(2435), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklgenan_mvl
-        .{ .tag = @enumFromInt(2436), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklgenan_mvml
-        .{ .tag = @enumFromInt(2437), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklgt_mvl
-        .{ .tag = @enumFromInt(2438), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklgt_mvml
-        .{ .tag = @enumFromInt(2439), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklgtnan_mvl
-        .{ .tag = @enumFromInt(2440), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklgtnan_mvml
-        .{ .tag = @enumFromInt(2441), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklle_mvl
-        .{ .tag = @enumFromInt(2442), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklle_mvml
-        .{ .tag = @enumFromInt(2443), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkllenan_mvl
-        .{ .tag = @enumFromInt(2444), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkllenan_mvml
-        .{ .tag = @enumFromInt(2445), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkllt_mvl
-        .{ .tag = @enumFromInt(2446), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkllt_mvml
-        .{ .tag = @enumFromInt(2447), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklltnan_mvl
-        .{ .tag = @enumFromInt(2448), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklltnan_mvml
-        .{ .tag = @enumFromInt(2449), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklnan_mvl
-        .{ .tag = @enumFromInt(2450), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklnan_mvml
-        .{ .tag = @enumFromInt(2451), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklne_mvl
-        .{ .tag = @enumFromInt(2452), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklne_mvml
-        .{ .tag = @enumFromInt(2453), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklnenan_mvl
-        .{ .tag = @enumFromInt(2454), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklnenan_mvml
-        .{ .tag = @enumFromInt(2455), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklnum_mvl
-        .{ .tag = @enumFromInt(2456), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmklnum_mvml
-        .{ .tag = @enumFromInt(2457), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkseq_mvl
-        .{ .tag = @enumFromInt(2458), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkseq_mvml
-        .{ .tag = @enumFromInt(2459), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkseqnan_mvl
-        .{ .tag = @enumFromInt(2460), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkseqnan_mvml
-        .{ .tag = @enumFromInt(2461), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksge_mvl
-        .{ .tag = @enumFromInt(2462), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksge_mvml
-        .{ .tag = @enumFromInt(2463), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksgenan_mvl
-        .{ .tag = @enumFromInt(2464), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksgenan_mvml
-        .{ .tag = @enumFromInt(2465), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksgt_mvl
-        .{ .tag = @enumFromInt(2466), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksgt_mvml
-        .{ .tag = @enumFromInt(2467), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksgtnan_mvl
-        .{ .tag = @enumFromInt(2468), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksgtnan_mvml
-        .{ .tag = @enumFromInt(2469), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksle_mvl
-        .{ .tag = @enumFromInt(2470), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksle_mvml
-        .{ .tag = @enumFromInt(2471), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkslenan_mvl
-        .{ .tag = @enumFromInt(2472), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkslenan_mvml
-        .{ .tag = @enumFromInt(2473), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkslt_mvl
-        .{ .tag = @enumFromInt(2474), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkslt_mvml
-        .{ .tag = @enumFromInt(2475), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksltnan_mvl
-        .{ .tag = @enumFromInt(2476), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksltnan_mvml
-        .{ .tag = @enumFromInt(2477), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksnan_mvl
-        .{ .tag = @enumFromInt(2478), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksnan_mvml
-        .{ .tag = @enumFromInt(2479), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksne_mvl
-        .{ .tag = @enumFromInt(2480), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksne_mvml
-        .{ .tag = @enumFromInt(2481), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksnenan_mvl
-        .{ .tag = @enumFromInt(2482), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksnenan_mvml
-        .{ .tag = @enumFromInt(2483), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksnum_mvl
-        .{ .tag = @enumFromInt(2484), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmksnum_mvml
-        .{ .tag = @enumFromInt(2485), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkweq_mvl
-        .{ .tag = @enumFromInt(2486), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkweq_mvml
-        .{ .tag = @enumFromInt(2487), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkweqnan_mvl
-        .{ .tag = @enumFromInt(2488), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkweqnan_mvml
-        .{ .tag = @enumFromInt(2489), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwge_mvl
-        .{ .tag = @enumFromInt(2490), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwge_mvml
-        .{ .tag = @enumFromInt(2491), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwgenan_mvl
-        .{ .tag = @enumFromInt(2492), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwgenan_mvml
-        .{ .tag = @enumFromInt(2493), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwgt_mvl
-        .{ .tag = @enumFromInt(2494), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwgt_mvml
-        .{ .tag = @enumFromInt(2495), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwgtnan_mvl
-        .{ .tag = @enumFromInt(2496), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwgtnan_mvml
-        .{ .tag = @enumFromInt(2497), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwle_mvl
-        .{ .tag = @enumFromInt(2498), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwle_mvml
-        .{ .tag = @enumFromInt(2499), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwlenan_mvl
-        .{ .tag = @enumFromInt(2500), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwlenan_mvml
-        .{ .tag = @enumFromInt(2501), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwlt_mvl
-        .{ .tag = @enumFromInt(2502), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwlt_mvml
-        .{ .tag = @enumFromInt(2503), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwltnan_mvl
-        .{ .tag = @enumFromInt(2504), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwltnan_mvml
-        .{ .tag = @enumFromInt(2505), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwnan_mvl
-        .{ .tag = @enumFromInt(2506), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwnan_mvml
-        .{ .tag = @enumFromInt(2507), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwne_mvl
-        .{ .tag = @enumFromInt(2508), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwne_mvml
-        .{ .tag = @enumFromInt(2509), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwnenan_mvl
-        .{ .tag = @enumFromInt(2510), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwnenan_mvml
-        .{ .tag = @enumFromInt(2511), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwnum_mvl
-        .{ .tag = @enumFromInt(2512), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmkwnum_mvml
-        .{ .tag = @enumFromInt(2513), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vsvvl
-        .{ .tag = @enumFromInt(2514), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vsvvmvl
-        .{ .tag = @enumFromInt(2515), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vsvvvl
-        .{ .tag = @enumFromInt(2516), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vvsvl
-        .{ .tag = @enumFromInt(2517), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vvsvmvl
-        .{ .tag = @enumFromInt(2518), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vvsvvl
-        .{ .tag = @enumFromInt(2519), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vvvvl
-        .{ .tag = @enumFromInt(2520), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vvvvmvl
-        .{ .tag = @enumFromInt(2521), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbd_vvvvvl
-        .{ .tag = @enumFromInt(2522), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vsvvl
-        .{ .tag = @enumFromInt(2523), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vsvvmvl
-        .{ .tag = @enumFromInt(2524), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vsvvvl
-        .{ .tag = @enumFromInt(2525), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vvsvl
-        .{ .tag = @enumFromInt(2526), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vvsvmvl
-        .{ .tag = @enumFromInt(2527), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vvsvvl
-        .{ .tag = @enumFromInt(2528), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vvvvl
-        .{ .tag = @enumFromInt(2529), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vvvvmvl
-        .{ .tag = @enumFromInt(2530), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmsbs_vvvvvl
-        .{ .tag = @enumFromInt(2531), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuld_vsvl
-        .{ .tag = @enumFromInt(2532), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuld_vsvmvl
-        .{ .tag = @enumFromInt(2533), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuld_vsvvl
-        .{ .tag = @enumFromInt(2534), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuld_vvvl
-        .{ .tag = @enumFromInt(2535), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuld_vvvmvl
-        .{ .tag = @enumFromInt(2536), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuld_vvvvl
-        .{ .tag = @enumFromInt(2537), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuls_vsvl
-        .{ .tag = @enumFromInt(2538), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuls_vsvmvl
-        .{ .tag = @enumFromInt(2539), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuls_vsvvl
-        .{ .tag = @enumFromInt(2540), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuls_vvvl
-        .{ .tag = @enumFromInt(2541), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuls_vvvmvl
-        .{ .tag = @enumFromInt(2542), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfmuls_vvvvl
-        .{ .tag = @enumFromInt(2543), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vsvvl
-        .{ .tag = @enumFromInt(2544), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vsvvmvl
-        .{ .tag = @enumFromInt(2545), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vsvvvl
-        .{ .tag = @enumFromInt(2546), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vvsvl
-        .{ .tag = @enumFromInt(2547), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vvsvmvl
-        .{ .tag = @enumFromInt(2548), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vvsvvl
-        .{ .tag = @enumFromInt(2549), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vvvvl
-        .{ .tag = @enumFromInt(2550), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vvvvmvl
-        .{ .tag = @enumFromInt(2551), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmadd_vvvvvl
-        .{ .tag = @enumFromInt(2552), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vsvvl
-        .{ .tag = @enumFromInt(2553), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vsvvmvl
-        .{ .tag = @enumFromInt(2554), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vsvvvl
-        .{ .tag = @enumFromInt(2555), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vvsvl
-        .{ .tag = @enumFromInt(2556), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vvsvmvl
-        .{ .tag = @enumFromInt(2557), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vvsvvl
-        .{ .tag = @enumFromInt(2558), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vvvvl
-        .{ .tag = @enumFromInt(2559), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vvvvmvl
-        .{ .tag = @enumFromInt(2560), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmads_vvvvvl
-        .{ .tag = @enumFromInt(2561), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vsvvl
-        .{ .tag = @enumFromInt(2562), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vsvvmvl
-        .{ .tag = @enumFromInt(2563), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vsvvvl
-        .{ .tag = @enumFromInt(2564), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vvsvl
-        .{ .tag = @enumFromInt(2565), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vvsvmvl
-        .{ .tag = @enumFromInt(2566), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vvsvvl
-        .{ .tag = @enumFromInt(2567), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vvvvl
-        .{ .tag = @enumFromInt(2568), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vvvvmvl
-        .{ .tag = @enumFromInt(2569), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbd_vvvvvl
-        .{ .tag = @enumFromInt(2570), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vsvvl
-        .{ .tag = @enumFromInt(2571), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vsvvmvl
-        .{ .tag = @enumFromInt(2572), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vsvvvl
-        .{ .tag = @enumFromInt(2573), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vvsvl
-        .{ .tag = @enumFromInt(2574), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vvsvmvl
-        .{ .tag = @enumFromInt(2575), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vvsvvl
-        .{ .tag = @enumFromInt(2576), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vvvvl
-        .{ .tag = @enumFromInt(2577), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vvvvmvl
-        .{ .tag = @enumFromInt(2578), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfnmsbs_vvvvvl
-        .{ .tag = @enumFromInt(2579), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxdfst_vvl
-        .{ .tag = @enumFromInt(2580), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxdfst_vvvl
-        .{ .tag = @enumFromInt(2581), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxdlst_vvl
-        .{ .tag = @enumFromInt(2582), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxdlst_vvvl
-        .{ .tag = @enumFromInt(2583), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxsfst_vvl
-        .{ .tag = @enumFromInt(2584), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxsfst_vvvl
-        .{ .tag = @enumFromInt(2585), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxslst_vvl
-        .{ .tag = @enumFromInt(2586), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmaxslst_vvvl
-        .{ .tag = @enumFromInt(2587), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmindfst_vvl
-        .{ .tag = @enumFromInt(2588), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmindfst_vvvl
-        .{ .tag = @enumFromInt(2589), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmindlst_vvl
-        .{ .tag = @enumFromInt(2590), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrmindlst_vvvl
-        .{ .tag = @enumFromInt(2591), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrminsfst_vvl
-        .{ .tag = @enumFromInt(2592), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrminsfst_vvvl
-        .{ .tag = @enumFromInt(2593), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrminslst_vvl
-        .{ .tag = @enumFromInt(2594), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfrminslst_vvvl
-        .{ .tag = @enumFromInt(2595), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsqrtd_vvl
-        .{ .tag = @enumFromInt(2596), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsqrtd_vvvl
-        .{ .tag = @enumFromInt(2597), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsqrts_vvl
-        .{ .tag = @enumFromInt(2598), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsqrts_vvvl
-        .{ .tag = @enumFromInt(2599), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubd_vsvl
-        .{ .tag = @enumFromInt(2600), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubd_vsvmvl
-        .{ .tag = @enumFromInt(2601), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubd_vsvvl
-        .{ .tag = @enumFromInt(2602), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubd_vvvl
-        .{ .tag = @enumFromInt(2603), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubd_vvvmvl
-        .{ .tag = @enumFromInt(2604), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubd_vvvvl
-        .{ .tag = @enumFromInt(2605), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubs_vsvl
-        .{ .tag = @enumFromInt(2606), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubs_vsvmvl
-        .{ .tag = @enumFromInt(2607), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubs_vsvvl
-        .{ .tag = @enumFromInt(2608), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubs_vvvl
-        .{ .tag = @enumFromInt(2609), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubs_vvvmvl
-        .{ .tag = @enumFromInt(2610), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsubs_vvvvl
-        .{ .tag = @enumFromInt(2611), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsumd_vvl
-        .{ .tag = @enumFromInt(2612), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsumd_vvml
-        .{ .tag = @enumFromInt(2613), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsums_vvl
-        .{ .tag = @enumFromInt(2614), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vfsums_vvml
-        .{ .tag = @enumFromInt(2615), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgt_vvssl
-        .{ .tag = @enumFromInt(2616), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgt_vvssml
-        .{ .tag = @enumFromInt(2617), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgt_vvssmvl
-        .{ .tag = @enumFromInt(2618), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgt_vvssvl
-        .{ .tag = @enumFromInt(2619), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsx_vvssl
-        .{ .tag = @enumFromInt(2620), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsx_vvssml
-        .{ .tag = @enumFromInt(2621), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsx_vvssmvl
-        .{ .tag = @enumFromInt(2622), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsx_vvssvl
-        .{ .tag = @enumFromInt(2623), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsxnc_vvssl
-        .{ .tag = @enumFromInt(2624), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsxnc_vvssml
-        .{ .tag = @enumFromInt(2625), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsxnc_vvssmvl
-        .{ .tag = @enumFromInt(2626), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlsxnc_vvssvl
-        .{ .tag = @enumFromInt(2627), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzx_vvssl
-        .{ .tag = @enumFromInt(2628), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzx_vvssml
-        .{ .tag = @enumFromInt(2629), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzx_vvssmvl
-        .{ .tag = @enumFromInt(2630), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzx_vvssvl
-        .{ .tag = @enumFromInt(2631), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzxnc_vvssl
-        .{ .tag = @enumFromInt(2632), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzxnc_vvssml
-        .{ .tag = @enumFromInt(2633), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzxnc_vvssmvl
-        .{ .tag = @enumFromInt(2634), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtlzxnc_vvssvl
-        .{ .tag = @enumFromInt(2635), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtnc_vvssl
-        .{ .tag = @enumFromInt(2636), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtnc_vvssml
-        .{ .tag = @enumFromInt(2637), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtnc_vvssmvl
-        .{ .tag = @enumFromInt(2638), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtnc_vvssvl
-        .{ .tag = @enumFromInt(2639), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtu_vvssl
-        .{ .tag = @enumFromInt(2640), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtu_vvssml
-        .{ .tag = @enumFromInt(2641), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtu_vvssmvl
-        .{ .tag = @enumFromInt(2642), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtu_vvssvl
-        .{ .tag = @enumFromInt(2643), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtunc_vvssl
-        .{ .tag = @enumFromInt(2644), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtunc_vvssml
-        .{ .tag = @enumFromInt(2645), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtunc_vvssmvl
-        .{ .tag = @enumFromInt(2646), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vgtunc_vvssvl
-        .{ .tag = @enumFromInt(2647), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vld2d_vssl
-        .{ .tag = @enumFromInt(2648), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vld2d_vssvl
-        .{ .tag = @enumFromInt(2649), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vld2dnc_vssl
-        .{ .tag = @enumFromInt(2650), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vld2dnc_vssvl
-        .{ .tag = @enumFromInt(2651), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vld_vssl
-        .{ .tag = @enumFromInt(2652), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vld_vssvl
-        .{ .tag = @enumFromInt(2653), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dsx_vssl
-        .{ .tag = @enumFromInt(2654), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dsx_vssvl
-        .{ .tag = @enumFromInt(2655), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dsxnc_vssl
-        .{ .tag = @enumFromInt(2656), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dsxnc_vssvl
-        .{ .tag = @enumFromInt(2657), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dzx_vssl
-        .{ .tag = @enumFromInt(2658), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dzx_vssvl
-        .{ .tag = @enumFromInt(2659), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dzxnc_vssl
-        .{ .tag = @enumFromInt(2660), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldl2dzxnc_vssvl
-        .{ .tag = @enumFromInt(2661), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlsx_vssl
-        .{ .tag = @enumFromInt(2662), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlsx_vssvl
-        .{ .tag = @enumFromInt(2663), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlsxnc_vssl
-        .{ .tag = @enumFromInt(2664), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlsxnc_vssvl
-        .{ .tag = @enumFromInt(2665), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlzx_vssl
-        .{ .tag = @enumFromInt(2666), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlzx_vssvl
-        .{ .tag = @enumFromInt(2667), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlzxnc_vssl
-        .{ .tag = @enumFromInt(2668), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldlzxnc_vssvl
-        .{ .tag = @enumFromInt(2669), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldnc_vssl
-        .{ .tag = @enumFromInt(2670), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldnc_vssvl
-        .{ .tag = @enumFromInt(2671), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldu2d_vssl
-        .{ .tag = @enumFromInt(2672), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldu2d_vssvl
-        .{ .tag = @enumFromInt(2673), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldu2dnc_vssl
-        .{ .tag = @enumFromInt(2674), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldu2dnc_vssvl
-        .{ .tag = @enumFromInt(2675), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldu_vssl
-        .{ .tag = @enumFromInt(2676), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldu_vssvl
-        .{ .tag = @enumFromInt(2677), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldunc_vssl
-        .{ .tag = @enumFromInt(2678), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldunc_vssvl
-        .{ .tag = @enumFromInt(2679), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldz_vvl
-        .{ .tag = @enumFromInt(2680), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldz_vvmvl
-        .{ .tag = @enumFromInt(2681), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vldz_vvvl
-        .{ .tag = @enumFromInt(2682), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxsl_vsvl
-        .{ .tag = @enumFromInt(2683), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxsl_vsvmvl
-        .{ .tag = @enumFromInt(2684), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxsl_vsvvl
-        .{ .tag = @enumFromInt(2685), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxsl_vvvl
-        .{ .tag = @enumFromInt(2686), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxsl_vvvmvl
-        .{ .tag = @enumFromInt(2687), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxsl_vvvvl
-        .{ .tag = @enumFromInt(2688), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswsx_vsvl
-        .{ .tag = @enumFromInt(2689), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswsx_vsvmvl
-        .{ .tag = @enumFromInt(2690), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswsx_vsvvl
-        .{ .tag = @enumFromInt(2691), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswsx_vvvl
-        .{ .tag = @enumFromInt(2692), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswsx_vvvmvl
-        .{ .tag = @enumFromInt(2693), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswsx_vvvvl
-        .{ .tag = @enumFromInt(2694), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswzx_vsvl
-        .{ .tag = @enumFromInt(2695), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswzx_vsvmvl
-        .{ .tag = @enumFromInt(2696), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswzx_vsvvl
-        .{ .tag = @enumFromInt(2697), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswzx_vvvl
-        .{ .tag = @enumFromInt(2698), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswzx_vvvmvl
-        .{ .tag = @enumFromInt(2699), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmaxswzx_vvvvl
-        .{ .tag = @enumFromInt(2700), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminsl_vsvl
-        .{ .tag = @enumFromInt(2701), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminsl_vsvmvl
-        .{ .tag = @enumFromInt(2702), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminsl_vsvvl
-        .{ .tag = @enumFromInt(2703), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminsl_vvvl
-        .{ .tag = @enumFromInt(2704), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminsl_vvvmvl
-        .{ .tag = @enumFromInt(2705), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminsl_vvvvl
-        .{ .tag = @enumFromInt(2706), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswsx_vsvl
-        .{ .tag = @enumFromInt(2707), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswsx_vsvmvl
-        .{ .tag = @enumFromInt(2708), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswsx_vsvvl
-        .{ .tag = @enumFromInt(2709), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswsx_vvvl
-        .{ .tag = @enumFromInt(2710), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswsx_vvvmvl
-        .{ .tag = @enumFromInt(2711), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswsx_vvvvl
-        .{ .tag = @enumFromInt(2712), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswzx_vsvl
-        .{ .tag = @enumFromInt(2713), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswzx_vsvmvl
-        .{ .tag = @enumFromInt(2714), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswzx_vsvvl
-        .{ .tag = @enumFromInt(2715), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswzx_vvvl
-        .{ .tag = @enumFromInt(2716), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswzx_vvvmvl
-        .{ .tag = @enumFromInt(2717), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vminswzx_vvvvl
-        .{ .tag = @enumFromInt(2718), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrg_vsvml
-        .{ .tag = @enumFromInt(2719), .param_str = "V256dLUiV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrg_vsvmvl
-        .{ .tag = @enumFromInt(2720), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrg_vvvml
-        .{ .tag = @enumFromInt(2721), .param_str = "V256dV256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrg_vvvmvl
-        .{ .tag = @enumFromInt(2722), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrgw_vsvMl
-        .{ .tag = @enumFromInt(2723), .param_str = "V256dUiV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrgw_vsvMvl
-        .{ .tag = @enumFromInt(2724), .param_str = "V256dUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrgw_vvvMl
-        .{ .tag = @enumFromInt(2725), .param_str = "V256dV256dV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmrgw_vvvMvl
-        .{ .tag = @enumFromInt(2726), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulsl_vsvl
-        .{ .tag = @enumFromInt(2727), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulsl_vsvmvl
-        .{ .tag = @enumFromInt(2728), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulsl_vsvvl
-        .{ .tag = @enumFromInt(2729), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulsl_vvvl
-        .{ .tag = @enumFromInt(2730), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulsl_vvvmvl
-        .{ .tag = @enumFromInt(2731), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulsl_vvvvl
-        .{ .tag = @enumFromInt(2732), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulslw_vsvl
-        .{ .tag = @enumFromInt(2733), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulslw_vsvvl
-        .{ .tag = @enumFromInt(2734), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulslw_vvvl
-        .{ .tag = @enumFromInt(2735), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulslw_vvvvl
-        .{ .tag = @enumFromInt(2736), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswsx_vsvl
-        .{ .tag = @enumFromInt(2737), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswsx_vsvmvl
-        .{ .tag = @enumFromInt(2738), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswsx_vsvvl
-        .{ .tag = @enumFromInt(2739), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswsx_vvvl
-        .{ .tag = @enumFromInt(2740), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswsx_vvvmvl
-        .{ .tag = @enumFromInt(2741), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswsx_vvvvl
-        .{ .tag = @enumFromInt(2742), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswzx_vsvl
-        .{ .tag = @enumFromInt(2743), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswzx_vsvmvl
-        .{ .tag = @enumFromInt(2744), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswzx_vsvvl
-        .{ .tag = @enumFromInt(2745), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswzx_vvvl
-        .{ .tag = @enumFromInt(2746), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswzx_vvvmvl
-        .{ .tag = @enumFromInt(2747), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulswzx_vvvvl
-        .{ .tag = @enumFromInt(2748), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulul_vsvl
-        .{ .tag = @enumFromInt(2749), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulul_vsvmvl
-        .{ .tag = @enumFromInt(2750), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulul_vsvvl
-        .{ .tag = @enumFromInt(2751), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulul_vvvl
-        .{ .tag = @enumFromInt(2752), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulul_vvvmvl
-        .{ .tag = @enumFromInt(2753), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmulul_vvvvl
-        .{ .tag = @enumFromInt(2754), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmuluw_vsvl
-        .{ .tag = @enumFromInt(2755), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmuluw_vsvmvl
-        .{ .tag = @enumFromInt(2756), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmuluw_vsvvl
-        .{ .tag = @enumFromInt(2757), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmuluw_vvvl
-        .{ .tag = @enumFromInt(2758), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmuluw_vvvmvl
-        .{ .tag = @enumFromInt(2759), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmuluw_vvvvl
-        .{ .tag = @enumFromInt(2760), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmv_vsvl
-        .{ .tag = @enumFromInt(2761), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmv_vsvmvl
-        .{ .tag = @enumFromInt(2762), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vmv_vsvvl
-        .{ .tag = @enumFromInt(2763), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vor_vsvl
-        .{ .tag = @enumFromInt(2764), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vor_vsvmvl
-        .{ .tag = @enumFromInt(2765), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vor_vsvvl
-        .{ .tag = @enumFromInt(2766), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vor_vvvl
-        .{ .tag = @enumFromInt(2767), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vor_vvvmvl
-        .{ .tag = @enumFromInt(2768), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vor_vvvvl
-        .{ .tag = @enumFromInt(2769), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vpcnt_vvl
-        .{ .tag = @enumFromInt(2770), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vpcnt_vvmvl
-        .{ .tag = @enumFromInt(2771), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vpcnt_vvvl
-        .{ .tag = @enumFromInt(2772), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrand_vvl
-        .{ .tag = @enumFromInt(2773), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrand_vvml
-        .{ .tag = @enumFromInt(2774), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrcpd_vvl
-        .{ .tag = @enumFromInt(2775), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrcpd_vvvl
-        .{ .tag = @enumFromInt(2776), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrcps_vvl
-        .{ .tag = @enumFromInt(2777), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrcps_vvvl
-        .{ .tag = @enumFromInt(2778), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxslfst_vvl
-        .{ .tag = @enumFromInt(2779), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxslfst_vvvl
-        .{ .tag = @enumFromInt(2780), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxsllst_vvl
-        .{ .tag = @enumFromInt(2781), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxsllst_vvvl
-        .{ .tag = @enumFromInt(2782), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswfstsx_vvl
-        .{ .tag = @enumFromInt(2783), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswfstsx_vvvl
-        .{ .tag = @enumFromInt(2784), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswfstzx_vvl
-        .{ .tag = @enumFromInt(2785), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswfstzx_vvvl
-        .{ .tag = @enumFromInt(2786), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswlstsx_vvl
-        .{ .tag = @enumFromInt(2787), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswlstsx_vvvl
-        .{ .tag = @enumFromInt(2788), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswlstzx_vvl
-        .{ .tag = @enumFromInt(2789), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrmaxswlstzx_vvvl
-        .{ .tag = @enumFromInt(2790), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminslfst_vvl
-        .{ .tag = @enumFromInt(2791), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminslfst_vvvl
-        .{ .tag = @enumFromInt(2792), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminsllst_vvl
-        .{ .tag = @enumFromInt(2793), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminsllst_vvvl
-        .{ .tag = @enumFromInt(2794), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswfstsx_vvl
-        .{ .tag = @enumFromInt(2795), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswfstsx_vvvl
-        .{ .tag = @enumFromInt(2796), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswfstzx_vvl
-        .{ .tag = @enumFromInt(2797), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswfstzx_vvvl
-        .{ .tag = @enumFromInt(2798), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswlstsx_vvl
-        .{ .tag = @enumFromInt(2799), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswlstsx_vvvl
-        .{ .tag = @enumFromInt(2800), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswlstzx_vvl
-        .{ .tag = @enumFromInt(2801), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrminswlstzx_vvvl
-        .{ .tag = @enumFromInt(2802), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vror_vvl
-        .{ .tag = @enumFromInt(2803), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vror_vvml
-        .{ .tag = @enumFromInt(2804), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrtd_vvl
-        .{ .tag = @enumFromInt(2805), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrtd_vvvl
-        .{ .tag = @enumFromInt(2806), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrtdnex_vvl
-        .{ .tag = @enumFromInt(2807), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrtdnex_vvvl
-        .{ .tag = @enumFromInt(2808), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrts_vvl
-        .{ .tag = @enumFromInt(2809), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrts_vvvl
-        .{ .tag = @enumFromInt(2810), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrtsnex_vvl
-        .{ .tag = @enumFromInt(2811), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrsqrtsnex_vvvl
-        .{ .tag = @enumFromInt(2812), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrxor_vvl
-        .{ .tag = @enumFromInt(2813), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vrxor_vvml
-        .{ .tag = @enumFromInt(2814), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsc_vvssl
-        .{ .tag = @enumFromInt(2815), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsc_vvssml
-        .{ .tag = @enumFromInt(2816), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscl_vvssl
-        .{ .tag = @enumFromInt(2817), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscl_vvssml
-        .{ .tag = @enumFromInt(2818), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsclnc_vvssl
-        .{ .tag = @enumFromInt(2819), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsclnc_vvssml
-        .{ .tag = @enumFromInt(2820), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsclncot_vvssl
-        .{ .tag = @enumFromInt(2821), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsclncot_vvssml
-        .{ .tag = @enumFromInt(2822), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsclot_vvssl
-        .{ .tag = @enumFromInt(2823), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsclot_vvssml
-        .{ .tag = @enumFromInt(2824), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscnc_vvssl
-        .{ .tag = @enumFromInt(2825), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscnc_vvssml
-        .{ .tag = @enumFromInt(2826), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscncot_vvssl
-        .{ .tag = @enumFromInt(2827), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscncot_vvssml
-        .{ .tag = @enumFromInt(2828), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscot_vvssl
-        .{ .tag = @enumFromInt(2829), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscot_vvssml
-        .{ .tag = @enumFromInt(2830), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscu_vvssl
-        .{ .tag = @enumFromInt(2831), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscu_vvssml
-        .{ .tag = @enumFromInt(2832), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscunc_vvssl
-        .{ .tag = @enumFromInt(2833), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscunc_vvssml
-        .{ .tag = @enumFromInt(2834), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscuncot_vvssl
-        .{ .tag = @enumFromInt(2835), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscuncot_vvssml
-        .{ .tag = @enumFromInt(2836), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscuot_vvssl
-        .{ .tag = @enumFromInt(2837), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vscuot_vvssml
-        .{ .tag = @enumFromInt(2838), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vseq_vl
-        .{ .tag = @enumFromInt(2839), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vseq_vvl
-        .{ .tag = @enumFromInt(2840), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsfa_vvssl
-        .{ .tag = @enumFromInt(2841), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsfa_vvssmvl
-        .{ .tag = @enumFromInt(2842), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsfa_vvssvl
-        .{ .tag = @enumFromInt(2843), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vshf_vvvsl
-        .{ .tag = @enumFromInt(2844), .param_str = "V256dV256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vshf_vvvsvl
-        .{ .tag = @enumFromInt(2845), .param_str = "V256dV256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslal_vvsl
-        .{ .tag = @enumFromInt(2846), .param_str = "V256dV256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslal_vvsmvl
-        .{ .tag = @enumFromInt(2847), .param_str = "V256dV256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslal_vvsvl
-        .{ .tag = @enumFromInt(2848), .param_str = "V256dV256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslal_vvvl
-        .{ .tag = @enumFromInt(2849), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslal_vvvmvl
-        .{ .tag = @enumFromInt(2850), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslal_vvvvl
-        .{ .tag = @enumFromInt(2851), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawsx_vvsl
-        .{ .tag = @enumFromInt(2852), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawsx_vvsmvl
-        .{ .tag = @enumFromInt(2853), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawsx_vvsvl
-        .{ .tag = @enumFromInt(2854), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawsx_vvvl
-        .{ .tag = @enumFromInt(2855), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawsx_vvvmvl
-        .{ .tag = @enumFromInt(2856), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawsx_vvvvl
-        .{ .tag = @enumFromInt(2857), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawzx_vvsl
-        .{ .tag = @enumFromInt(2858), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawzx_vvsmvl
-        .{ .tag = @enumFromInt(2859), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawzx_vvsvl
-        .{ .tag = @enumFromInt(2860), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawzx_vvvl
-        .{ .tag = @enumFromInt(2861), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawzx_vvvmvl
-        .{ .tag = @enumFromInt(2862), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vslawzx_vvvvl
-        .{ .tag = @enumFromInt(2863), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsll_vvsl
-        .{ .tag = @enumFromInt(2864), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsll_vvsmvl
-        .{ .tag = @enumFromInt(2865), .param_str = "V256dV256dLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsll_vvsvl
-        .{ .tag = @enumFromInt(2866), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsll_vvvl
-        .{ .tag = @enumFromInt(2867), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsll_vvvmvl
-        .{ .tag = @enumFromInt(2868), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsll_vvvvl
-        .{ .tag = @enumFromInt(2869), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsral_vvsl
-        .{ .tag = @enumFromInt(2870), .param_str = "V256dV256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsral_vvsmvl
-        .{ .tag = @enumFromInt(2871), .param_str = "V256dV256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsral_vvsvl
-        .{ .tag = @enumFromInt(2872), .param_str = "V256dV256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsral_vvvl
-        .{ .tag = @enumFromInt(2873), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsral_vvvmvl
-        .{ .tag = @enumFromInt(2874), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsral_vvvvl
-        .{ .tag = @enumFromInt(2875), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawsx_vvsl
-        .{ .tag = @enumFromInt(2876), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawsx_vvsmvl
-        .{ .tag = @enumFromInt(2877), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawsx_vvsvl
-        .{ .tag = @enumFromInt(2878), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawsx_vvvl
-        .{ .tag = @enumFromInt(2879), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawsx_vvvmvl
-        .{ .tag = @enumFromInt(2880), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawsx_vvvvl
-        .{ .tag = @enumFromInt(2881), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawzx_vvsl
-        .{ .tag = @enumFromInt(2882), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawzx_vvsmvl
-        .{ .tag = @enumFromInt(2883), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawzx_vvsvl
-        .{ .tag = @enumFromInt(2884), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawzx_vvvl
-        .{ .tag = @enumFromInt(2885), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawzx_vvvmvl
-        .{ .tag = @enumFromInt(2886), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrawzx_vvvvl
-        .{ .tag = @enumFromInt(2887), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrl_vvsl
-        .{ .tag = @enumFromInt(2888), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrl_vvsmvl
-        .{ .tag = @enumFromInt(2889), .param_str = "V256dV256dLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrl_vvsvl
-        .{ .tag = @enumFromInt(2890), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrl_vvvl
-        .{ .tag = @enumFromInt(2891), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrl_vvvmvl
-        .{ .tag = @enumFromInt(2892), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsrl_vvvvl
-        .{ .tag = @enumFromInt(2893), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2d_vssl
-        .{ .tag = @enumFromInt(2894), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2d_vssml
-        .{ .tag = @enumFromInt(2895), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2dnc_vssl
-        .{ .tag = @enumFromInt(2896), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2dnc_vssml
-        .{ .tag = @enumFromInt(2897), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2dncot_vssl
-        .{ .tag = @enumFromInt(2898), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2dncot_vssml
-        .{ .tag = @enumFromInt(2899), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2dot_vssl
-        .{ .tag = @enumFromInt(2900), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst2dot_vssml
-        .{ .tag = @enumFromInt(2901), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst_vssl
-        .{ .tag = @enumFromInt(2902), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vst_vssml
-        .{ .tag = @enumFromInt(2903), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2d_vssl
-        .{ .tag = @enumFromInt(2904), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2d_vssml
-        .{ .tag = @enumFromInt(2905), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2dnc_vssl
-        .{ .tag = @enumFromInt(2906), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2dnc_vssml
-        .{ .tag = @enumFromInt(2907), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2dncot_vssl
-        .{ .tag = @enumFromInt(2908), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2dncot_vssml
-        .{ .tag = @enumFromInt(2909), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2dot_vssl
-        .{ .tag = @enumFromInt(2910), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl2dot_vssml
-        .{ .tag = @enumFromInt(2911), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl_vssl
-        .{ .tag = @enumFromInt(2912), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstl_vssml
-        .{ .tag = @enumFromInt(2913), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstlnc_vssl
-        .{ .tag = @enumFromInt(2914), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstlnc_vssml
-        .{ .tag = @enumFromInt(2915), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstlncot_vssl
-        .{ .tag = @enumFromInt(2916), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstlncot_vssml
-        .{ .tag = @enumFromInt(2917), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstlot_vssl
-        .{ .tag = @enumFromInt(2918), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstlot_vssml
-        .{ .tag = @enumFromInt(2919), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstnc_vssl
-        .{ .tag = @enumFromInt(2920), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstnc_vssml
-        .{ .tag = @enumFromInt(2921), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstncot_vssl
-        .{ .tag = @enumFromInt(2922), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstncot_vssml
-        .{ .tag = @enumFromInt(2923), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstot_vssl
-        .{ .tag = @enumFromInt(2924), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstot_vssml
-        .{ .tag = @enumFromInt(2925), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2d_vssl
-        .{ .tag = @enumFromInt(2926), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2d_vssml
-        .{ .tag = @enumFromInt(2927), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2dnc_vssl
-        .{ .tag = @enumFromInt(2928), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2dnc_vssml
-        .{ .tag = @enumFromInt(2929), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2dncot_vssl
-        .{ .tag = @enumFromInt(2930), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2dncot_vssml
-        .{ .tag = @enumFromInt(2931), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2dot_vssl
-        .{ .tag = @enumFromInt(2932), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu2dot_vssml
-        .{ .tag = @enumFromInt(2933), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu_vssl
-        .{ .tag = @enumFromInt(2934), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstu_vssml
-        .{ .tag = @enumFromInt(2935), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstunc_vssl
-        .{ .tag = @enumFromInt(2936), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstunc_vssml
-        .{ .tag = @enumFromInt(2937), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstuncot_vssl
-        .{ .tag = @enumFromInt(2938), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstuncot_vssml
-        .{ .tag = @enumFromInt(2939), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstuot_vssl
-        .{ .tag = @enumFromInt(2940), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vstuot_vssml
-        .{ .tag = @enumFromInt(2941), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubsl_vsvl
-        .{ .tag = @enumFromInt(2942), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubsl_vsvmvl
-        .{ .tag = @enumFromInt(2943), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubsl_vsvvl
-        .{ .tag = @enumFromInt(2944), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubsl_vvvl
-        .{ .tag = @enumFromInt(2945), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubsl_vvvmvl
-        .{ .tag = @enumFromInt(2946), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubsl_vvvvl
-        .{ .tag = @enumFromInt(2947), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswsx_vsvl
-        .{ .tag = @enumFromInt(2948), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswsx_vsvmvl
-        .{ .tag = @enumFromInt(2949), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswsx_vsvvl
-        .{ .tag = @enumFromInt(2950), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswsx_vvvl
-        .{ .tag = @enumFromInt(2951), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswsx_vvvmvl
-        .{ .tag = @enumFromInt(2952), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswsx_vvvvl
-        .{ .tag = @enumFromInt(2953), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswzx_vsvl
-        .{ .tag = @enumFromInt(2954), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswzx_vsvmvl
-        .{ .tag = @enumFromInt(2955), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswzx_vsvvl
-        .{ .tag = @enumFromInt(2956), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswzx_vvvl
-        .{ .tag = @enumFromInt(2957), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswzx_vvvmvl
-        .{ .tag = @enumFromInt(2958), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubswzx_vvvvl
-        .{ .tag = @enumFromInt(2959), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubul_vsvl
-        .{ .tag = @enumFromInt(2960), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubul_vsvmvl
-        .{ .tag = @enumFromInt(2961), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubul_vsvvl
-        .{ .tag = @enumFromInt(2962), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubul_vvvl
-        .{ .tag = @enumFromInt(2963), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubul_vvvmvl
-        .{ .tag = @enumFromInt(2964), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubul_vvvvl
-        .{ .tag = @enumFromInt(2965), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubuw_vsvl
-        .{ .tag = @enumFromInt(2966), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubuw_vsvmvl
-        .{ .tag = @enumFromInt(2967), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubuw_vsvvl
-        .{ .tag = @enumFromInt(2968), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubuw_vvvl
-        .{ .tag = @enumFromInt(2969), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubuw_vvvmvl
-        .{ .tag = @enumFromInt(2970), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsubuw_vvvvl
-        .{ .tag = @enumFromInt(2971), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsuml_vvl
-        .{ .tag = @enumFromInt(2972), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsuml_vvml
-        .{ .tag = @enumFromInt(2973), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsumwsx_vvl
-        .{ .tag = @enumFromInt(2974), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsumwsx_vvml
-        .{ .tag = @enumFromInt(2975), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsumwzx_vvl
-        .{ .tag = @enumFromInt(2976), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vsumwzx_vvml
-        .{ .tag = @enumFromInt(2977), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vxor_vsvl
-        .{ .tag = @enumFromInt(2978), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vxor_vsvmvl
-        .{ .tag = @enumFromInt(2979), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vxor_vsvvl
-        .{ .tag = @enumFromInt(2980), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vxor_vvvl
-        .{ .tag = @enumFromInt(2981), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vxor_vvvmvl
-        .{ .tag = @enumFromInt(2982), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_vxor_vvvvl
-        .{ .tag = @enumFromInt(2983), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_xorm_MMM
-        .{ .tag = @enumFromInt(2984), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_ve_vl_xorm_mmm
-        .{ .tag = @enumFromInt(2985), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
-        // __builtin_vfprintf
-        .{ .tag = @enumFromInt(2986), .param_str = "iP*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
-        // __builtin_vfscanf
-        .{ .tag = @enumFromInt(2987), .param_str = "iP*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
-        // __builtin_vprintf
-        .{ .tag = @enumFromInt(2988), .param_str = "icC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf } } },
-        // __builtin_vscanf
-        .{ .tag = @enumFromInt(2989), .param_str = "icC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf } } },
-        // __builtin_vsnprintf
-        .{ .tag = @enumFromInt(2990), .param_str = "ic*RzcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 2 } } },
-        // __builtin_vsprintf
-        .{ .tag = @enumFromInt(2991), .param_str = "ic*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
-        // __builtin_vsscanf
-        .{ .tag = @enumFromInt(2992), .param_str = "icC*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
-        // __builtin_wasm_max_f32
-        .{ .tag = @enumFromInt(2993), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_max_f64
-        .{ .tag = @enumFromInt(2994), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_memory_grow
-        .{ .tag = @enumFromInt(2995), .param_str = "zIiz", .properties = .{ .target_set = TargetSet.initOne(.webassembly) } },
-        // __builtin_wasm_memory_size
-        .{ .tag = @enumFromInt(2996), .param_str = "zIi", .properties = .{ .target_set = TargetSet.initOne(.webassembly) } },
-        // __builtin_wasm_min_f32
-        .{ .tag = @enumFromInt(2997), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_min_f64
-        .{ .tag = @enumFromInt(2998), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_s_i32_f32
-        .{ .tag = @enumFromInt(2999), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_s_i32_f64
-        .{ .tag = @enumFromInt(3000), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_s_i64_f32
-        .{ .tag = @enumFromInt(3001), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_s_i64_f64
-        .{ .tag = @enumFromInt(3002), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_u_i32_f32
-        .{ .tag = @enumFromInt(3003), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_u_i32_f64
-        .{ .tag = @enumFromInt(3004), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_u_i64_f32
-        .{ .tag = @enumFromInt(3005), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wasm_trunc_u_i64_f64
-        .{ .tag = @enumFromInt(3006), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
-        // __builtin_wcschr
-        .{ .tag = @enumFromInt(3007), .param_str = "w*wC*w", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wcscmp
-        .{ .tag = @enumFromInt(3008), .param_str = "iwC*wC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wcslen
-        .{ .tag = @enumFromInt(3009), .param_str = "zwC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wcsncmp
-        .{ .tag = @enumFromInt(3010), .param_str = "iwC*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wmemchr
-        .{ .tag = @enumFromInt(3011), .param_str = "w*wC*wz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wmemcmp
-        .{ .tag = @enumFromInt(3012), .param_str = "iwC*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wmemcpy
-        .{ .tag = @enumFromInt(3013), .param_str = "w*w*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __builtin_wmemmove
-        .{ .tag = @enumFromInt(3014), .param_str = "w*w*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
-        // __c11_atomic_is_lock_free
-        .{ .tag = @enumFromInt(3015), .param_str = "bz", .properties = .{ .attributes = .{ .const_evaluable = true } } },
-        // __c11_atomic_signal_fence
-        .{ .tag = @enumFromInt(3016), .param_str = "vi", .properties = .{} },
-        // __c11_atomic_thread_fence
-        .{ .tag = @enumFromInt(3017), .param_str = "vi", .properties = .{} },
-        // __clear_cache
-        .{ .tag = @enumFromInt(3018), .param_str = "vv*v*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __cospi
-        .{ .tag = @enumFromInt(3019), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __cospif
-        .{ .tag = @enumFromInt(3020), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __debugbreak
-        .{ .tag = @enumFromInt(3021), .param_str = "v", .properties = .{ .language = .all_ms_languages } },
-        // __dmb
-        .{ .tag = @enumFromInt(3022), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __dsb
-        .{ .tag = @enumFromInt(3023), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __emit
-        .{ .tag = @enumFromInt(3024), .param_str = "vIUiC", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
-        // __exception_code
-        .{ .tag = @enumFromInt(3025), .param_str = "UNi", .properties = .{ .language = .all_ms_languages } },
-        // __exception_info
-        .{ .tag = @enumFromInt(3026), .param_str = "v*", .properties = .{ .language = .all_ms_languages } },
-        // __exp10
-        .{ .tag = @enumFromInt(3027), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __exp10f
-        .{ .tag = @enumFromInt(3028), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __fastfail
-        .{ .tag = @enumFromInt(3029), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .noreturn = true } } },
-        // __finite
-        .{ .tag = @enumFromInt(3030), .param_str = "id", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // __finitef
-        .{ .tag = @enumFromInt(3031), .param_str = "if", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // __finitel
-        .{ .tag = @enumFromInt(3032), .param_str = "iLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // __isb
-        .{ .tag = @enumFromInt(3033), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
-        // __iso_volatile_load16
-        .{ .tag = @enumFromInt(3034), .param_str = "ssCD*", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_load32
-        .{ .tag = @enumFromInt(3035), .param_str = "iiCD*", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_load64
-        .{ .tag = @enumFromInt(3036), .param_str = "LLiLLiCD*", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_load8
-        .{ .tag = @enumFromInt(3037), .param_str = "ccCD*", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_store16
-        .{ .tag = @enumFromInt(3038), .param_str = "vsD*s", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_store32
-        .{ .tag = @enumFromInt(3039), .param_str = "viD*i", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_store64
-        .{ .tag = @enumFromInt(3040), .param_str = "vLLiD*LLi", .properties = .{ .language = .all_ms_languages } },
-        // __iso_volatile_store8
-        .{ .tag = @enumFromInt(3041), .param_str = "vcD*c", .properties = .{ .language = .all_ms_languages } },
-        // __ldrexd
-        .{ .tag = @enumFromInt(3042), .param_str = "WiWiCD*", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
-        // __lzcnt
-        .{ .tag = @enumFromInt(3043), .param_str = "UiUi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __lzcnt16
-        .{ .tag = @enumFromInt(3044), .param_str = "UsUs", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __lzcnt64
-        .{ .tag = @enumFromInt(3045), .param_str = "UWiUWi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __noop
-        .{ .tag = @enumFromInt(3046), .param_str = "i.", .properties = .{ .language = .all_ms_languages } },
-        // __nvvm_add_rm_d
-        .{ .tag = @enumFromInt(3047), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rm_f
-        .{ .tag = @enumFromInt(3048), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rm_ftz_f
-        .{ .tag = @enumFromInt(3049), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rn_d
-        .{ .tag = @enumFromInt(3050), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rn_f
-        .{ .tag = @enumFromInt(3051), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rn_ftz_f
-        .{ .tag = @enumFromInt(3052), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rp_d
-        .{ .tag = @enumFromInt(3053), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rp_f
-        .{ .tag = @enumFromInt(3054), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rp_ftz_f
-        .{ .tag = @enumFromInt(3055), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rz_d
-        .{ .tag = @enumFromInt(3056), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rz_f
-        .{ .tag = @enumFromInt(3057), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_add_rz_ftz_f
-        .{ .tag = @enumFromInt(3058), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_add_gen_f
-        .{ .tag = @enumFromInt(3059), .param_str = "ffD*f", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_add_gen_i
-        .{ .tag = @enumFromInt(3060), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_add_gen_l
-        .{ .tag = @enumFromInt(3061), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_add_gen_ll
-        .{ .tag = @enumFromInt(3062), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_and_gen_i
-        .{ .tag = @enumFromInt(3063), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_and_gen_l
-        .{ .tag = @enumFromInt(3064), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_and_gen_ll
-        .{ .tag = @enumFromInt(3065), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_cas_gen_i
-        .{ .tag = @enumFromInt(3066), .param_str = "iiD*ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_cas_gen_l
-        .{ .tag = @enumFromInt(3067), .param_str = "LiLiD*LiLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_cas_gen_ll
-        .{ .tag = @enumFromInt(3068), .param_str = "LLiLLiD*LLiLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_dec_gen_ui
-        .{ .tag = @enumFromInt(3069), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_inc_gen_ui
-        .{ .tag = @enumFromInt(3070), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_max_gen_i
-        .{ .tag = @enumFromInt(3071), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_max_gen_l
-        .{ .tag = @enumFromInt(3072), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_max_gen_ll
-        .{ .tag = @enumFromInt(3073), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_max_gen_ui
-        .{ .tag = @enumFromInt(3074), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_max_gen_ul
-        .{ .tag = @enumFromInt(3075), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_max_gen_ull
-        .{ .tag = @enumFromInt(3076), .param_str = "ULLiULLiD*ULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_min_gen_i
-        .{ .tag = @enumFromInt(3077), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_min_gen_l
-        .{ .tag = @enumFromInt(3078), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_min_gen_ll
-        .{ .tag = @enumFromInt(3079), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_min_gen_ui
-        .{ .tag = @enumFromInt(3080), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_min_gen_ul
-        .{ .tag = @enumFromInt(3081), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_min_gen_ull
-        .{ .tag = @enumFromInt(3082), .param_str = "ULLiULLiD*ULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_or_gen_i
-        .{ .tag = @enumFromInt(3083), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_or_gen_l
-        .{ .tag = @enumFromInt(3084), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_or_gen_ll
-        .{ .tag = @enumFromInt(3085), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_sub_gen_i
-        .{ .tag = @enumFromInt(3086), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_sub_gen_l
-        .{ .tag = @enumFromInt(3087), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_sub_gen_ll
-        .{ .tag = @enumFromInt(3088), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_xchg_gen_i
-        .{ .tag = @enumFromInt(3089), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_xchg_gen_l
-        .{ .tag = @enumFromInt(3090), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_xchg_gen_ll
-        .{ .tag = @enumFromInt(3091), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_xor_gen_i
-        .{ .tag = @enumFromInt(3092), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_xor_gen_l
-        .{ .tag = @enumFromInt(3093), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_atom_xor_gen_ll
-        .{ .tag = @enumFromInt(3094), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bar0_and
-        .{ .tag = @enumFromInt(3095), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bar0_or
-        .{ .tag = @enumFromInt(3096), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bar0_popc
-        .{ .tag = @enumFromInt(3097), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bar_sync
-        .{ .tag = @enumFromInt(3098), .param_str = "vi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bitcast_d2ll
-        .{ .tag = @enumFromInt(3099), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bitcast_f2i
-        .{ .tag = @enumFromInt(3100), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bitcast_i2f
-        .{ .tag = @enumFromInt(3101), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_bitcast_ll2d
-        .{ .tag = @enumFromInt(3102), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ceil_d
-        .{ .tag = @enumFromInt(3103), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ceil_f
-        .{ .tag = @enumFromInt(3104), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ceil_ftz_f
-        .{ .tag = @enumFromInt(3105), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_compiler_error
-        .{ .tag = @enumFromInt(3106), .param_str = "vcC*4", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_compiler_warn
-        .{ .tag = @enumFromInt(3107), .param_str = "vcC*4", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_cos_approx_f
-        .{ .tag = @enumFromInt(3108), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_cos_approx_ftz_f
-        .{ .tag = @enumFromInt(3109), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rm
-        .{ .tag = @enumFromInt(3110), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rm_ftz
-        .{ .tag = @enumFromInt(3111), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rn
-        .{ .tag = @enumFromInt(3112), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rn_ftz
-        .{ .tag = @enumFromInt(3113), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rp
-        .{ .tag = @enumFromInt(3114), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rp_ftz
-        .{ .tag = @enumFromInt(3115), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rz
-        .{ .tag = @enumFromInt(3116), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2f_rz_ftz
-        .{ .tag = @enumFromInt(3117), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2i_hi
-        .{ .tag = @enumFromInt(3118), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2i_lo
-        .{ .tag = @enumFromInt(3119), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2i_rm
-        .{ .tag = @enumFromInt(3120), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2i_rn
-        .{ .tag = @enumFromInt(3121), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2i_rp
-        .{ .tag = @enumFromInt(3122), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2i_rz
-        .{ .tag = @enumFromInt(3123), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ll_rm
-        .{ .tag = @enumFromInt(3124), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ll_rn
-        .{ .tag = @enumFromInt(3125), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ll_rp
-        .{ .tag = @enumFromInt(3126), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ll_rz
-        .{ .tag = @enumFromInt(3127), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ui_rm
-        .{ .tag = @enumFromInt(3128), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ui_rn
-        .{ .tag = @enumFromInt(3129), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ui_rp
-        .{ .tag = @enumFromInt(3130), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ui_rz
-        .{ .tag = @enumFromInt(3131), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ull_rm
-        .{ .tag = @enumFromInt(3132), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ull_rn
-        .{ .tag = @enumFromInt(3133), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ull_rp
-        .{ .tag = @enumFromInt(3134), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_d2ull_rz
-        .{ .tag = @enumFromInt(3135), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_approx_f
-        .{ .tag = @enumFromInt(3136), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_approx_ftz_f
-        .{ .tag = @enumFromInt(3137), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rm_d
-        .{ .tag = @enumFromInt(3138), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rm_f
-        .{ .tag = @enumFromInt(3139), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rm_ftz_f
-        .{ .tag = @enumFromInt(3140), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rn_d
-        .{ .tag = @enumFromInt(3141), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rn_f
-        .{ .tag = @enumFromInt(3142), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rn_ftz_f
-        .{ .tag = @enumFromInt(3143), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rp_d
-        .{ .tag = @enumFromInt(3144), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rp_f
-        .{ .tag = @enumFromInt(3145), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rp_ftz_f
-        .{ .tag = @enumFromInt(3146), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rz_d
-        .{ .tag = @enumFromInt(3147), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rz_f
-        .{ .tag = @enumFromInt(3148), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_div_rz_ftz_f
-        .{ .tag = @enumFromInt(3149), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ex2_approx_d
-        .{ .tag = @enumFromInt(3150), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ex2_approx_f
-        .{ .tag = @enumFromInt(3151), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ex2_approx_ftz_f
-        .{ .tag = @enumFromInt(3152), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2h_rn
-        .{ .tag = @enumFromInt(3153), .param_str = "Usf", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2h_rn_ftz
-        .{ .tag = @enumFromInt(3154), .param_str = "Usf", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rm
-        .{ .tag = @enumFromInt(3155), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rm_ftz
-        .{ .tag = @enumFromInt(3156), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rn
-        .{ .tag = @enumFromInt(3157), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rn_ftz
-        .{ .tag = @enumFromInt(3158), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rp
-        .{ .tag = @enumFromInt(3159), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rp_ftz
-        .{ .tag = @enumFromInt(3160), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rz
-        .{ .tag = @enumFromInt(3161), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2i_rz_ftz
-        .{ .tag = @enumFromInt(3162), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rm
-        .{ .tag = @enumFromInt(3163), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rm_ftz
-        .{ .tag = @enumFromInt(3164), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rn
-        .{ .tag = @enumFromInt(3165), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rn_ftz
-        .{ .tag = @enumFromInt(3166), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rp
-        .{ .tag = @enumFromInt(3167), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rp_ftz
-        .{ .tag = @enumFromInt(3168), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rz
-        .{ .tag = @enumFromInt(3169), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ll_rz_ftz
-        .{ .tag = @enumFromInt(3170), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rm
-        .{ .tag = @enumFromInt(3171), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rm_ftz
-        .{ .tag = @enumFromInt(3172), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rn
-        .{ .tag = @enumFromInt(3173), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rn_ftz
-        .{ .tag = @enumFromInt(3174), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rp
-        .{ .tag = @enumFromInt(3175), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rp_ftz
-        .{ .tag = @enumFromInt(3176), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rz
-        .{ .tag = @enumFromInt(3177), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ui_rz_ftz
-        .{ .tag = @enumFromInt(3178), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rm
-        .{ .tag = @enumFromInt(3179), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rm_ftz
-        .{ .tag = @enumFromInt(3180), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rn
-        .{ .tag = @enumFromInt(3181), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rn_ftz
-        .{ .tag = @enumFromInt(3182), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rp
-        .{ .tag = @enumFromInt(3183), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rp_ftz
-        .{ .tag = @enumFromInt(3184), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rz
-        .{ .tag = @enumFromInt(3185), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_f2ull_rz_ftz
-        .{ .tag = @enumFromInt(3186), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fabs_d
-        .{ .tag = @enumFromInt(3187), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fabs_f
-        .{ .tag = @enumFromInt(3188), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fabs_ftz_f
-        .{ .tag = @enumFromInt(3189), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_floor_d
-        .{ .tag = @enumFromInt(3190), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_floor_f
-        .{ .tag = @enumFromInt(3191), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_floor_ftz_f
-        .{ .tag = @enumFromInt(3192), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rm_d
-        .{ .tag = @enumFromInt(3193), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rm_f
-        .{ .tag = @enumFromInt(3194), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rm_ftz_f
-        .{ .tag = @enumFromInt(3195), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rn_d
-        .{ .tag = @enumFromInt(3196), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rn_f
-        .{ .tag = @enumFromInt(3197), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rn_ftz_f
-        .{ .tag = @enumFromInt(3198), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rp_d
-        .{ .tag = @enumFromInt(3199), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rp_f
-        .{ .tag = @enumFromInt(3200), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rp_ftz_f
-        .{ .tag = @enumFromInt(3201), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rz_d
-        .{ .tag = @enumFromInt(3202), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rz_f
-        .{ .tag = @enumFromInt(3203), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fma_rz_ftz_f
-        .{ .tag = @enumFromInt(3204), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fmax_d
-        .{ .tag = @enumFromInt(3205), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fmax_f
-        .{ .tag = @enumFromInt(3206), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fmax_ftz_f
-        .{ .tag = @enumFromInt(3207), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fmin_d
-        .{ .tag = @enumFromInt(3208), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fmin_f
-        .{ .tag = @enumFromInt(3209), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_fmin_ftz_f
-        .{ .tag = @enumFromInt(3210), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2d_rm
-        .{ .tag = @enumFromInt(3211), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2d_rn
-        .{ .tag = @enumFromInt(3212), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2d_rp
-        .{ .tag = @enumFromInt(3213), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2d_rz
-        .{ .tag = @enumFromInt(3214), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2f_rm
-        .{ .tag = @enumFromInt(3215), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2f_rn
-        .{ .tag = @enumFromInt(3216), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2f_rp
-        .{ .tag = @enumFromInt(3217), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_i2f_rz
-        .{ .tag = @enumFromInt(3218), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_isspacep_const
-        .{ .tag = @enumFromInt(3219), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_isspacep_global
-        .{ .tag = @enumFromInt(3220), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_isspacep_local
-        .{ .tag = @enumFromInt(3221), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_isspacep_shared
-        .{ .tag = @enumFromInt(3222), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_ldg_c
-        .{ .tag = @enumFromInt(3223), .param_str = "ccC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_c2
-        .{ .tag = @enumFromInt(3224), .param_str = "E2cE2cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_c4
-        .{ .tag = @enumFromInt(3225), .param_str = "E4cE4cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_d
-        .{ .tag = @enumFromInt(3226), .param_str = "ddC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_d2
-        .{ .tag = @enumFromInt(3227), .param_str = "E2dE2dC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_f
-        .{ .tag = @enumFromInt(3228), .param_str = "ffC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_f2
-        .{ .tag = @enumFromInt(3229), .param_str = "E2fE2fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_f4
-        .{ .tag = @enumFromInt(3230), .param_str = "E4fE4fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_h
-        .{ .tag = @enumFromInt(3231), .param_str = "hhC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_h2
-        .{ .tag = @enumFromInt(3232), .param_str = "E2hE2hC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_i
-        .{ .tag = @enumFromInt(3233), .param_str = "iiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_i2
-        .{ .tag = @enumFromInt(3234), .param_str = "E2iE2iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_i4
-        .{ .tag = @enumFromInt(3235), .param_str = "E4iE4iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_l
-        .{ .tag = @enumFromInt(3236), .param_str = "LiLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_l2
-        .{ .tag = @enumFromInt(3237), .param_str = "E2LiE2LiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ll
-        .{ .tag = @enumFromInt(3238), .param_str = "LLiLLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ll2
-        .{ .tag = @enumFromInt(3239), .param_str = "E2LLiE2LLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_s
-        .{ .tag = @enumFromInt(3240), .param_str = "ssC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_s2
-        .{ .tag = @enumFromInt(3241), .param_str = "E2sE2sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_s4
-        .{ .tag = @enumFromInt(3242), .param_str = "E4sE4sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_sc
-        .{ .tag = @enumFromInt(3243), .param_str = "ScScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_sc2
-        .{ .tag = @enumFromInt(3244), .param_str = "E2ScE2ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_sc4
-        .{ .tag = @enumFromInt(3245), .param_str = "E4ScE4ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_uc
-        .{ .tag = @enumFromInt(3246), .param_str = "UcUcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_uc2
-        .{ .tag = @enumFromInt(3247), .param_str = "E2UcE2UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_uc4
-        .{ .tag = @enumFromInt(3248), .param_str = "E4UcE4UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ui
-        .{ .tag = @enumFromInt(3249), .param_str = "UiUiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ui2
-        .{ .tag = @enumFromInt(3250), .param_str = "E2UiE2UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ui4
-        .{ .tag = @enumFromInt(3251), .param_str = "E4UiE4UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ul
-        .{ .tag = @enumFromInt(3252), .param_str = "ULiULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ul2
-        .{ .tag = @enumFromInt(3253), .param_str = "E2ULiE2ULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ull
-        .{ .tag = @enumFromInt(3254), .param_str = "ULLiULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_ull2
-        .{ .tag = @enumFromInt(3255), .param_str = "E2ULLiE2ULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_us
-        .{ .tag = @enumFromInt(3256), .param_str = "UsUsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_us2
-        .{ .tag = @enumFromInt(3257), .param_str = "E2UsE2UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldg_us4
-        .{ .tag = @enumFromInt(3258), .param_str = "E4UsE4UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_c
-        .{ .tag = @enumFromInt(3259), .param_str = "ccC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_c2
-        .{ .tag = @enumFromInt(3260), .param_str = "E2cE2cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_c4
-        .{ .tag = @enumFromInt(3261), .param_str = "E4cE4cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_d
-        .{ .tag = @enumFromInt(3262), .param_str = "ddC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_d2
-        .{ .tag = @enumFromInt(3263), .param_str = "E2dE2dC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_f
-        .{ .tag = @enumFromInt(3264), .param_str = "ffC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_f2
-        .{ .tag = @enumFromInt(3265), .param_str = "E2fE2fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_f4
-        .{ .tag = @enumFromInt(3266), .param_str = "E4fE4fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_h
-        .{ .tag = @enumFromInt(3267), .param_str = "hhC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_h2
-        .{ .tag = @enumFromInt(3268), .param_str = "E2hE2hC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_i
-        .{ .tag = @enumFromInt(3269), .param_str = "iiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_i2
-        .{ .tag = @enumFromInt(3270), .param_str = "E2iE2iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_i4
-        .{ .tag = @enumFromInt(3271), .param_str = "E4iE4iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_l
-        .{ .tag = @enumFromInt(3272), .param_str = "LiLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_l2
-        .{ .tag = @enumFromInt(3273), .param_str = "E2LiE2LiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ll
-        .{ .tag = @enumFromInt(3274), .param_str = "LLiLLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ll2
-        .{ .tag = @enumFromInt(3275), .param_str = "E2LLiE2LLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_s
-        .{ .tag = @enumFromInt(3276), .param_str = "ssC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_s2
-        .{ .tag = @enumFromInt(3277), .param_str = "E2sE2sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_s4
-        .{ .tag = @enumFromInt(3278), .param_str = "E4sE4sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_sc
-        .{ .tag = @enumFromInt(3279), .param_str = "ScScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_sc2
-        .{ .tag = @enumFromInt(3280), .param_str = "E2ScE2ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_sc4
-        .{ .tag = @enumFromInt(3281), .param_str = "E4ScE4ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_uc
-        .{ .tag = @enumFromInt(3282), .param_str = "UcUcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_uc2
-        .{ .tag = @enumFromInt(3283), .param_str = "E2UcE2UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_uc4
-        .{ .tag = @enumFromInt(3284), .param_str = "E4UcE4UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ui
-        .{ .tag = @enumFromInt(3285), .param_str = "UiUiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ui2
-        .{ .tag = @enumFromInt(3286), .param_str = "E2UiE2UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ui4
-        .{ .tag = @enumFromInt(3287), .param_str = "E4UiE4UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ul
-        .{ .tag = @enumFromInt(3288), .param_str = "ULiULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ul2
-        .{ .tag = @enumFromInt(3289), .param_str = "E2ULiE2ULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ull
-        .{ .tag = @enumFromInt(3290), .param_str = "ULLiULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_ull2
-        .{ .tag = @enumFromInt(3291), .param_str = "E2ULLiE2ULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_us
-        .{ .tag = @enumFromInt(3292), .param_str = "UsUsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_us2
-        .{ .tag = @enumFromInt(3293), .param_str = "E2UsE2UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ldu_us4
-        .{ .tag = @enumFromInt(3294), .param_str = "E4UsE4UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_lg2_approx_d
-        .{ .tag = @enumFromInt(3295), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_lg2_approx_f
-        .{ .tag = @enumFromInt(3296), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_lg2_approx_ftz_f
-        .{ .tag = @enumFromInt(3297), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2d_rm
-        .{ .tag = @enumFromInt(3298), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2d_rn
-        .{ .tag = @enumFromInt(3299), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2d_rp
-        .{ .tag = @enumFromInt(3300), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2d_rz
-        .{ .tag = @enumFromInt(3301), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2f_rm
-        .{ .tag = @enumFromInt(3302), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2f_rn
-        .{ .tag = @enumFromInt(3303), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2f_rp
-        .{ .tag = @enumFromInt(3304), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ll2f_rz
-        .{ .tag = @enumFromInt(3305), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_lohi_i2d
-        .{ .tag = @enumFromInt(3306), .param_str = "dii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_membar_cta
-        .{ .tag = @enumFromInt(3307), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_membar_gl
-        .{ .tag = @enumFromInt(3308), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_membar_sys
-        .{ .tag = @enumFromInt(3309), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_memcpy
-        .{ .tag = @enumFromInt(3310), .param_str = "vUc*Uc*zi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_memset
-        .{ .tag = @enumFromInt(3311), .param_str = "vUc*Uczi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul24_i
-        .{ .tag = @enumFromInt(3312), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul24_ui
-        .{ .tag = @enumFromInt(3313), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rm_d
-        .{ .tag = @enumFromInt(3314), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rm_f
-        .{ .tag = @enumFromInt(3315), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rm_ftz_f
-        .{ .tag = @enumFromInt(3316), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rn_d
-        .{ .tag = @enumFromInt(3317), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rn_f
-        .{ .tag = @enumFromInt(3318), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rn_ftz_f
-        .{ .tag = @enumFromInt(3319), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rp_d
-        .{ .tag = @enumFromInt(3320), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rp_f
-        .{ .tag = @enumFromInt(3321), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rp_ftz_f
-        .{ .tag = @enumFromInt(3322), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rz_d
-        .{ .tag = @enumFromInt(3323), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rz_f
-        .{ .tag = @enumFromInt(3324), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mul_rz_ftz_f
-        .{ .tag = @enumFromInt(3325), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mulhi_i
-        .{ .tag = @enumFromInt(3326), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mulhi_ll
-        .{ .tag = @enumFromInt(3327), .param_str = "LLiLLiLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mulhi_ui
-        .{ .tag = @enumFromInt(3328), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_mulhi_ull
-        .{ .tag = @enumFromInt(3329), .param_str = "ULLiULLiULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_prmt
-        .{ .tag = @enumFromInt(3330), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_approx_ftz_d
-        .{ .tag = @enumFromInt(3331), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_approx_ftz_f
-        .{ .tag = @enumFromInt(3332), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rm_d
-        .{ .tag = @enumFromInt(3333), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rm_f
-        .{ .tag = @enumFromInt(3334), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rm_ftz_f
-        .{ .tag = @enumFromInt(3335), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rn_d
-        .{ .tag = @enumFromInt(3336), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rn_f
-        .{ .tag = @enumFromInt(3337), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rn_ftz_f
-        .{ .tag = @enumFromInt(3338), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rp_d
-        .{ .tag = @enumFromInt(3339), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rp_f
-        .{ .tag = @enumFromInt(3340), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rp_ftz_f
-        .{ .tag = @enumFromInt(3341), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rz_d
-        .{ .tag = @enumFromInt(3342), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rz_f
-        .{ .tag = @enumFromInt(3343), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rcp_rz_ftz_f
-        .{ .tag = @enumFromInt(3344), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_clock
-        .{ .tag = @enumFromInt(3345), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_clock64
-        .{ .tag = @enumFromInt(3346), .param_str = "LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_ctaid_w
-        .{ .tag = @enumFromInt(3347), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ctaid_x
-        .{ .tag = @enumFromInt(3348), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ctaid_y
-        .{ .tag = @enumFromInt(3349), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ctaid_z
-        .{ .tag = @enumFromInt(3350), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_gridid
-        .{ .tag = @enumFromInt(3351), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_laneid
-        .{ .tag = @enumFromInt(3352), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_lanemask_eq
-        .{ .tag = @enumFromInt(3353), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_lanemask_ge
-        .{ .tag = @enumFromInt(3354), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_lanemask_gt
-        .{ .tag = @enumFromInt(3355), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_lanemask_le
-        .{ .tag = @enumFromInt(3356), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_lanemask_lt
-        .{ .tag = @enumFromInt(3357), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_nctaid_w
-        .{ .tag = @enumFromInt(3358), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_nctaid_x
-        .{ .tag = @enumFromInt(3359), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_nctaid_y
-        .{ .tag = @enumFromInt(3360), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_nctaid_z
-        .{ .tag = @enumFromInt(3361), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_nsmid
-        .{ .tag = @enumFromInt(3362), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ntid_w
-        .{ .tag = @enumFromInt(3363), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ntid_x
-        .{ .tag = @enumFromInt(3364), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ntid_y
-        .{ .tag = @enumFromInt(3365), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_ntid_z
-        .{ .tag = @enumFromInt(3366), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_nwarpid
-        .{ .tag = @enumFromInt(3367), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_pm0
-        .{ .tag = @enumFromInt(3368), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_pm1
-        .{ .tag = @enumFromInt(3369), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_pm2
-        .{ .tag = @enumFromInt(3370), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_pm3
-        .{ .tag = @enumFromInt(3371), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_read_ptx_sreg_smid
-        .{ .tag = @enumFromInt(3372), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_tid_w
-        .{ .tag = @enumFromInt(3373), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_tid_x
-        .{ .tag = @enumFromInt(3374), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_tid_y
-        .{ .tag = @enumFromInt(3375), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_tid_z
-        .{ .tag = @enumFromInt(3376), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_read_ptx_sreg_warpid
-        .{ .tag = @enumFromInt(3377), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
-        // __nvvm_round_d
-        .{ .tag = @enumFromInt(3378), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_round_f
-        .{ .tag = @enumFromInt(3379), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_round_ftz_f
-        .{ .tag = @enumFromInt(3380), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rsqrt_approx_d
-        .{ .tag = @enumFromInt(3381), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rsqrt_approx_f
-        .{ .tag = @enumFromInt(3382), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_rsqrt_approx_ftz_f
-        .{ .tag = @enumFromInt(3383), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sad_i
-        .{ .tag = @enumFromInt(3384), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sad_ui
-        .{ .tag = @enumFromInt(3385), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_saturate_d
-        .{ .tag = @enumFromInt(3386), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_saturate_f
-        .{ .tag = @enumFromInt(3387), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_saturate_ftz_f
-        .{ .tag = @enumFromInt(3388), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_bfly_f32
-        .{ .tag = @enumFromInt(3389), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_bfly_i32
-        .{ .tag = @enumFromInt(3390), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_down_f32
-        .{ .tag = @enumFromInt(3391), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_down_i32
-        .{ .tag = @enumFromInt(3392), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_idx_f32
-        .{ .tag = @enumFromInt(3393), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_idx_i32
-        .{ .tag = @enumFromInt(3394), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_up_f32
-        .{ .tag = @enumFromInt(3395), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_shfl_up_i32
-        .{ .tag = @enumFromInt(3396), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sin_approx_f
-        .{ .tag = @enumFromInt(3397), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sin_approx_ftz_f
-        .{ .tag = @enumFromInt(3398), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_approx_f
-        .{ .tag = @enumFromInt(3399), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_approx_ftz_f
-        .{ .tag = @enumFromInt(3400), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rm_d
-        .{ .tag = @enumFromInt(3401), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rm_f
-        .{ .tag = @enumFromInt(3402), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rm_ftz_f
-        .{ .tag = @enumFromInt(3403), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rn_d
-        .{ .tag = @enumFromInt(3404), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rn_f
-        .{ .tag = @enumFromInt(3405), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rn_ftz_f
-        .{ .tag = @enumFromInt(3406), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rp_d
-        .{ .tag = @enumFromInt(3407), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rp_f
-        .{ .tag = @enumFromInt(3408), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rp_ftz_f
-        .{ .tag = @enumFromInt(3409), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rz_d
-        .{ .tag = @enumFromInt(3410), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rz_f
-        .{ .tag = @enumFromInt(3411), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_sqrt_rz_ftz_f
-        .{ .tag = @enumFromInt(3412), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_trunc_d
-        .{ .tag = @enumFromInt(3413), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_trunc_f
-        .{ .tag = @enumFromInt(3414), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_trunc_ftz_f
-        .{ .tag = @enumFromInt(3415), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2d_rm
-        .{ .tag = @enumFromInt(3416), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2d_rn
-        .{ .tag = @enumFromInt(3417), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2d_rp
-        .{ .tag = @enumFromInt(3418), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2d_rz
-        .{ .tag = @enumFromInt(3419), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2f_rm
-        .{ .tag = @enumFromInt(3420), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2f_rn
-        .{ .tag = @enumFromInt(3421), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2f_rp
-        .{ .tag = @enumFromInt(3422), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ui2f_rz
-        .{ .tag = @enumFromInt(3423), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2d_rm
-        .{ .tag = @enumFromInt(3424), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2d_rn
-        .{ .tag = @enumFromInt(3425), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2d_rp
-        .{ .tag = @enumFromInt(3426), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2d_rz
-        .{ .tag = @enumFromInt(3427), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2f_rm
-        .{ .tag = @enumFromInt(3428), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2f_rn
-        .{ .tag = @enumFromInt(3429), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2f_rp
-        .{ .tag = @enumFromInt(3430), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_ull2f_rz
-        .{ .tag = @enumFromInt(3431), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_vote_all
-        .{ .tag = @enumFromInt(3432), .param_str = "bb", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_vote_any
-        .{ .tag = @enumFromInt(3433), .param_str = "bb", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_vote_ballot
-        .{ .tag = @enumFromInt(3434), .param_str = "Uib", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __nvvm_vote_uni
-        .{ .tag = @enumFromInt(3435), .param_str = "bb", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __popcnt
-        .{ .tag = @enumFromInt(3436), .param_str = "UiUi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __popcnt16
-        .{ .tag = @enumFromInt(3437), .param_str = "UsUs", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __popcnt64
-        .{ .tag = @enumFromInt(3438), .param_str = "UWiUWi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
-        // __rdtsc
-        .{ .tag = @enumFromInt(3439), .param_str = "UOi", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
-        // __sev
-        .{ .tag = @enumFromInt(3440), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __sevl
-        .{ .tag = @enumFromInt(3441), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __sigsetjmp
-        .{ .tag = @enumFromInt(3442), .param_str = "iSJi", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // __sinpi
-        .{ .tag = @enumFromInt(3443), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __sinpif
-        .{ .tag = @enumFromInt(3444), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __sync_add_and_fetch
-        .{ .tag = @enumFromInt(3445), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_add_and_fetch_1
-        .{ .tag = @enumFromInt(3446), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_add_and_fetch_16
-        .{ .tag = @enumFromInt(3447), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_add_and_fetch_2
-        .{ .tag = @enumFromInt(3448), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_add_and_fetch_4
-        .{ .tag = @enumFromInt(3449), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_add_and_fetch_8
-        .{ .tag = @enumFromInt(3450), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_and_and_fetch
-        .{ .tag = @enumFromInt(3451), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_and_and_fetch_1
-        .{ .tag = @enumFromInt(3452), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_and_and_fetch_16
-        .{ .tag = @enumFromInt(3453), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_and_and_fetch_2
-        .{ .tag = @enumFromInt(3454), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_and_and_fetch_4
-        .{ .tag = @enumFromInt(3455), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_and_and_fetch_8
-        .{ .tag = @enumFromInt(3456), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_bool_compare_and_swap
-        .{ .tag = @enumFromInt(3457), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_bool_compare_and_swap_1
-        .{ .tag = @enumFromInt(3458), .param_str = "bcD*cc.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_bool_compare_and_swap_16
-        .{ .tag = @enumFromInt(3459), .param_str = "bLLLiD*LLLiLLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_bool_compare_and_swap_2
-        .{ .tag = @enumFromInt(3460), .param_str = "bsD*ss.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_bool_compare_and_swap_4
-        .{ .tag = @enumFromInt(3461), .param_str = "biD*ii.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_bool_compare_and_swap_8
-        .{ .tag = @enumFromInt(3462), .param_str = "bLLiD*LLiLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_add
-        .{ .tag = @enumFromInt(3463), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_add_1
-        .{ .tag = @enumFromInt(3464), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_add_16
-        .{ .tag = @enumFromInt(3465), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_add_2
-        .{ .tag = @enumFromInt(3466), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_add_4
-        .{ .tag = @enumFromInt(3467), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_add_8
-        .{ .tag = @enumFromInt(3468), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_and
-        .{ .tag = @enumFromInt(3469), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_and_1
-        .{ .tag = @enumFromInt(3470), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_and_16
-        .{ .tag = @enumFromInt(3471), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_and_2
-        .{ .tag = @enumFromInt(3472), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_and_4
-        .{ .tag = @enumFromInt(3473), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_and_8
-        .{ .tag = @enumFromInt(3474), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_max
-        .{ .tag = @enumFromInt(3475), .param_str = "iiD*i", .properties = .{} },
-        // __sync_fetch_and_min
-        .{ .tag = @enumFromInt(3476), .param_str = "iiD*i", .properties = .{} },
-        // __sync_fetch_and_nand
-        .{ .tag = @enumFromInt(3477), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_nand_1
-        .{ .tag = @enumFromInt(3478), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_nand_16
-        .{ .tag = @enumFromInt(3479), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_nand_2
-        .{ .tag = @enumFromInt(3480), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_nand_4
-        .{ .tag = @enumFromInt(3481), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_nand_8
-        .{ .tag = @enumFromInt(3482), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_or
-        .{ .tag = @enumFromInt(3483), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_or_1
-        .{ .tag = @enumFromInt(3484), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_or_16
-        .{ .tag = @enumFromInt(3485), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_or_2
-        .{ .tag = @enumFromInt(3486), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_or_4
-        .{ .tag = @enumFromInt(3487), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_or_8
-        .{ .tag = @enumFromInt(3488), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_sub
-        .{ .tag = @enumFromInt(3489), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_sub_1
-        .{ .tag = @enumFromInt(3490), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_sub_16
-        .{ .tag = @enumFromInt(3491), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_sub_2
-        .{ .tag = @enumFromInt(3492), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_sub_4
-        .{ .tag = @enumFromInt(3493), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_sub_8
-        .{ .tag = @enumFromInt(3494), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_umax
-        .{ .tag = @enumFromInt(3495), .param_str = "UiUiD*Ui", .properties = .{} },
-        // __sync_fetch_and_umin
-        .{ .tag = @enumFromInt(3496), .param_str = "UiUiD*Ui", .properties = .{} },
-        // __sync_fetch_and_xor
-        .{ .tag = @enumFromInt(3497), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_xor_1
-        .{ .tag = @enumFromInt(3498), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_xor_16
-        .{ .tag = @enumFromInt(3499), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_xor_2
-        .{ .tag = @enumFromInt(3500), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_xor_4
-        .{ .tag = @enumFromInt(3501), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_fetch_and_xor_8
-        .{ .tag = @enumFromInt(3502), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_release
-        .{ .tag = @enumFromInt(3503), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_release_1
-        .{ .tag = @enumFromInt(3504), .param_str = "vcD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_release_16
-        .{ .tag = @enumFromInt(3505), .param_str = "vLLLiD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_release_2
-        .{ .tag = @enumFromInt(3506), .param_str = "vsD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_release_4
-        .{ .tag = @enumFromInt(3507), .param_str = "viD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_release_8
-        .{ .tag = @enumFromInt(3508), .param_str = "vLLiD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_test_and_set
-        .{ .tag = @enumFromInt(3509), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_test_and_set_1
-        .{ .tag = @enumFromInt(3510), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_test_and_set_16
-        .{ .tag = @enumFromInt(3511), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_test_and_set_2
-        .{ .tag = @enumFromInt(3512), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_test_and_set_4
-        .{ .tag = @enumFromInt(3513), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_lock_test_and_set_8
-        .{ .tag = @enumFromInt(3514), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_nand_and_fetch
-        .{ .tag = @enumFromInt(3515), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_nand_and_fetch_1
-        .{ .tag = @enumFromInt(3516), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_nand_and_fetch_16
-        .{ .tag = @enumFromInt(3517), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_nand_and_fetch_2
-        .{ .tag = @enumFromInt(3518), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_nand_and_fetch_4
-        .{ .tag = @enumFromInt(3519), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_nand_and_fetch_8
-        .{ .tag = @enumFromInt(3520), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_or_and_fetch
-        .{ .tag = @enumFromInt(3521), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_or_and_fetch_1
-        .{ .tag = @enumFromInt(3522), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_or_and_fetch_16
-        .{ .tag = @enumFromInt(3523), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_or_and_fetch_2
-        .{ .tag = @enumFromInt(3524), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_or_and_fetch_4
-        .{ .tag = @enumFromInt(3525), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_or_and_fetch_8
-        .{ .tag = @enumFromInt(3526), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_sub_and_fetch
-        .{ .tag = @enumFromInt(3527), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_sub_and_fetch_1
-        .{ .tag = @enumFromInt(3528), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_sub_and_fetch_16
-        .{ .tag = @enumFromInt(3529), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_sub_and_fetch_2
-        .{ .tag = @enumFromInt(3530), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_sub_and_fetch_4
-        .{ .tag = @enumFromInt(3531), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_sub_and_fetch_8
-        .{ .tag = @enumFromInt(3532), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_swap
-        .{ .tag = @enumFromInt(3533), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_swap_1
-        .{ .tag = @enumFromInt(3534), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_swap_16
-        .{ .tag = @enumFromInt(3535), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_swap_2
-        .{ .tag = @enumFromInt(3536), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_swap_4
-        .{ .tag = @enumFromInt(3537), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_swap_8
-        .{ .tag = @enumFromInt(3538), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_synchronize
-        .{ .tag = @enumFromInt(3539), .param_str = "v", .properties = .{} },
-        // __sync_val_compare_and_swap
-        .{ .tag = @enumFromInt(3540), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_val_compare_and_swap_1
-        .{ .tag = @enumFromInt(3541), .param_str = "ccD*cc.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_val_compare_and_swap_16
-        .{ .tag = @enumFromInt(3542), .param_str = "LLLiLLLiD*LLLiLLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_val_compare_and_swap_2
-        .{ .tag = @enumFromInt(3543), .param_str = "ssD*ss.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_val_compare_and_swap_4
-        .{ .tag = @enumFromInt(3544), .param_str = "iiD*ii.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_val_compare_and_swap_8
-        .{ .tag = @enumFromInt(3545), .param_str = "LLiLLiD*LLiLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_xor_and_fetch
-        .{ .tag = @enumFromInt(3546), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_xor_and_fetch_1
-        .{ .tag = @enumFromInt(3547), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_xor_and_fetch_16
-        .{ .tag = @enumFromInt(3548), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_xor_and_fetch_2
-        .{ .tag = @enumFromInt(3549), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_xor_and_fetch_4
-        .{ .tag = @enumFromInt(3550), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __sync_xor_and_fetch_8
-        .{ .tag = @enumFromInt(3551), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
-        // __syncthreads
-        .{ .tag = @enumFromInt(3552), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
-        // __tanpi
-        .{ .tag = @enumFromInt(3553), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __tanpif
-        .{ .tag = @enumFromInt(3554), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // __va_start
-        .{ .tag = @enumFromInt(3555), .param_str = "vc**.", .properties = .{ .language = .all_ms_languages, .attributes = .{ .custom_typecheck = true } } },
-        // __warn_memset_zero_len
-        .{ .tag = @enumFromInt(3556), .param_str = "v", .properties = .{ .attributes = .{ .pure = true } } },
-        // __wfe
-        .{ .tag = @enumFromInt(3557), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __wfi
-        .{ .tag = @enumFromInt(3558), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // __xray_customevent
-        .{ .tag = @enumFromInt(3559), .param_str = "vcC*z", .properties = .{} },
-        // __xray_typedevent
-        .{ .tag = @enumFromInt(3560), .param_str = "vzcC*z", .properties = .{} },
-        // __yield
-        .{ .tag = @enumFromInt(3561), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
-        // _abnormal_termination
-        .{ .tag = @enumFromInt(3562), .param_str = "i", .properties = .{ .language = .all_ms_languages } },
-        // _alloca
-        .{ .tag = @enumFromInt(3563), .param_str = "v*z", .properties = .{ .language = .all_ms_languages } },
-        // _bittest
-        .{ .tag = @enumFromInt(3564), .param_str = "UcNiC*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _bittest64
-        .{ .tag = @enumFromInt(3565), .param_str = "UcWiC*Wi", .properties = .{ .language = .all_ms_languages } },
-        // _bittestandcomplement
-        .{ .tag = @enumFromInt(3566), .param_str = "UcNi*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _bittestandcomplement64
-        .{ .tag = @enumFromInt(3567), .param_str = "UcWi*Wi", .properties = .{ .language = .all_ms_languages } },
-        // _bittestandreset
-        .{ .tag = @enumFromInt(3568), .param_str = "UcNi*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _bittestandreset64
-        .{ .tag = @enumFromInt(3569), .param_str = "UcWi*Wi", .properties = .{ .language = .all_ms_languages } },
-        // _bittestandset
-        .{ .tag = @enumFromInt(3570), .param_str = "UcNi*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _bittestandset64
-        .{ .tag = @enumFromInt(3571), .param_str = "UcWi*Wi", .properties = .{ .language = .all_ms_languages } },
-        // _byteswap_uint64
-        .{ .tag = @enumFromInt(3572), .param_str = "ULLiULLi", .properties = .{ .header = .stdlib, .language = .all_ms_languages, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // _byteswap_ulong
-        .{ .tag = @enumFromInt(3573), .param_str = "UNiUNi", .properties = .{ .header = .stdlib, .language = .all_ms_languages, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // _byteswap_ushort
-        .{ .tag = @enumFromInt(3574), .param_str = "UsUs", .properties = .{ .header = .stdlib, .language = .all_ms_languages, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // _exception_code
-        .{ .tag = @enumFromInt(3575), .param_str = "UNi", .properties = .{ .language = .all_ms_languages } },
-        // _exception_info
-        .{ .tag = @enumFromInt(3576), .param_str = "v*", .properties = .{ .language = .all_ms_languages } },
-        // _exit
-        .{ .tag = @enumFromInt(3577), .param_str = "vi", .properties = .{ .header = .unistd, .language = .all_gnu_languages, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
-        // _interlockedbittestandreset
-        .{ .tag = @enumFromInt(3578), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandreset64
-        .{ .tag = @enumFromInt(3579), .param_str = "UcWiD*Wi", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandreset_acq
-        .{ .tag = @enumFromInt(3580), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandreset_nf
-        .{ .tag = @enumFromInt(3581), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandreset_rel
-        .{ .tag = @enumFromInt(3582), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandset
-        .{ .tag = @enumFromInt(3583), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandset64
-        .{ .tag = @enumFromInt(3584), .param_str = "UcWiD*Wi", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandset_acq
-        .{ .tag = @enumFromInt(3585), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandset_nf
-        .{ .tag = @enumFromInt(3586), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _interlockedbittestandset_rel
-        .{ .tag = @enumFromInt(3587), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
-        // _longjmp
-        .{ .tag = @enumFromInt(3588), .param_str = "vJi", .properties = .{ .header = .setjmp, .language = .all_gnu_languages, .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true } } },
-        // _lrotl
-        .{ .tag = @enumFromInt(3589), .param_str = "ULiULii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _lrotr
-        .{ .tag = @enumFromInt(3590), .param_str = "ULiULii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotl
-        .{ .tag = @enumFromInt(3591), .param_str = "UiUii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotl16
-        .{ .tag = @enumFromInt(3592), .param_str = "UsUsUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotl64
-        .{ .tag = @enumFromInt(3593), .param_str = "UWiUWii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotl8
-        .{ .tag = @enumFromInt(3594), .param_str = "UcUcUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotr
-        .{ .tag = @enumFromInt(3595), .param_str = "UiUii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotr16
-        .{ .tag = @enumFromInt(3596), .param_str = "UsUsUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotr64
-        .{ .tag = @enumFromInt(3597), .param_str = "UWiUWii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _rotr8
-        .{ .tag = @enumFromInt(3598), .param_str = "UcUcUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
-        // _setjmp
-        .{ .tag = @enumFromInt(3599), .param_str = "iJ", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // _setjmpex
-        .{ .tag = @enumFromInt(3600), .param_str = "iJ", .properties = .{ .header = .setjmpex, .language = .all_ms_languages, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // abort
-        .{ .tag = @enumFromInt(3601), .param_str = "v", .properties = .{ .header = .stdlib, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
-        // abs
-        .{ .tag = @enumFromInt(3602), .param_str = "ii", .properties = .{ .header = .stdlib, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // acos
-        .{ .tag = @enumFromInt(3603), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // acosf
-        .{ .tag = @enumFromInt(3604), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // acosh
-        .{ .tag = @enumFromInt(3605), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // acoshf
-        .{ .tag = @enumFromInt(3606), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // acoshl
-        .{ .tag = @enumFromInt(3607), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // acosl
-        .{ .tag = @enumFromInt(3608), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // aligned_alloc
-        .{ .tag = @enumFromInt(3609), .param_str = "v*zz", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // alloca
-        .{ .tag = @enumFromInt(3610), .param_str = "v*z", .properties = .{ .header = .stdlib, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // asin
-        .{ .tag = @enumFromInt(3611), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // asinf
-        .{ .tag = @enumFromInt(3612), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // asinh
-        .{ .tag = @enumFromInt(3613), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // asinhf
-        .{ .tag = @enumFromInt(3614), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // asinhl
-        .{ .tag = @enumFromInt(3615), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // asinl
-        .{ .tag = @enumFromInt(3616), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atan
-        .{ .tag = @enumFromInt(3617), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atan2
-        .{ .tag = @enumFromInt(3618), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atan2f
-        .{ .tag = @enumFromInt(3619), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atan2l
-        .{ .tag = @enumFromInt(3620), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atanf
-        .{ .tag = @enumFromInt(3621), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atanh
-        .{ .tag = @enumFromInt(3622), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atanhf
-        .{ .tag = @enumFromInt(3623), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atanhl
-        .{ .tag = @enumFromInt(3624), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // atanl
-        .{ .tag = @enumFromInt(3625), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // bcmp
-        .{ .tag = @enumFromInt(3626), .param_str = "ivC*vC*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // bcopy
-        .{ .tag = @enumFromInt(3627), .param_str = "vvC*v*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // bzero
-        .{ .tag = @enumFromInt(3628), .param_str = "vv*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // cabs
-        .{ .tag = @enumFromInt(3629), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cabsf
-        .{ .tag = @enumFromInt(3630), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cabsl
-        .{ .tag = @enumFromInt(3631), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cacos
-        .{ .tag = @enumFromInt(3632), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cacosf
-        .{ .tag = @enumFromInt(3633), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cacosh
-        .{ .tag = @enumFromInt(3634), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cacoshf
-        .{ .tag = @enumFromInt(3635), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cacoshl
-        .{ .tag = @enumFromInt(3636), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cacosl
-        .{ .tag = @enumFromInt(3637), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // calloc
-        .{ .tag = @enumFromInt(3638), .param_str = "v*zz", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // carg
-        .{ .tag = @enumFromInt(3639), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cargf
-        .{ .tag = @enumFromInt(3640), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cargl
-        .{ .tag = @enumFromInt(3641), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // casin
-        .{ .tag = @enumFromInt(3642), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // casinf
-        .{ .tag = @enumFromInt(3643), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // casinh
-        .{ .tag = @enumFromInt(3644), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // casinhf
-        .{ .tag = @enumFromInt(3645), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // casinhl
-        .{ .tag = @enumFromInt(3646), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // casinl
-        .{ .tag = @enumFromInt(3647), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // catan
-        .{ .tag = @enumFromInt(3648), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // catanf
-        .{ .tag = @enumFromInt(3649), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // catanh
-        .{ .tag = @enumFromInt(3650), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // catanhf
-        .{ .tag = @enumFromInt(3651), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // catanhl
-        .{ .tag = @enumFromInt(3652), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // catanl
-        .{ .tag = @enumFromInt(3653), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cbrt
-        .{ .tag = @enumFromInt(3654), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cbrtf
-        .{ .tag = @enumFromInt(3655), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cbrtl
-        .{ .tag = @enumFromInt(3656), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // ccos
-        .{ .tag = @enumFromInt(3657), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ccosf
-        .{ .tag = @enumFromInt(3658), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ccosh
-        .{ .tag = @enumFromInt(3659), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ccoshf
-        .{ .tag = @enumFromInt(3660), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ccoshl
-        .{ .tag = @enumFromInt(3661), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ccosl
-        .{ .tag = @enumFromInt(3662), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ceil
-        .{ .tag = @enumFromInt(3663), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // ceilf
-        .{ .tag = @enumFromInt(3664), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // ceill
-        .{ .tag = @enumFromInt(3665), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cexp
-        .{ .tag = @enumFromInt(3666), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cexpf
-        .{ .tag = @enumFromInt(3667), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cexpl
-        .{ .tag = @enumFromInt(3668), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cimag
-        .{ .tag = @enumFromInt(3669), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cimagf
-        .{ .tag = @enumFromInt(3670), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cimagl
-        .{ .tag = @enumFromInt(3671), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // clog
-        .{ .tag = @enumFromInt(3672), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // clogf
-        .{ .tag = @enumFromInt(3673), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // clogl
-        .{ .tag = @enumFromInt(3674), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // conj
-        .{ .tag = @enumFromInt(3675), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // conjf
-        .{ .tag = @enumFromInt(3676), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // conjl
-        .{ .tag = @enumFromInt(3677), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // copysign
-        .{ .tag = @enumFromInt(3678), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // copysignf
-        .{ .tag = @enumFromInt(3679), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // copysignl
-        .{ .tag = @enumFromInt(3680), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cos
-        .{ .tag = @enumFromInt(3681), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cosf
-        .{ .tag = @enumFromInt(3682), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cosh
-        .{ .tag = @enumFromInt(3683), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // coshf
-        .{ .tag = @enumFromInt(3684), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // coshl
-        .{ .tag = @enumFromInt(3685), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cosl
-        .{ .tag = @enumFromInt(3686), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cpow
-        .{ .tag = @enumFromInt(3687), .param_str = "XdXdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cpowf
-        .{ .tag = @enumFromInt(3688), .param_str = "XfXfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cpowl
-        .{ .tag = @enumFromInt(3689), .param_str = "XLdXLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // cproj
-        .{ .tag = @enumFromInt(3690), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cprojf
-        .{ .tag = @enumFromInt(3691), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // cprojl
-        .{ .tag = @enumFromInt(3692), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // creal
-        .{ .tag = @enumFromInt(3693), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // crealf
-        .{ .tag = @enumFromInt(3694), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // creall
-        .{ .tag = @enumFromInt(3695), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // csin
-        .{ .tag = @enumFromInt(3696), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csinf
-        .{ .tag = @enumFromInt(3697), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csinh
-        .{ .tag = @enumFromInt(3698), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csinhf
-        .{ .tag = @enumFromInt(3699), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csinhl
-        .{ .tag = @enumFromInt(3700), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csinl
-        .{ .tag = @enumFromInt(3701), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csqrt
-        .{ .tag = @enumFromInt(3702), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csqrtf
-        .{ .tag = @enumFromInt(3703), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // csqrtl
-        .{ .tag = @enumFromInt(3704), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ctan
-        .{ .tag = @enumFromInt(3705), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ctanf
-        .{ .tag = @enumFromInt(3706), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ctanh
-        .{ .tag = @enumFromInt(3707), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ctanhf
-        .{ .tag = @enumFromInt(3708), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ctanhl
-        .{ .tag = @enumFromInt(3709), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ctanl
-        .{ .tag = @enumFromInt(3710), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // erf
-        .{ .tag = @enumFromInt(3711), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // erfc
-        .{ .tag = @enumFromInt(3712), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // erfcf
-        .{ .tag = @enumFromInt(3713), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // erfcl
-        .{ .tag = @enumFromInt(3714), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // erff
-        .{ .tag = @enumFromInt(3715), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // erfl
-        .{ .tag = @enumFromInt(3716), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // exit
-        .{ .tag = @enumFromInt(3717), .param_str = "vi", .properties = .{ .header = .stdlib, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
-        // exp
-        .{ .tag = @enumFromInt(3718), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // exp2
-        .{ .tag = @enumFromInt(3719), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // exp2f
-        .{ .tag = @enumFromInt(3720), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // exp2l
-        .{ .tag = @enumFromInt(3721), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // expf
-        .{ .tag = @enumFromInt(3722), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // expl
-        .{ .tag = @enumFromInt(3723), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // expm1
-        .{ .tag = @enumFromInt(3724), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // expm1f
-        .{ .tag = @enumFromInt(3725), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // expm1l
-        .{ .tag = @enumFromInt(3726), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fabs
-        .{ .tag = @enumFromInt(3727), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fabsf
-        .{ .tag = @enumFromInt(3728), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fabsl
-        .{ .tag = @enumFromInt(3729), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fdim
-        .{ .tag = @enumFromInt(3730), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fdimf
-        .{ .tag = @enumFromInt(3731), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fdiml
-        .{ .tag = @enumFromInt(3732), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // finite
-        .{ .tag = @enumFromInt(3733), .param_str = "id", .properties = .{ .header = .math, .language = .gnu_lang, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // finitef
-        .{ .tag = @enumFromInt(3734), .param_str = "if", .properties = .{ .header = .math, .language = .gnu_lang, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // finitel
-        .{ .tag = @enumFromInt(3735), .param_str = "iLd", .properties = .{ .header = .math, .language = .gnu_lang, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // floor
-        .{ .tag = @enumFromInt(3736), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // floorf
-        .{ .tag = @enumFromInt(3737), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // floorl
-        .{ .tag = @enumFromInt(3738), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fma
-        .{ .tag = @enumFromInt(3739), .param_str = "dddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fmaf
-        .{ .tag = @enumFromInt(3740), .param_str = "ffff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fmal
-        .{ .tag = @enumFromInt(3741), .param_str = "LdLdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fmax
-        .{ .tag = @enumFromInt(3742), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fmaxf
-        .{ .tag = @enumFromInt(3743), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fmaxl
-        .{ .tag = @enumFromInt(3744), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fmin
-        .{ .tag = @enumFromInt(3745), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fminf
-        .{ .tag = @enumFromInt(3746), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fminl
-        .{ .tag = @enumFromInt(3747), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // fmod
-        .{ .tag = @enumFromInt(3748), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fmodf
-        .{ .tag = @enumFromInt(3749), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fmodl
-        .{ .tag = @enumFromInt(3750), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // fopen
-        .{ .tag = @enumFromInt(3751), .param_str = "P*cC*cC*", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true } } },
-        // fprintf
-        .{ .tag = @enumFromInt(3752), .param_str = "iP*cC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
-        // fread
-        .{ .tag = @enumFromInt(3753), .param_str = "zv*zzP*", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true } } },
-        // free
-        .{ .tag = @enumFromInt(3754), .param_str = "vv*", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // frexp
-        .{ .tag = @enumFromInt(3755), .param_str = "ddi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // frexpf
-        .{ .tag = @enumFromInt(3756), .param_str = "ffi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // frexpl
-        .{ .tag = @enumFromInt(3757), .param_str = "LdLdi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // fscanf
-        .{ .tag = @enumFromInt(3758), .param_str = "iP*RcC*R.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
-        // fwrite
-        .{ .tag = @enumFromInt(3759), .param_str = "zvC*zzP*", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true } } },
-        // getcontext
-        .{ .tag = @enumFromInt(3760), .param_str = "iK*", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // hypot
-        .{ .tag = @enumFromInt(3761), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // hypotf
-        .{ .tag = @enumFromInt(3762), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // hypotl
-        .{ .tag = @enumFromInt(3763), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ilogb
-        .{ .tag = @enumFromInt(3764), .param_str = "id", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ilogbf
-        .{ .tag = @enumFromInt(3765), .param_str = "if", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ilogbl
-        .{ .tag = @enumFromInt(3766), .param_str = "iLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // index
-        .{ .tag = @enumFromInt(3767), .param_str = "c*cC*i", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // isalnum
-        .{ .tag = @enumFromInt(3768), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isalpha
-        .{ .tag = @enumFromInt(3769), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isblank
-        .{ .tag = @enumFromInt(3770), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // iscntrl
-        .{ .tag = @enumFromInt(3771), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isdigit
-        .{ .tag = @enumFromInt(3772), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isgraph
-        .{ .tag = @enumFromInt(3773), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // islower
-        .{ .tag = @enumFromInt(3774), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isprint
-        .{ .tag = @enumFromInt(3775), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // ispunct
-        .{ .tag = @enumFromInt(3776), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isspace
-        .{ .tag = @enumFromInt(3777), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isupper
-        .{ .tag = @enumFromInt(3778), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // isxdigit
-        .{ .tag = @enumFromInt(3779), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // labs
-        .{ .tag = @enumFromInt(3780), .param_str = "LiLi", .properties = .{ .header = .stdlib, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // ldexp
-        .{ .tag = @enumFromInt(3781), .param_str = "ddi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ldexpf
-        .{ .tag = @enumFromInt(3782), .param_str = "ffi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // ldexpl
-        .{ .tag = @enumFromInt(3783), .param_str = "LdLdi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // lgamma
-        .{ .tag = @enumFromInt(3784), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // lgammaf
-        .{ .tag = @enumFromInt(3785), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // lgammal
-        .{ .tag = @enumFromInt(3786), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // llabs
-        .{ .tag = @enumFromInt(3787), .param_str = "LLiLLi", .properties = .{ .header = .stdlib, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // llrint
-        .{ .tag = @enumFromInt(3788), .param_str = "LLid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // llrintf
-        .{ .tag = @enumFromInt(3789), .param_str = "LLif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // llrintl
-        .{ .tag = @enumFromInt(3790), .param_str = "LLiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // llround
-        .{ .tag = @enumFromInt(3791), .param_str = "LLid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // llroundf
-        .{ .tag = @enumFromInt(3792), .param_str = "LLif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // llroundl
-        .{ .tag = @enumFromInt(3793), .param_str = "LLiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log
-        .{ .tag = @enumFromInt(3794), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log10
-        .{ .tag = @enumFromInt(3795), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log10f
-        .{ .tag = @enumFromInt(3796), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log10l
-        .{ .tag = @enumFromInt(3797), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log1p
-        .{ .tag = @enumFromInt(3798), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log1pf
-        .{ .tag = @enumFromInt(3799), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log1pl
-        .{ .tag = @enumFromInt(3800), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log2
-        .{ .tag = @enumFromInt(3801), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log2f
-        .{ .tag = @enumFromInt(3802), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // log2l
-        .{ .tag = @enumFromInt(3803), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // logb
-        .{ .tag = @enumFromInt(3804), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // logbf
-        .{ .tag = @enumFromInt(3805), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // logbl
-        .{ .tag = @enumFromInt(3806), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // logf
-        .{ .tag = @enumFromInt(3807), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // logl
-        .{ .tag = @enumFromInt(3808), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // longjmp
-        .{ .tag = @enumFromInt(3809), .param_str = "vJi", .properties = .{ .header = .setjmp, .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true } } },
-        // lrint
-        .{ .tag = @enumFromInt(3810), .param_str = "Lid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // lrintf
-        .{ .tag = @enumFromInt(3811), .param_str = "Lif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // lrintl
-        .{ .tag = @enumFromInt(3812), .param_str = "LiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // lround
-        .{ .tag = @enumFromInt(3813), .param_str = "Lid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // lroundf
-        .{ .tag = @enumFromInt(3814), .param_str = "Lif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // lroundl
-        .{ .tag = @enumFromInt(3815), .param_str = "LiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // malloc
-        .{ .tag = @enumFromInt(3816), .param_str = "v*z", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // memalign
-        .{ .tag = @enumFromInt(3817), .param_str = "v*zz", .properties = .{ .header = .malloc, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // memccpy
-        .{ .tag = @enumFromInt(3818), .param_str = "v*v*vC*iz", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // memchr
-        .{ .tag = @enumFromInt(3819), .param_str = "v*vC*iz", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // memcmp
-        .{ .tag = @enumFromInt(3820), .param_str = "ivC*vC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // memcpy
-        .{ .tag = @enumFromInt(3821), .param_str = "v*v*vC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // memmove
-        .{ .tag = @enumFromInt(3822), .param_str = "v*v*vC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // mempcpy
-        .{ .tag = @enumFromInt(3823), .param_str = "v*v*vC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // memset
-        .{ .tag = @enumFromInt(3824), .param_str = "v*v*iz", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // modf
-        .{ .tag = @enumFromInt(3825), .param_str = "ddd*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // modff
-        .{ .tag = @enumFromInt(3826), .param_str = "fff*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // modfl
-        .{ .tag = @enumFromInt(3827), .param_str = "LdLdLd*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // nan
-        .{ .tag = @enumFromInt(3828), .param_str = "dcC*", .properties = .{ .header = .math, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // nanf
-        .{ .tag = @enumFromInt(3829), .param_str = "fcC*", .properties = .{ .header = .math, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // nanl
-        .{ .tag = @enumFromInt(3830), .param_str = "LdcC*", .properties = .{ .header = .math, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // nearbyint
-        .{ .tag = @enumFromInt(3831), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // nearbyintf
-        .{ .tag = @enumFromInt(3832), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // nearbyintl
-        .{ .tag = @enumFromInt(3833), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // nextafter
-        .{ .tag = @enumFromInt(3834), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // nextafterf
-        .{ .tag = @enumFromInt(3835), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // nextafterl
-        .{ .tag = @enumFromInt(3836), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // nexttoward
-        .{ .tag = @enumFromInt(3837), .param_str = "ddLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // nexttowardf
-        .{ .tag = @enumFromInt(3838), .param_str = "ffLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // nexttowardl
-        .{ .tag = @enumFromInt(3839), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // pow
-        .{ .tag = @enumFromInt(3840), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // powf
-        .{ .tag = @enumFromInt(3841), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // powl
-        .{ .tag = @enumFromInt(3842), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // printf
-        .{ .tag = @enumFromInt(3843), .param_str = "icC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf } } },
-        // realloc
-        .{ .tag = @enumFromInt(3844), .param_str = "v*v*z", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // remainder
-        .{ .tag = @enumFromInt(3845), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // remainderf
-        .{ .tag = @enumFromInt(3846), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // remainderl
-        .{ .tag = @enumFromInt(3847), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // remquo
-        .{ .tag = @enumFromInt(3848), .param_str = "dddi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // remquof
-        .{ .tag = @enumFromInt(3849), .param_str = "fffi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // remquol
-        .{ .tag = @enumFromInt(3850), .param_str = "LdLdLdi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
-        // rindex
-        .{ .tag = @enumFromInt(3851), .param_str = "c*cC*i", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // rint
-        .{ .tag = @enumFromInt(3852), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true } } },
-        // rintf
-        .{ .tag = @enumFromInt(3853), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true } } },
-        // rintl
-        .{ .tag = @enumFromInt(3854), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true } } },
-        // round
-        .{ .tag = @enumFromInt(3855), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // roundeven
-        .{ .tag = @enumFromInt(3856), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // roundevenf
-        .{ .tag = @enumFromInt(3857), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // roundevenl
-        .{ .tag = @enumFromInt(3858), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // roundf
-        .{ .tag = @enumFromInt(3859), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // roundl
-        .{ .tag = @enumFromInt(3860), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // savectx
-        .{ .tag = @enumFromInt(3861), .param_str = "iJ", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // scalbln
-        .{ .tag = @enumFromInt(3862), .param_str = "ddLi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // scalblnf
-        .{ .tag = @enumFromInt(3863), .param_str = "ffLi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // scalblnl
-        .{ .tag = @enumFromInt(3864), .param_str = "LdLdLi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // scalbn
-        .{ .tag = @enumFromInt(3865), .param_str = "ddi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // scalbnf
-        .{ .tag = @enumFromInt(3866), .param_str = "ffi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // scalbnl
-        .{ .tag = @enumFromInt(3867), .param_str = "LdLdi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // scanf
-        .{ .tag = @enumFromInt(3868), .param_str = "icC*R.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf } } },
-        // setjmp
-        .{ .tag = @enumFromInt(3869), .param_str = "iJ", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // siglongjmp
-        .{ .tag = @enumFromInt(3870), .param_str = "vSJi", .properties = .{ .header = .setjmp, .language = .all_gnu_languages, .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true } } },
-        // sigsetjmp
-        .{ .tag = @enumFromInt(3871), .param_str = "iSJi", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // sin
-        .{ .tag = @enumFromInt(3872), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sinf
-        .{ .tag = @enumFromInt(3873), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sinh
-        .{ .tag = @enumFromInt(3874), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sinhf
-        .{ .tag = @enumFromInt(3875), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sinhl
-        .{ .tag = @enumFromInt(3876), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sinl
-        .{ .tag = @enumFromInt(3877), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // snprintf
-        .{ .tag = @enumFromInt(3878), .param_str = "ic*zcC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 2 } } },
-        // sprintf
-        .{ .tag = @enumFromInt(3879), .param_str = "ic*cC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
-        // sqrt
-        .{ .tag = @enumFromInt(3880), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sqrtf
-        .{ .tag = @enumFromInt(3881), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sqrtl
-        .{ .tag = @enumFromInt(3882), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // sscanf
-        .{ .tag = @enumFromInt(3883), .param_str = "icC*RcC*R.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
-        // stpcpy
-        .{ .tag = @enumFromInt(3884), .param_str = "c*c*cC*", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // stpncpy
-        .{ .tag = @enumFromInt(3885), .param_str = "c*c*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strcasecmp
-        .{ .tag = @enumFromInt(3886), .param_str = "icC*cC*", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strcat
-        .{ .tag = @enumFromInt(3887), .param_str = "c*c*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strchr
-        .{ .tag = @enumFromInt(3888), .param_str = "c*cC*i", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // strcmp
-        .{ .tag = @enumFromInt(3889), .param_str = "icC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // strcpy
-        .{ .tag = @enumFromInt(3890), .param_str = "c*c*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strcspn
-        .{ .tag = @enumFromInt(3891), .param_str = "zcC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strdup
-        .{ .tag = @enumFromInt(3892), .param_str = "c*cC*", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strerror
-        .{ .tag = @enumFromInt(3893), .param_str = "c*i", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strlcat
-        .{ .tag = @enumFromInt(3894), .param_str = "zc*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strlcpy
-        .{ .tag = @enumFromInt(3895), .param_str = "zc*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strlen
-        .{ .tag = @enumFromInt(3896), .param_str = "zcC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // strncasecmp
-        .{ .tag = @enumFromInt(3897), .param_str = "icC*cC*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strncat
-        .{ .tag = @enumFromInt(3898), .param_str = "c*c*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strncmp
-        .{ .tag = @enumFromInt(3899), .param_str = "icC*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // strncpy
-        .{ .tag = @enumFromInt(3900), .param_str = "c*c*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strndup
-        .{ .tag = @enumFromInt(3901), .param_str = "c*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strpbrk
-        .{ .tag = @enumFromInt(3902), .param_str = "c*cC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strrchr
-        .{ .tag = @enumFromInt(3903), .param_str = "c*cC*i", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strspn
-        .{ .tag = @enumFromInt(3904), .param_str = "zcC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strstr
-        .{ .tag = @enumFromInt(3905), .param_str = "c*cC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtod
-        .{ .tag = @enumFromInt(3906), .param_str = "dcC*c**", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtof
-        .{ .tag = @enumFromInt(3907), .param_str = "fcC*c**", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtok
-        .{ .tag = @enumFromInt(3908), .param_str = "c*c*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtol
-        .{ .tag = @enumFromInt(3909), .param_str = "LicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtold
-        .{ .tag = @enumFromInt(3910), .param_str = "LdcC*c**", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtoll
-        .{ .tag = @enumFromInt(3911), .param_str = "LLicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtoul
-        .{ .tag = @enumFromInt(3912), .param_str = "ULicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strtoull
-        .{ .tag = @enumFromInt(3913), .param_str = "ULLicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
-        // strxfrm
-        .{ .tag = @enumFromInt(3914), .param_str = "zc*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
-        // tan
-        .{ .tag = @enumFromInt(3915), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tanf
-        .{ .tag = @enumFromInt(3916), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tanh
-        .{ .tag = @enumFromInt(3917), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tanhf
-        .{ .tag = @enumFromInt(3918), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tanhl
-        .{ .tag = @enumFromInt(3919), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tanl
-        .{ .tag = @enumFromInt(3920), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tgamma
-        .{ .tag = @enumFromInt(3921), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tgammaf
-        .{ .tag = @enumFromInt(3922), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tgammal
-        .{ .tag = @enumFromInt(3923), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
-        // tolower
-        .{ .tag = @enumFromInt(3924), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // toupper
-        .{ .tag = @enumFromInt(3925), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
-        // trunc
-        .{ .tag = @enumFromInt(3926), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // truncf
-        .{ .tag = @enumFromInt(3927), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // truncl
-        .{ .tag = @enumFromInt(3928), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
-        // va_copy
-        .{ .tag = @enumFromInt(3929), .param_str = "vAA", .properties = .{ .header = .stdarg, .attributes = .{ .lib_function_without_prefix = true } } },
-        // va_end
-        .{ .tag = @enumFromInt(3930), .param_str = "vA", .properties = .{ .header = .stdarg, .attributes = .{ .lib_function_without_prefix = true } } },
-        // va_start
-        .{ .tag = @enumFromInt(3931), .param_str = "vA.", .properties = .{ .header = .stdarg, .attributes = .{ .lib_function_without_prefix = true } } },
-        // vfork
-        .{ .tag = @enumFromInt(3932), .param_str = "p", .properties = .{ .header = .unistd, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
-        // vfprintf
-        .{ .tag = @enumFromInt(3933), .param_str = "iP*cC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
-        // vfscanf
-        .{ .tag = @enumFromInt(3934), .param_str = "iP*RcC*Ra", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
-        // vprintf
-        .{ .tag = @enumFromInt(3935), .param_str = "icC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf } } },
-        // vscanf
-        .{ .tag = @enumFromInt(3936), .param_str = "icC*Ra", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf } } },
-        // vsnprintf
-        .{ .tag = @enumFromInt(3937), .param_str = "ic*zcC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 2 } } },
-        // vsprintf
-        .{ .tag = @enumFromInt(3938), .param_str = "ic*cC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
-        // vsscanf
-        .{ .tag = @enumFromInt(3939), .param_str = "icC*RcC*Ra", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
-        // wcschr
-        .{ .tag = @enumFromInt(3940), .param_str = "w*wC*w", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wcscmp
-        .{ .tag = @enumFromInt(3941), .param_str = "iwC*wC*", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wcslen
-        .{ .tag = @enumFromInt(3942), .param_str = "zwC*", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wcsncmp
-        .{ .tag = @enumFromInt(3943), .param_str = "iwC*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wmemchr
-        .{ .tag = @enumFromInt(3944), .param_str = "w*wC*wz", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wmemcmp
-        .{ .tag = @enumFromInt(3945), .param_str = "iwC*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wmemcpy
-        .{ .tag = @enumFromInt(3946), .param_str = "w*w*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-        // wmemmove
-        .{ .tag = @enumFromInt(3947), .param_str = "w*w*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
-    };
-};
deps/aro/codegen/x86_64.zig
@@ -1,221 +0,0 @@
-const std = @import("std");
-const Codegen = @import("../Codegen_legacy.zig");
-const Tree = @import("../Tree.zig");
-const NodeIndex = Tree.NodeIndex;
-const x86_64 = @import("zig").codegen.x86_64;
-const Register = x86_64.Register;
-const RegisterManager = @import("zig").RegisterManager;
-
-const Fn = @This();
-
-const Value = union(enum) {
-    symbol: []const u8,
-    immediate: i64,
-    register: Register,
-    none,
-};
-
-register_manager: RegisterManager(Fn, Register, &x86_64.callee_preserved_regs) = .{},
-data: *std.ArrayList(u8),
-c: *Codegen,
-
-pub fn deinit(func: *Fn) void {
-    func.* = undefined;
-}
-
-pub fn genFn(c: *Codegen, decl: NodeIndex, data: *std.ArrayList(u8)) Codegen.Error!void {
-    var func = Fn{ .data = data, .c = c };
-    defer func.deinit();
-
-    // function prologue
-    try func.data.appendSlice(&.{
-        0x55, // push rbp
-        0x48, 0x89, 0xe5, // mov rbp,rsp
-    });
-    _ = try func.genNode(c.node_data[@intFromEnum(decl)].decl.node);
-    // all functions are guaranteed to end in a return statement so no extra work required here
-}
-
-pub fn spillInst(f: *Fn, reg: Register, inst: u32) !void {
-    _ = inst;
-    _ = reg;
-    _ = f;
-}
-
-fn setReg(func: *Fn, val: Value, reg: Register) !void {
-    switch (val) {
-        .none => unreachable,
-        .symbol => |sym| {
-            // lea address with 0 and add relocation
-            const encoder = try x86_64.Encoder.init(func.data, 8);
-            encoder.rex(.{ .w = true });
-            encoder.opcode_1byte(0x8D);
-            encoder.modRm_RIPDisp32(reg.low_id());
-
-            const offset = func.data.items.len;
-            encoder.imm32(0);
-
-            try func.c.obj.addRelocation(sym, .func, offset, -4);
-        },
-        .immediate => |x| if (x == 0) {
-            // 32-bit moves zero-extend to 64-bit, so xoring the 32-bit
-            // register is the fastest way to zero a register.
-            // The encoding for `xor r32, r32` is `0x31 /r`.
-            const encoder = try x86_64.Encoder.init(func.data, 3);
-
-            // If we're accessing e.g. r8d, we need to use a REX prefix before the actual operation. Since
-            // this is a 32-bit operation, the W flag is set to zero. X is also zero, as we're not using a SIB.
-            // Both R and B are set, as we're extending, in effect, the register bits *and* the operand.
-            encoder.rex(.{ .r = reg.isExtended(), .b = reg.isExtended() });
-            encoder.opcode_1byte(0x31);
-            // Section 3.1.1.1 of the Intel x64 Manual states that "/r indicates that the
-            // ModR/M byte of the instruction contains a register operand and an r/m operand."
-            encoder.modRm_direct(reg.low_id(), reg.low_id());
-        } else if (x <= std.math.maxInt(i32)) {
-            // Next best case: if we set the lower four bytes, the upper four will be zeroed.
-            //
-            // The encoding for `mov IMM32 -> REG` is (0xB8 + R) IMM.
-
-            const encoder = try x86_64.Encoder.init(func.data, 6);
-            // Just as with XORing, we need a REX prefix. This time though, we only
-            // need the B bit set, as we're extending the opcode's register field,
-            // and there is no Mod R/M byte.
-            encoder.rex(.{ .b = reg.isExtended() });
-            encoder.opcode_withReg(0xB8, reg.low_id());
-
-            // no ModR/M byte
-
-            // IMM
-            encoder.imm32(@intCast(x));
-        } else {
-            // Worst case: we need to load the 64-bit register with the IMM. GNU's assemblers calls
-            // this `movabs`, though this is officially just a different variant of the plain `mov`
-            // instruction.
-            //
-            // This encoding is, in fact, the *same* as the one used for 32-bit loads. The only
-            // difference is that we set REX.W before the instruction, which extends the load to
-            // 64-bit and uses the full bit-width of the register.
-            {
-                const encoder = try x86_64.Encoder.init(func.data, 10);
-                encoder.rex(.{ .w = true, .b = reg.isExtended() });
-                encoder.opcode_withReg(0xB8, reg.low_id());
-                encoder.imm64(@bitCast(x));
-            }
-        },
-        .register => |src_reg| {
-            // If the registers are the same, nothing to do.
-            if (src_reg.id() == reg.id())
-                return;
-
-            // This is a variant of 8B /r.
-            const encoder = try x86_64.Encoder.init(func.data, 3);
-            encoder.rex(.{
-                .w = true,
-                .r = reg.isExtended(),
-                .b = src_reg.isExtended(),
-            });
-            encoder.opcode_1byte(0x8B);
-            encoder.modRm_direct(reg.low_id(), src_reg.low_id());
-        },
-    }
-}
-
-fn genNode(func: *Fn, node: NodeIndex) Codegen.Error!Value {
-    if (func.c.tree.value_map.get(node)) |some| {
-        if (some.tag == .int)
-            return Value{ .immediate = @bitCast(some.data.int) };
-    }
-
-    const data = func.c.node_data[@intFromEnum(node)];
-    switch (func.c.node_tag[@intFromEnum(node)]) {
-        .static_assert => return Value{ .none = {} },
-        .compound_stmt_two => {
-            if (data.bin.lhs != .none) _ = try func.genNode(data.bin.lhs);
-            if (data.bin.rhs != .none) _ = try func.genNode(data.bin.rhs);
-            return Value{ .none = {} };
-        },
-        .compound_stmt => {
-            for (func.c.tree.data[data.range.start..data.range.end]) |stmt| {
-                _ = try func.genNode(stmt);
-            }
-            return Value{ .none = {} };
-        },
-        .call_expr_one => if (data.bin.rhs != .none)
-            return func.genCall(data.bin.lhs, &.{data.bin.rhs})
-        else
-            return func.genCall(data.bin.lhs, &.{}),
-        .call_expr => return func.genCall(func.c.tree.data[data.range.start], func.c.tree.data[data.range.start + 1 .. data.range.end]),
-        .explicit_cast, .implicit_cast => {
-            switch (data.cast.kind) {
-                .function_to_pointer,
-                .array_to_pointer,
-                => return func.genNode(data.cast.operand), // no-op
-                else => return func.c.comp.diag.fatalNoSrc("TODO x86_64 genNode for cast {s}\n", .{@tagName(data.cast.kind)}),
-            }
-        },
-        .decl_ref_expr => {
-            // TODO locals and arguments
-            return Value{ .symbol = func.c.tree.tokSlice(data.decl_ref) };
-        },
-        .return_stmt => {
-            const value = try func.genNode(data.un);
-            try func.setReg(value, x86_64.c_abi_int_return_regs[0]);
-            try func.data.appendSlice(&.{
-                0x5d, // pop rbp
-                0xc3, // ret
-            });
-            return Value{ .none = {} };
-        },
-        .implicit_return => {
-            try func.setReg(.{ .immediate = 0 }, x86_64.c_abi_int_return_regs[0]);
-            try func.data.appendSlice(&.{
-                0x5d, // pop rbp
-                0xc3, // ret
-            });
-            return Value{ .none = {} };
-        },
-        .int_literal => return Value{ .immediate = @bitCast(data.int) },
-        .string_literal_expr => {
-            const range = func.c.tree.value_map.get(node).?.data.bytes;
-            const str_bytes = range.slice(func.c.tree.strings, .@"1");
-            const section = try func.c.obj.getSection(.strings);
-            const start = section.items.len;
-            try section.appendSlice(str_bytes);
-            const symbol_name = try func.c.obj.declareSymbol(.strings, null, .Internal, .variable, start, str_bytes.len);
-            return Value{ .symbol = symbol_name };
-        },
-        else => return func.c.comp.diag.fatalNoSrc("TODO x86_64 genNode {}\n", .{func.c.node_tag[@intFromEnum(node)]}),
-    }
-}
-
-fn genCall(func: *Fn, lhs: NodeIndex, args: []const NodeIndex) Codegen.Error!Value {
-    if (args.len > x86_64.c_abi_int_param_regs.len)
-        return func.c.comp.diag.fatalNoSrc("TODO more than args {d}\n", .{x86_64.c_abi_int_param_regs.len});
-
-    const func_value = try func.genNode(lhs);
-    for (args, 0..) |arg, i| {
-        const value = try func.genNode(arg);
-        try func.setReg(value, x86_64.c_abi_int_param_regs[i]);
-    }
-
-    switch (func_value) {
-        .none => unreachable,
-        .symbol => |sym| {
-            const encoder = try x86_64.Encoder.init(func.data, 5);
-            encoder.opcode_1byte(0xe8);
-
-            const offset = func.data.items.len;
-            encoder.imm32(0);
-
-            try func.c.obj.addRelocation(sym, .func, offset, -4);
-        },
-        .immediate => return func.c.comp.diag.fatalNoSrc("TODO call immediate\n", .{}),
-        .register => return func.c.comp.diag.fatalNoSrc("TODO call reg\n", .{}),
-    }
-    return Value{ .register = x86_64.c_abi_int_return_regs[0] };
-}
-
-pub fn genVar(c: *Codegen, decl: NodeIndex) Codegen.Error!void {
-    _ = c;
-    _ = decl;
-}
deps/aro/aro.zig
@@ -0,0 +1,38 @@
+pub const CodeGen = @import("aro/CodeGen.zig");
+pub const Compilation = @import("aro/Compilation.zig");
+pub const Diagnostics = @import("aro/Diagnostics.zig");
+pub const Driver = @import("aro/Driver.zig");
+pub const Parser = @import("aro/Parser.zig");
+pub const Preprocessor = @import("aro/Preprocessor.zig");
+pub const Source = @import("aro/Source.zig");
+pub const Tokenizer = @import("aro/Tokenizer.zig");
+pub const Toolchain = @import("aro/Toolchain.zig");
+pub const Tree = @import("aro/Tree.zig");
+pub const Type = @import("aro/Type.zig");
+pub const TypeMapper = @import("aro/StringInterner.zig").TypeMapper;
+pub const target_util = @import("aro/target.zig");
+pub const Value = @import("aro/Value.zig");
+
+const backend = @import("backend");
+pub const Interner = backend.Interner;
+pub const Ir = backend.Ir;
+pub const Object = backend.Object;
+pub const CallingConvention = backend.CallingConvention;
+
+pub const version_str = backend.version_str;
+pub const version = backend.version;
+
+test {
+    _ = @import("aro/Builtins.zig");
+    _ = @import("aro/char_info.zig");
+    _ = @import("aro/Compilation.zig");
+    _ = @import("aro/Driver/Distro.zig");
+    _ = @import("aro/Driver/Filesystem.zig");
+    _ = @import("aro/Driver/GCCVersion.zig");
+    _ = @import("aro/InitList.zig");
+    _ = @import("aro/Preprocessor.zig");
+    _ = @import("aro/target.zig");
+    _ = @import("aro/Tokenizer.zig");
+    _ = @import("aro/toolchains/Linux.zig");
+    _ = @import("aro/Value.zig");
+}
deps/aro/backend.zig
@@ -0,0 +1,13 @@
+pub const Interner = @import("backend/Interner.zig");
+pub const Ir = @import("backend/Ir.zig");
+pub const Object = @import("backend/Object.zig");
+
+pub const CallingConvention = enum {
+    C,
+    stdcall,
+    thiscall,
+    vectorcall,
+};
+
+pub const version_str = @import("build_options").version_str;
+pub const version = @import("std").SemanticVersion.parse(version_str) catch unreachable;
deps/aro/CharInfo.zig
@@ -1,487 +0,0 @@
-//! This module provides functions for classifying characters according to
-//! various C standards. All classification routines *do not* consider
-//! characters from the basic character set; it is assumed those will be
-//! checked separately
-
-const assert = @import("std").debug.assert;
-
-/// C11 Standard Annex D
-pub fn isC11IdChar(codepoint: u21) bool {
-    assert(codepoint > 0x7F);
-    return switch (codepoint) {
-        // 1
-        0x00A8,
-        0x00AA,
-        0x00AD,
-        0x00AF,
-        0x00B2...0x00B5,
-        0x00B7...0x00BA,
-        0x00BC...0x00BE,
-        0x00C0...0x00D6,
-        0x00D8...0x00F6,
-        0x00F8...0x00FF,
-
-        // 2
-        0x0100...0x167F,
-        0x1681...0x180D,
-        0x180F...0x1FFF,
-
-        // 3
-        0x200B...0x200D,
-        0x202A...0x202E,
-        0x203F...0x2040,
-        0x2054,
-        0x2060...0x206F,
-
-        // 4
-        0x2070...0x218F,
-        0x2460...0x24FF,
-        0x2776...0x2793,
-        0x2C00...0x2DFF,
-        0x2E80...0x2FFF,
-
-        // 5
-        0x3004...0x3007,
-        0x3021...0x302F,
-        0x3031...0x303F,
-
-        // 6
-        0x3040...0xD7FF,
-
-        // 7
-        0xF900...0xFD3D,
-        0xFD40...0xFDCF,
-        0xFDF0...0xFE44,
-        0xFE47...0xFFFD,
-
-        // 8
-        0x10000...0x1FFFD,
-        0x20000...0x2FFFD,
-        0x30000...0x3FFFD,
-        0x40000...0x4FFFD,
-        0x50000...0x5FFFD,
-        0x60000...0x6FFFD,
-        0x70000...0x7FFFD,
-        0x80000...0x8FFFD,
-        0x90000...0x9FFFD,
-        0xA0000...0xAFFFD,
-        0xB0000...0xBFFFD,
-        0xC0000...0xCFFFD,
-        0xD0000...0xDFFFD,
-        0xE0000...0xEFFFD,
-        => true,
-        else => false,
-    };
-}
-
-/// C99 Standard Annex D
-pub fn isC99IdChar(codepoint: u21) bool {
-    assert(codepoint > 0x7F);
-    return switch (codepoint) {
-        // Latin
-        0x00AA,
-        0x00BA,
-        0x00C0...0x00D6,
-        0x00D8...0x00F6,
-        0x00F8...0x01F5,
-        0x01FA...0x0217,
-        0x0250...0x02A8,
-        0x1E00...0x1E9B,
-        0x1EA0...0x1EF9,
-        0x207F,
-
-        // Greek
-        0x0386,
-        0x0388...0x038A,
-        0x038C,
-        0x038E...0x03A1,
-        0x03A3...0x03CE,
-        0x03D0...0x03D6,
-        0x03DA,
-        0x03DC,
-        0x03DE,
-        0x03E0,
-        0x03E2...0x03F3,
-        0x1F00...0x1F15,
-        0x1F18...0x1F1D,
-        0x1F20...0x1F45,
-        0x1F48...0x1F4D,
-        0x1F50...0x1F57,
-        0x1F59,
-        0x1F5B,
-        0x1F5D,
-        0x1F5F...0x1F7D,
-        0x1F80...0x1FB4,
-        0x1FB6...0x1FBC,
-        0x1FC2...0x1FC4,
-        0x1FC6...0x1FCC,
-        0x1FD0...0x1FD3,
-        0x1FD6...0x1FDB,
-        0x1FE0...0x1FEC,
-        0x1FF2...0x1FF4,
-        0x1FF6...0x1FFC,
-
-        // Cyrillic
-        0x0401...0x040C,
-        0x040E...0x044F,
-        0x0451...0x045C,
-        0x045E...0x0481,
-        0x0490...0x04C4,
-        0x04C7...0x04C8,
-        0x04CB...0x04CC,
-        0x04D0...0x04EB,
-        0x04EE...0x04F5,
-        0x04F8...0x04F9,
-
-        // Armenian
-        0x0531...0x0556,
-        0x0561...0x0587,
-
-        // Hebrew
-        0x05B0...0x05B9,
-        0x05BB...0x05BD,
-        0x05BF,
-        0x05C1...0x05C2,
-        0x05D0...0x05EA,
-        0x05F0...0x05F2,
-
-        // Arabic
-        0x0621...0x063A,
-        0x0640...0x0652,
-        0x0670...0x06B7,
-        0x06BA...0x06BE,
-        0x06C0...0x06CE,
-        0x06D0...0x06DC,
-        0x06E5...0x06E8,
-        0x06EA...0x06ED,
-
-        // Devanagari
-        0x0901...0x0903,
-        0x0905...0x0939,
-        0x093E...0x094D,
-        0x0950...0x0952,
-        0x0958...0x0963,
-
-        // Bengali
-        0x0981...0x0983,
-        0x0985...0x098C,
-        0x098F...0x0990,
-        0x0993...0x09A8,
-        0x09AA...0x09B0,
-        0x09B2,
-        0x09B6...0x09B9,
-        0x09BE...0x09C4,
-        0x09C7...0x09C8,
-        0x09CB...0x09CD,
-        0x09DC...0x09DD,
-        0x09DF...0x09E3,
-        0x09F0...0x09F1,
-
-        // Gurmukhi
-        0x0A02,
-        0x0A05...0x0A0A,
-        0x0A0F...0x0A10,
-        0x0A13...0x0A28,
-        0x0A2A...0x0A30,
-        0x0A32...0x0A33,
-        0x0A35...0x0A36,
-        0x0A38...0x0A39,
-        0x0A3E...0x0A42,
-        0x0A47...0x0A48,
-        0x0A4B...0x0A4D,
-        0x0A59...0x0A5C,
-        0x0A5E,
-        0x0A74,
-
-        // Gujarati
-        0x0A81...0x0A83,
-        0x0A85...0x0A8B,
-        0x0A8D,
-        0x0A8F...0x0A91,
-        0x0A93...0x0AA8,
-        0x0AAA...0x0AB0,
-        0x0AB2...0x0AB3,
-        0x0AB5...0x0AB9,
-        0x0ABD...0x0AC5,
-        0x0AC7...0x0AC9,
-        0x0ACB...0x0ACD,
-        0x0AD0,
-        0x0AE0,
-
-        // Oriya
-        0x0B01...0x0B03,
-        0x0B05...0x0B0C,
-        0x0B0F...0x0B10,
-        0x0B13...0x0B28,
-        0x0B2A...0x0B30,
-        0x0B32...0x0B33,
-        0x0B36...0x0B39,
-        0x0B3E...0x0B43,
-        0x0B47...0x0B48,
-        0x0B4B...0x0B4D,
-        0x0B5C...0x0B5D,
-        0x0B5F...0x0B61,
-
-        // Tamil
-        0x0B82...0x0B83,
-        0x0B85...0x0B8A,
-        0x0B8E...0x0B90,
-        0x0B92...0x0B95,
-        0x0B99...0x0B9A,
-        0x0B9C,
-        0x0B9E...0x0B9F,
-        0x0BA3...0x0BA4,
-        0x0BA8...0x0BAA,
-        0x0BAE...0x0BB5,
-        0x0BB7...0x0BB9,
-        0x0BBE...0x0BC2,
-        0x0BC6...0x0BC8,
-        0x0BCA...0x0BCD,
-
-        // Telugu
-        0x0C01...0x0C03,
-        0x0C05...0x0C0C,
-        0x0C0E...0x0C10,
-        0x0C12...0x0C28,
-        0x0C2A...0x0C33,
-        0x0C35...0x0C39,
-        0x0C3E...0x0C44,
-        0x0C46...0x0C48,
-        0x0C4A...0x0C4D,
-        0x0C60...0x0C61,
-
-        // Kannada
-        0x0C82...0x0C83,
-        0x0C85...0x0C8C,
-        0x0C8E...0x0C90,
-        0x0C92...0x0CA8,
-        0x0CAA...0x0CB3,
-        0x0CB5...0x0CB9,
-        0x0CBE...0x0CC4,
-        0x0CC6...0x0CC8,
-        0x0CCA...0x0CCD,
-        0x0CDE,
-        0x0CE0...0x0CE1,
-
-        // Malayalam
-        0x0D02...0x0D03,
-        0x0D05...0x0D0C,
-        0x0D0E...0x0D10,
-        0x0D12...0x0D28,
-        0x0D2A...0x0D39,
-        0x0D3E...0x0D43,
-        0x0D46...0x0D48,
-        0x0D4A...0x0D4D,
-        0x0D60...0x0D61,
-
-        // Thai (excluding digits 0x0E50...0x0E59; originally 0x0E01...0x0E3A and 0x0E40...0x0E5B
-        0x0E01...0x0E3A,
-        0x0E40...0x0E4F,
-        0x0E5A...0x0E5B,
-
-        // Lao
-        0x0E81...0x0E82,
-        0x0E84,
-        0x0E87...0x0E88,
-        0x0E8A,
-        0x0E8D,
-        0x0E94...0x0E97,
-        0x0E99...0x0E9F,
-        0x0EA1...0x0EA3,
-        0x0EA5,
-        0x0EA7,
-        0x0EAA...0x0EAB,
-        0x0EAD...0x0EAE,
-        0x0EB0...0x0EB9,
-        0x0EBB...0x0EBD,
-        0x0EC0...0x0EC4,
-        0x0EC6,
-        0x0EC8...0x0ECD,
-        0x0EDC...0x0EDD,
-
-        // Tibetan
-        0x0F00,
-        0x0F18...0x0F19,
-        0x0F35,
-        0x0F37,
-        0x0F39,
-        0x0F3E...0x0F47,
-        0x0F49...0x0F69,
-        0x0F71...0x0F84,
-        0x0F86...0x0F8B,
-        0x0F90...0x0F95,
-        0x0F97,
-        0x0F99...0x0FAD,
-        0x0FB1...0x0FB7,
-        0x0FB9,
-
-        // Georgian
-        0x10A0...0x10C5,
-        0x10D0...0x10F6,
-
-        // Hiragana
-        0x3041...0x3093,
-        0x309B...0x309C,
-
-        // Katakana
-        0x30A1...0x30F6,
-        0x30FB...0x30FC,
-
-        // Bopomofo
-        0x3105...0x312C,
-
-        // CJK Unified Ideographs
-        0x4E00...0x9FA5,
-
-        // Hangul
-        0xAC00...0xD7A3,
-
-        // Digits
-        0x0660...0x0669,
-        0x06F0...0x06F9,
-        0x0966...0x096F,
-        0x09E6...0x09EF,
-        0x0A66...0x0A6F,
-        0x0AE6...0x0AEF,
-        0x0B66...0x0B6F,
-        0x0BE7...0x0BEF,
-        0x0C66...0x0C6F,
-        0x0CE6...0x0CEF,
-        0x0D66...0x0D6F,
-        0x0E50...0x0E59,
-        0x0ED0...0x0ED9,
-        0x0F20...0x0F33,
-
-        // Special characters
-        0x00B5,
-        0x00B7,
-        0x02B0...0x02B8,
-        0x02BB,
-        0x02BD...0x02C1,
-        0x02D0...0x02D1,
-        0x02E0...0x02E4,
-        0x037A,
-        0x0559,
-        0x093D,
-        0x0B3D,
-        0x1FBE,
-        0x203F...0x2040,
-        0x2102,
-        0x2107,
-        0x210A...0x2113,
-        0x2115,
-        0x2118...0x211D,
-        0x2124,
-        0x2126,
-        0x2128,
-        0x212A...0x2131,
-        0x2133...0x2138,
-        0x2160...0x2182,
-        0x3005...0x3007,
-        0x3021...0x3029,
-        => true,
-        else => false,
-    };
-}
-
-/// C11 standard Annex D
-pub fn isC11DisallowedInitialIdChar(codepoint: u21) bool {
-    assert(codepoint > 0x7F);
-    return switch (codepoint) {
-        0x0300...0x036F,
-        0x1DC0...0x1DFF,
-        0x20D0...0x20FF,
-        0xFE20...0xFE2F,
-        => true,
-        else => false,
-    };
-}
-
-/// These are "digit" characters; C99 disallows them as the first
-/// character of an identifier
-pub fn isC99DisallowedInitialIDChar(codepoint: u21) bool {
-    assert(codepoint > 0x7F);
-    return switch (codepoint) {
-        0x0660...0x0669,
-        0x06F0...0x06F9,
-        0x0966...0x096F,
-        0x09E6...0x09EF,
-        0x0A66...0x0A6F,
-        0x0AE6...0x0AEF,
-        0x0B66...0x0B6F,
-        0x0BE7...0x0BEF,
-        0x0C66...0x0C6F,
-        0x0CE6...0x0CEF,
-        0x0D66...0x0D6F,
-        0x0E50...0x0E59,
-        0x0ED0...0x0ED9,
-        0x0F20...0x0F33,
-        => true,
-        else => false,
-    };
-}
-
-pub fn isInvisible(codepoint: u21) bool {
-    assert(codepoint > 0x7F);
-    return switch (codepoint) {
-        0x00ad, // SOFT HYPHEN
-        0x200b, // ZERO WIDTH SPACE
-        0x200c, // ZERO WIDTH NON-JOINER
-        0x200d, // ZERO WIDTH JOINER
-        0x2060, // WORD JOINER
-        0x2061, // FUNCTION APPLICATION
-        0x2062, // INVISIBLE TIMES
-        0x2063, // INVISIBLE SEPARATOR
-        0x2064, // INVISIBLE PLUS
-        0xfeff, // ZERO WIDTH NO-BREAK SPACE
-        => true,
-        else => false,
-    };
-}
-
-/// Checks for identifier characters which resemble non-identifier characters
-pub fn homoglyph(codepoint: u21) ?u21 {
-    assert(codepoint > 0x7F);
-    return switch (codepoint) {
-        0x01c3 => '!', // LATIN LETTER RETROFLEX CLICK
-        0x037e => ';', // GREEK QUESTION MARK
-        0x2212 => '-', // MINUS SIGN
-        0x2215 => '/', // DIVISION SLASH
-        0x2216 => '\\', // SET MINUS
-        0x2217 => '*', // ASTERISK OPERATOR
-        0x2223 => '|', // DIVIDES
-        0x2227 => '^', // LOGICAL AND
-        0x2236 => ':', // RATIO
-        0x223c => '~', // TILDE OPERATOR
-        0xa789 => ':', // MODIFIER LETTER COLON
-        0xff01 => '!', // FULLWIDTH EXCLAMATION MARK
-        0xff03 => '#', // FULLWIDTH NUMBER SIGN
-        0xff04 => '$', // FULLWIDTH DOLLAR SIGN
-        0xff05 => '%', // FULLWIDTH PERCENT SIGN
-        0xff06 => '&', // FULLWIDTH AMPERSAND
-        0xff08 => '(', // FULLWIDTH LEFT PARENTHESIS
-        0xff09 => ')', // FULLWIDTH RIGHT PARENTHESIS
-        0xff0a => '*', // FULLWIDTH ASTERISK
-        0xff0b => '+', // FULLWIDTH ASTERISK
-        0xff0c => ',', // FULLWIDTH COMMA
-        0xff0d => '-', // FULLWIDTH HYPHEN-MINUS
-        0xff0e => '.', // FULLWIDTH FULL STOP
-        0xff0f => '/', // FULLWIDTH SOLIDUS
-        0xff1a => ':', // FULLWIDTH COLON
-        0xff1b => ';', // FULLWIDTH SEMICOLON
-        0xff1c => '<', // FULLWIDTH LESS-THAN SIGN
-        0xff1d => '=', // FULLWIDTH EQUALS SIGN
-        0xff1e => '>', // FULLWIDTH GREATER-THAN SIGN
-        0xff1f => '?', // FULLWIDTH QUESTION MARK
-        0xff20 => '@', // FULLWIDTH COMMERCIAL AT
-        0xff3b => '[', // FULLWIDTH LEFT SQUARE BRACKET
-        0xff3c => '\\', // FULLWIDTH REVERSE SOLIDUS
-        0xff3d => ']', // FULLWIDTH RIGHT SQUARE BRACKET
-        0xff3e => '^', // FULLWIDTH CIRCUMFLEX ACCENT
-        0xff5b => '{', // FULLWIDTH LEFT CURLY BRACKET
-        0xff5c => '|', // FULLWIDTH VERTICAL LINE
-        0xff5d => '}', // FULLWIDTH RIGHT CURLY BRACKET
-        0xff5e => '~', // FULLWIDTH TILDE
-        else => null,
-    };
-}
deps/aro/CharLiteral.zig
@@ -1,298 +0,0 @@
-const std = @import("std");
-const Compilation = @import("Compilation.zig");
-const Type = @import("Type.zig");
-const Diagnostics = @import("Diagnostics.zig");
-const Tokenizer = @import("Tokenizer.zig");
-const mem = std.mem;
-
-pub const Item = union(enum) {
-    /// decoded escape
-    value: u32,
-    /// Char literal in the source text is not utf8 encoded
-    improperly_encoded: []const u8,
-    /// 1 or more unescaped bytes
-    utf8_text: std.unicode.Utf8View,
-};
-
-const CharDiagnostic = struct {
-    tag: Diagnostics.Tag,
-    extra: Diagnostics.Message.Extra,
-};
-
-pub const Kind = enum {
-    char,
-    wide,
-    utf_8,
-    utf_16,
-    utf_32,
-
-    pub fn classify(id: Tokenizer.Token.Id) Kind {
-        return switch (id) {
-            .char_literal,
-            .string_literal,
-            => .char,
-            .char_literal_utf_8,
-            .string_literal_utf_8,
-            => .utf_8,
-            .char_literal_wide,
-            .string_literal_wide,
-            => .wide,
-            .char_literal_utf_16,
-            .string_literal_utf_16,
-            => .utf_16,
-            .char_literal_utf_32,
-            .string_literal_utf_32,
-            => .utf_32,
-            else => unreachable,
-        };
-    }
-
-    /// Largest unicode codepoint that can be represented by this character kind
-    /// May be smaller than the largest value that can be represented.
-    /// For example u8 char literals may only specify 0-127 via literals or
-    /// character escapes, but may specify up to \xFF via hex escapes.
-    pub fn maxCodepoint(kind: Kind, comp: *const Compilation) u21 {
-        return @intCast(switch (kind) {
-            .char => std.math.maxInt(u7),
-            .wide => @min(0x10FFFF, comp.types.wchar.maxInt(comp)),
-            .utf_8 => std.math.maxInt(u7),
-            .utf_16 => std.math.maxInt(u16),
-            .utf_32 => 0x10FFFF,
-        });
-    }
-
-    /// Largest integer that can be represented by this character kind
-    pub fn maxInt(kind: Kind, comp: *const Compilation) u32 {
-        return @intCast(switch (kind) {
-            .char, .utf_8 => std.math.maxInt(u8),
-            .wide => comp.types.wchar.maxInt(comp),
-            .utf_16 => std.math.maxInt(u16),
-            .utf_32 => std.math.maxInt(u32),
-        });
-    }
-
-    pub fn charLiteralType(kind: Kind, comp: *const Compilation) Type {
-        return switch (kind) {
-            .char => Type.int,
-            .wide => comp.types.wchar,
-            .utf_8 => .{ .specifier = .uchar },
-            .utf_16 => comp.types.uint_least16_t,
-            .utf_32 => comp.types.uint_least32_t,
-        };
-    }
-
-    /// Return the actual contents of the string literal with leading / trailing quotes and
-    /// specifiers removed
-    pub fn contentSlice(kind: Kind, delimited: []const u8) []const u8 {
-        const end = delimited.len - 1; // remove trailing quote
-        return switch (kind) {
-            .char => delimited[1..end],
-            .wide => delimited[2..end],
-            .utf_8 => delimited[3..end],
-            .utf_16 => delimited[2..end],
-            .utf_32 => delimited[2..end],
-        };
-    }
-};
-
-pub const Parser = struct {
-    literal: []const u8,
-    i: usize = 0,
-    kind: Kind,
-    /// We only want to issue a max of 1 error per char literal
-    errored: bool = false,
-    errors: std.BoundedArray(CharDiagnostic, 4) = .{},
-    comp: *const Compilation,
-
-    pub fn init(literal: []const u8, kind: Kind, comp: *const Compilation) Parser {
-        return .{
-            .literal = literal,
-            .comp = comp,
-            .kind = kind,
-        };
-    }
-
-    pub fn err(self: *Parser, tag: Diagnostics.Tag, extra: Diagnostics.Message.Extra) void {
-        if (self.errored) return;
-        self.errored = true;
-        self.errors.append(.{ .tag = tag, .extra = extra }) catch {};
-    }
-
-    pub fn warn(self: *Parser, tag: Diagnostics.Tag, extra: Diagnostics.Message.Extra) void {
-        if (self.errored) return;
-        self.errors.append(.{ .tag = tag, .extra = extra }) catch {};
-    }
-
-    pub fn next(self: *Parser) ?Item {
-        if (self.i >= self.literal.len) return null;
-
-        const start = self.i;
-        if (self.literal[start] != '\\') {
-            self.i = mem.indexOfScalarPos(u8, self.literal, start + 1, '\\') orelse self.literal.len;
-            const unescaped_slice = self.literal[start..self.i];
-
-            const view = std.unicode.Utf8View.init(unescaped_slice) catch {
-                if (self.kind != .char) {
-                    self.err(.illegal_char_encoding_error, .{ .none = {} });
-                } else {
-                    self.warn(.illegal_char_encoding_warning, .{ .none = {} });
-                }
-                return .{ .improperly_encoded = self.literal[start..self.i] };
-            };
-            return .{ .utf8_text = view };
-        }
-        switch (self.literal[start + 1]) {
-            'u', 'U' => return self.parseUnicodeEscape(),
-            else => return self.parseEscapedChar(),
-        }
-    }
-
-    fn parseUnicodeEscape(self: *Parser) ?Item {
-        const start = self.i;
-
-        std.debug.assert(self.literal[self.i] == '\\');
-
-        const kind = self.literal[self.i + 1];
-        std.debug.assert(kind == 'u' or kind == 'U');
-
-        self.i += 2;
-        if (self.i >= self.literal.len or !std.ascii.isHex(self.literal[self.i])) {
-            self.err(.missing_hex_escape, .{ .ascii = @intCast(kind) });
-            return null;
-        }
-        const expected_len: usize = if (kind == 'u') 4 else 8;
-        var overflowed = false;
-        var count: usize = 0;
-        var val: u32 = 0;
-
-        for (self.literal[self.i..], 0..) |c, i| {
-            if (i == expected_len) break;
-
-            const char = std.fmt.charToDigit(c, 16) catch {
-                break;
-            };
-
-            val, const overflow = @shlWithOverflow(val, 4);
-            overflowed = overflowed or overflow != 0;
-            val |= char;
-            count += 1;
-        }
-        self.i += expected_len;
-
-        if (overflowed) {
-            self.err(.escape_sequence_overflow, .{ .unsigned = start });
-            return null;
-        }
-
-        if (count != expected_len) {
-            self.err(.incomplete_universal_character, .{ .none = {} });
-            return null;
-        }
-
-        if (val > std.math.maxInt(u21) or !std.unicode.utf8ValidCodepoint(@intCast(val))) {
-            self.err(.invalid_universal_character, .{ .unsigned = start });
-            return null;
-        }
-
-        if (val > self.kind.maxCodepoint(self.comp)) {
-            self.err(.char_too_large, .{ .none = {} });
-        }
-
-        if (val < 0xA0 and (val != '$' and val != '@' and val != '`')) {
-            const is_error = !self.comp.langopts.standard.atLeast(.c2x);
-            if (val >= 0x20 and val <= 0x7F) {
-                if (is_error) {
-                    self.err(.ucn_basic_char_error, .{ .ascii = @intCast(val) });
-                } else {
-                    self.warn(.ucn_basic_char_warning, .{ .ascii = @intCast(val) });
-                }
-            } else {
-                if (is_error) {
-                    self.err(.ucn_control_char_error, .{ .none = {} });
-                } else {
-                    self.warn(.ucn_control_char_warning, .{ .none = {} });
-                }
-            }
-        }
-
-        self.warn(.c89_ucn_in_literal, .{ .none = {} });
-        return .{ .value = val };
-    }
-
-    fn parseEscapedChar(self: *Parser) Item {
-        self.i += 1;
-        const c = self.literal[self.i];
-        defer if (c != 'x' and (c < '0' or c > '7')) {
-            self.i += 1;
-        };
-
-        switch (c) {
-            '\n' => unreachable, // removed by line splicing
-            '\r' => unreachable, // removed by line splicing
-            '\'', '\"', '\\', '?' => return .{ .value = c },
-            'n' => return .{ .value = '\n' },
-            'r' => return .{ .value = '\r' },
-            't' => return .{ .value = '\t' },
-            'a' => return .{ .value = 0x07 },
-            'b' => return .{ .value = 0x08 },
-            'e', 'E' => {
-                self.warn(.non_standard_escape_char, .{ .invalid_escape = .{ .char = c, .offset = @intCast(self.i) } });
-                return .{ .value = 0x1B };
-            },
-            '(', '{', '[', '%' => {
-                self.warn(.non_standard_escape_char, .{ .invalid_escape = .{ .char = c, .offset = @intCast(self.i) } });
-                return .{ .value = c };
-            },
-            'f' => return .{ .value = 0x0C },
-            'v' => return .{ .value = 0x0B },
-            'x' => return .{ .value = self.parseNumberEscape(.hex) },
-            '0'...'7' => return .{ .value = self.parseNumberEscape(.octal) },
-            'u', 'U' => unreachable, // handled by parseUnicodeEscape
-            else => {
-                self.warn(.unknown_escape_sequence, .{ .invalid_escape = .{ .char = c, .offset = @intCast(self.i) } });
-                return .{ .value = c };
-            },
-        }
-    }
-
-    fn parseNumberEscape(self: *Parser, base: EscapeBase) u32 {
-        var val: u32 = 0;
-        var count: usize = 0;
-        var overflowed = false;
-        defer self.i += count;
-        const slice = switch (base) {
-            .octal => self.literal[self.i..@min(self.literal.len, self.i + 3)], // max 3 chars
-            .hex => blk: {
-                self.i += 1;
-                break :blk self.literal[self.i..]; // skip over 'x'; could have an arbitrary number of chars
-            },
-        };
-        for (slice) |c| {
-            const char = std.fmt.charToDigit(c, @intFromEnum(base)) catch break;
-            val, const overflow = @shlWithOverflow(val, base.log2());
-            if (overflow != 0) overflowed = true;
-            val += char;
-            count += 1;
-        }
-        if (overflowed or val > self.kind.maxInt(self.comp)) {
-            self.err(.escape_sequence_overflow, .{ .unsigned = 0 });
-        }
-        if (count == 0) {
-            std.debug.assert(base == .hex);
-            self.err(.missing_hex_escape, .{ .ascii = 'x' });
-        }
-        return val;
-    }
-};
-
-const EscapeBase = enum(u8) {
-    octal = 8,
-    hex = 16,
-
-    fn log2(base: EscapeBase) u4 {
-        return switch (base) {
-            .octal => 3,
-            .hex => 4,
-        };
-    }
-};
deps/aro/Codegen_legacy.zig
@@ -1,108 +0,0 @@
-const std = @import("std");
-const Compilation = @import("Compilation.zig");
-const Tree = @import("Tree.zig");
-const NodeIndex = Tree.NodeIndex;
-const Object = @import("Object.zig");
-const x86_64 = @import("codegen/x86_64.zig");
-
-const Codegen = @This();
-
-comp: *Compilation,
-tree: Tree,
-obj: *Object,
-node_tag: []const Tree.Tag,
-node_data: []const Tree.Node.Data,
-
-pub const Error = Compilation.Error || error{CodegenFailed};
-
-/// Generate tree to an object file.
-/// Caller is responsible for flushing and freeing the returned object.
-pub fn generateTree(comp: *Compilation, tree: Tree) Compilation.Error!*Object {
-    var c = Codegen{
-        .comp = comp,
-        .tree = tree,
-        .obj = try Object.create(comp),
-        .node_tag = tree.nodes.items(.tag),
-        .node_data = tree.nodes.items(.data),
-    };
-    errdefer c.obj.deinit();
-
-    const node_tags = tree.nodes.items(.tag);
-    for (tree.root_decls) |decl| {
-        switch (node_tags[@intFromEnum(decl)]) {
-            // these produce no code
-            .static_assert,
-            .typedef,
-            .struct_decl_two,
-            .union_decl_two,
-            .enum_decl_two,
-            .struct_decl,
-            .union_decl,
-            .enum_decl,
-            .struct_forward_decl,
-            .union_forward_decl,
-            .enum_forward_decl,
-            => {},
-
-            // define symbol
-            .fn_proto,
-            .static_fn_proto,
-            .inline_fn_proto,
-            .inline_static_fn_proto,
-            .extern_var,
-            .threadlocal_extern_var,
-            => {
-                const name = c.tree.tokSlice(c.node_data[@intFromEnum(decl)].decl.name);
-                _ = try c.obj.declareSymbol(.undefined, name, .Strong, .external, 0, 0);
-            },
-
-            // function definition
-            .fn_def,
-            .static_fn_def,
-            .inline_fn_def,
-            .inline_static_fn_def,
-            => c.genFn(decl) catch |err| switch (err) {
-                error.FatalError => return error.FatalError,
-                error.OutOfMemory => return error.OutOfMemory,
-                error.CodegenFailed => continue,
-            },
-
-            .@"var",
-            .static_var,
-            .threadlocal_var,
-            .threadlocal_static_var,
-            .implicit_static_var,
-            => c.genVar(decl) catch |err| switch (err) {
-                error.FatalError => return error.FatalError,
-                error.OutOfMemory => return error.OutOfMemory,
-                error.CodegenFailed => continue,
-            },
-
-            // TODO
-            .file_scope_asm => {},
-
-            else => unreachable,
-        }
-    }
-
-    return c.obj;
-}
-
-fn genFn(c: *Codegen, decl: NodeIndex) Error!void {
-    const section: Object.Section = .func;
-    const data = try c.obj.getSection(section);
-    const start_len = data.items.len;
-    switch (c.comp.target.cpu.arch) {
-        .x86_64 => try x86_64.genFn(c, decl, data),
-        else => unreachable,
-    }
-    const name = c.tree.tokSlice(c.node_data[@intFromEnum(decl)].decl.name);
-    _ = try c.obj.declareSymbol(section, name, .Strong, .func, start_len, data.items.len - start_len);
-}
-
-fn genVar(c: *Codegen, decl: NodeIndex) Error!void {
-    switch (c.comp.target.cpu.arch) {
-        .x86_64 => try x86_64.genVar(c, decl),
-        else => unreachable,
-    }
-}
deps/aro/Diagnostics.zig
@@ -1,2935 +0,0 @@
-const std = @import("std");
-const mem = std.mem;
-const Allocator = mem.Allocator;
-const Source = @import("Source.zig");
-const Compilation = @import("Compilation.zig");
-const Attribute = @import("Attribute.zig");
-const Builtins = @import("Builtins.zig");
-const Builtin = Builtins.Builtin;
-const Header = @import("Builtins/Properties.zig").Header;
-const Tree = @import("Tree.zig");
-const util = @import("util.zig");
-const is_windows = @import("builtin").os.tag == .windows;
-
-const Diagnostics = @This();
-
-const PointerSignMessage = " converts between pointers to integer types with different sign";
-
-pub const Message = struct {
-    tag: Tag,
-    kind: Kind = undefined,
-    loc: Source.Location = .{},
-    extra: Extra = .{ .none = {} },
-
-    pub const Extra = union {
-        str: []const u8,
-        tok_id: struct {
-            expected: Tree.Token.Id,
-            actual: Tree.Token.Id,
-        },
-        tok_id_expected: Tree.Token.Id,
-        arguments: struct {
-            expected: u32,
-            actual: u32,
-        },
-        codepoints: struct {
-            actual: u21,
-            resembles: u21,
-        },
-        attr_arg_count: struct {
-            attribute: Attribute.Tag,
-            expected: u32,
-        },
-        attr_arg_type: struct {
-            expected: Attribute.ArgumentType,
-            actual: Attribute.ArgumentType,
-        },
-        attr_enum: struct {
-            tag: Attribute.Tag,
-        },
-        ignored_record_attr: struct {
-            tag: Attribute.Tag,
-            specifier: enum { @"struct", @"union", @"enum" },
-        },
-        builtin_with_header: struct {
-            builtin: Builtin.Tag,
-            header: Header,
-        },
-        invalid_escape: struct {
-            offset: u32,
-            char: u8,
-        },
-        actual_codepoint: u21,
-        ascii: u7,
-        unsigned: u64,
-        pow_2_as_string: u8,
-        signed: i64,
-        none: void,
-    };
-};
-
-pub const Tag = std.meta.DeclEnum(messages);
-
-pub const Kind = enum { @"fatal error", @"error", note, warning, off, default };
-
-pub const Options = struct {
-    // do not directly use these, instead add `const NAME = true;`
-    all: Kind = .default,
-    extra: Kind = .default,
-    pedantic: Kind = .default,
-
-    @"unsupported-pragma": Kind = .default,
-    @"c99-extensions": Kind = .default,
-    @"implicit-int": Kind = .default,
-    @"duplicate-decl-specifier": Kind = .default,
-    @"missing-declaration": Kind = .default,
-    @"extern-initializer": Kind = .default,
-    @"implicit-function-declaration": Kind = .default,
-    @"unused-value": Kind = .default,
-    @"unreachable-code": Kind = .default,
-    @"unknown-warning-option": Kind = .default,
-    @"gnu-empty-struct": Kind = .default,
-    @"gnu-alignof-expression": Kind = .default,
-    @"macro-redefined": Kind = .default,
-    @"generic-qual-type": Kind = .default,
-    multichar: Kind = .default,
-    @"pointer-integer-compare": Kind = .default,
-    @"compare-distinct-pointer-types": Kind = .default,
-    @"literal-conversion": Kind = .default,
-    @"cast-qualifiers": Kind = .default,
-    @"array-bounds": Kind = .default,
-    @"int-conversion": Kind = .default,
-    @"pointer-type-mismatch": Kind = .default,
-    @"c2x-extensions": Kind = .default,
-    @"incompatible-pointer-types": Kind = .default,
-    @"excess-initializers": Kind = .default,
-    @"division-by-zero": Kind = .default,
-    @"initializer-overrides": Kind = .default,
-    @"incompatible-pointer-types-discards-qualifiers": Kind = .default,
-    @"unknown-attributes": Kind = .default,
-    @"ignored-attributes": Kind = .default,
-    @"builtin-macro-redefined": Kind = .default,
-    @"gnu-label-as-value": Kind = .default,
-    @"malformed-warning-check": Kind = .default,
-    @"#pragma-messages": Kind = .default,
-    @"newline-eof": Kind = .default,
-    @"empty-translation-unit": Kind = .default,
-    @"implicitly-unsigned-literal": Kind = .default,
-    @"c99-compat": Kind = .default,
-    @"unicode-zero-width": Kind = .default,
-    @"unicode-homoglyph": Kind = .default,
-    unicode: Kind = .default,
-    @"return-type": Kind = .default,
-    @"dollar-in-identifier-extension": Kind = .default,
-    @"unknown-pragmas": Kind = .default,
-    @"predefined-identifier-outside-function": Kind = .default,
-    @"many-braces-around-scalar-init": Kind = .default,
-    uninitialized: Kind = .default,
-    @"gnu-statement-expression": Kind = .default,
-    @"gnu-imaginary-constant": Kind = .default,
-    @"gnu-complex-integer": Kind = .default,
-    @"ignored-qualifiers": Kind = .default,
-    @"integer-overflow": Kind = .default,
-    @"extra-semi": Kind = .default,
-    @"gnu-binary-literal": Kind = .default,
-    @"variadic-macros": Kind = .default,
-    varargs: Kind = .default,
-    @"#warnings": Kind = .default,
-    @"deprecated-declarations": Kind = .default,
-    @"backslash-newline-escape": Kind = .default,
-    @"pointer-to-int-cast": Kind = .default,
-    @"gnu-case-range": Kind = .default,
-    @"c++-compat": Kind = .default,
-    vla: Kind = .default,
-    @"float-overflow-conversion": Kind = .default,
-    @"float-zero-conversion": Kind = .default,
-    @"float-conversion": Kind = .default,
-    @"gnu-folding-constant": Kind = .default,
-    undef: Kind = .default,
-    @"ignored-pragmas": Kind = .default,
-    @"gnu-include-next": Kind = .default,
-    @"include-next-outside-header": Kind = .default,
-    @"include-next-absolute-path": Kind = .default,
-    @"enum-too-large": Kind = .default,
-    @"fixed-enum-extension": Kind = .default,
-    @"designated-init": Kind = .default,
-    @"attribute-warning": Kind = .default,
-    @"invalid-noreturn": Kind = .default,
-    @"zero-length-array": Kind = .default,
-    @"old-style-flexible-struct": Kind = .default,
-    @"gnu-zero-variadic-macro-arguments": Kind = .default,
-    @"main-return-type": Kind = .default,
-    @"expansion-to-defined": Kind = .default,
-    @"bit-int-extension": Kind = .default,
-    @"keyword-macro": Kind = .default,
-    @"pointer-arith": Kind = .default,
-    @"sizeof-array-argument": Kind = .default,
-    @"pre-c2x-compat": Kind = .default,
-    @"pointer-bool-conversion": Kind = .default,
-    @"string-conversion": Kind = .default,
-    @"gnu-auto-type": Kind = .default,
-    @"gnu-union-cast": Kind = .default,
-    @"pointer-sign": Kind = .default,
-    @"fuse-ld-path": Kind = .default,
-    @"language-extension-token": Kind = .default,
-    @"complex-component-init": Kind = .default,
-    @"microsoft-include": Kind = .default,
-    @"microsoft-end-of-file": Kind = .default,
-    @"invalid-source-encoding": Kind = .default,
-    @"four-char-constants": Kind = .default,
-    @"unknown-escape-sequence": Kind = .default,
-    @"invalid-pp-token": Kind = .default,
-};
-
-const messages = struct {
-    pub const todo = struct { // Maybe someday this will no longer be needed.
-        const msg = "TODO: {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const error_directive = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const warning_directive = struct {
-        const msg = "{s}";
-        const opt = "#warnings";
-        const extra = .str;
-        const kind = .warning;
-    };
-    pub const elif_without_if = struct {
-        const msg = "#elif without #if";
-        const kind = .@"error";
-    };
-    pub const elif_after_else = struct {
-        const msg = "#elif after #else";
-        const kind = .@"error";
-    };
-    pub const elifdef_without_if = struct {
-        const msg = "#elifdef without #if";
-        const kind = .@"error";
-    };
-    pub const elifdef_after_else = struct {
-        const msg = "#elifdef after #else";
-        const kind = .@"error";
-    };
-    pub const elifndef_without_if = struct {
-        const msg = "#elifndef without #if";
-        const kind = .@"error";
-    };
-    pub const elifndef_after_else = struct {
-        const msg = "#elifndef after #else";
-        const kind = .@"error";
-    };
-    pub const else_without_if = struct {
-        const msg = "#else without #if";
-        const kind = .@"error";
-    };
-    pub const else_after_else = struct {
-        const msg = "#else after #else";
-        const kind = .@"error";
-    };
-    pub const endif_without_if = struct {
-        const msg = "#endif without #if";
-        const kind = .@"error";
-    };
-    pub const unknown_pragma = struct {
-        const msg = "unknown pragma ignored";
-        const opt = "unknown-pragmas";
-        const kind = .off;
-        const all = true;
-    };
-    pub const line_simple_digit = struct {
-        const msg = "#line directive requires a simple digit sequence";
-        const kind = .@"error";
-    };
-    pub const line_invalid_filename = struct {
-        const msg = "invalid filename for #line directive";
-        const kind = .@"error";
-    };
-    pub const unterminated_conditional_directive = struct {
-        const msg = "unterminated conditional directive";
-        const kind = .@"error";
-    };
-    pub const invalid_preprocessing_directive = struct {
-        const msg = "invalid preprocessing directive";
-        const kind = .@"error";
-    };
-    pub const macro_name_missing = struct {
-        const msg = "macro name missing";
-        const kind = .@"error";
-    };
-    pub const extra_tokens_directive_end = struct {
-        const msg = "extra tokens at end of macro directive";
-        const kind = .@"error";
-    };
-    pub const expected_value_in_expr = struct {
-        const msg = "expected value in expression";
-        const kind = .@"error";
-    };
-    pub const closing_paren = struct {
-        const msg = "expected closing ')'";
-        const kind = .@"error";
-    };
-    pub const to_match_paren = struct {
-        const msg = "to match this '('";
-        const kind = .note;
-    };
-    pub const to_match_brace = struct {
-        const msg = "to match this '{'";
-        const kind = .note;
-    };
-    pub const to_match_bracket = struct {
-        const msg = "to match this '['";
-        const kind = .note;
-    };
-    pub const header_str_closing = struct {
-        const msg = "expected closing '>'";
-        const kind = .@"error";
-    };
-    pub const header_str_match = struct {
-        const msg = "to match this '<'";
-        const kind = .note;
-    };
-    pub const string_literal_in_pp_expr = struct {
-        const msg = "string literal in preprocessor expression";
-        const kind = .@"error";
-    };
-    pub const float_literal_in_pp_expr = struct {
-        const msg = "floating point literal in preprocessor expression";
-        const kind = .@"error";
-    };
-    pub const defined_as_macro_name = struct {
-        const msg = "'defined' cannot be used as a macro name";
-        const kind = .@"error";
-    };
-    pub const macro_name_must_be_identifier = struct {
-        const msg = "macro name must be an identifier";
-        const kind = .@"error";
-    };
-    pub const whitespace_after_macro_name = struct {
-        const msg = "ISO C99 requires whitespace after the macro name";
-        const opt = "c99-extensions";
-        const kind = .warning;
-    };
-    pub const hash_hash_at_start = struct {
-        const msg = "'##' cannot appear at the start of a macro expansion";
-        const kind = .@"error";
-    };
-    pub const hash_hash_at_end = struct {
-        const msg = "'##' cannot appear at the end of a macro expansion";
-        const kind = .@"error";
-    };
-    pub const pasting_formed_invalid = struct {
-        const msg = "pasting formed '{s}', an invalid preprocessing token";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const missing_paren_param_list = struct {
-        const msg = "missing ')' in macro parameter list";
-        const kind = .@"error";
-    };
-    pub const unterminated_macro_param_list = struct {
-        const msg = "unterminated macro param list";
-        const kind = .@"error";
-    };
-    pub const invalid_token_param_list = struct {
-        const msg = "invalid token in macro parameter list";
-        const kind = .@"error";
-    };
-    pub const expected_comma_param_list = struct {
-        const msg = "expected comma in macro parameter list";
-        const kind = .@"error";
-    };
-    pub const hash_not_followed_param = struct {
-        const msg = "'#' is not followed by a macro parameter";
-        const kind = .@"error";
-    };
-    pub const expected_filename = struct {
-        const msg = "expected \"FILENAME\" or <FILENAME>";
-        const kind = .@"error";
-    };
-    pub const empty_filename = struct {
-        const msg = "empty filename";
-        const kind = .@"error";
-    };
-    pub const expected_invalid = struct {
-        const msg = "expected '{s}', found invalid bytes";
-        const extra = .tok_id_expected;
-        const kind = .@"error";
-    };
-    pub const expected_eof = struct {
-        const msg = "expected '{s}' before end of file";
-        const extra = .tok_id_expected;
-        const kind = .@"error";
-    };
-    pub const expected_token = struct {
-        const msg = "expected '{s}', found '{s}'";
-        const extra = .tok_id;
-        const kind = .@"error";
-    };
-    pub const expected_expr = struct {
-        const msg = "expected expression";
-        const kind = .@"error";
-    };
-    pub const expected_integer_constant_expr = struct {
-        const msg = "expression is not an integer constant expression";
-        const kind = .@"error";
-    };
-    pub const missing_type_specifier = struct {
-        const msg = "type specifier missing, defaults to 'int'";
-        const opt = "implicit-int";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const missing_type_specifier_c2x = struct {
-        const msg = "a type specifier is required for all declarations";
-        const kind = .@"error";
-    };
-    pub const multiple_storage_class = struct {
-        const msg = "cannot combine with previous '{s}' declaration specifier";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const static_assert_failure = struct {
-        const msg = "static assertion failed";
-        const kind = .@"error";
-    };
-    pub const static_assert_failure_message = struct {
-        const msg = "static assertion failed {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const expected_type = struct {
-        const msg = "expected a type";
-        const kind = .@"error";
-    };
-    pub const cannot_combine_spec = struct {
-        const msg = "cannot combine with previous '{s}' specifier";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const duplicate_decl_spec = struct {
-        const msg = "duplicate '{s}' declaration specifier";
-        const extra = .str;
-        const opt = "duplicate-decl-specifier";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const restrict_non_pointer = struct {
-        const msg = "restrict requires a pointer or reference ('{s}' is invalid)";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const expected_external_decl = struct {
-        const msg = "expected external declaration";
-        const kind = .@"error";
-    };
-    pub const expected_ident_or_l_paren = struct {
-        const msg = "expected identifier or '('";
-        const kind = .@"error";
-    };
-    pub const missing_declaration = struct {
-        const msg = "declaration does not declare anything";
-        const opt = "missing-declaration";
-        const kind = .warning;
-    };
-    pub const func_not_in_root = struct {
-        const msg = "function definition is not allowed here";
-        const kind = .@"error";
-    };
-    pub const illegal_initializer = struct {
-        const msg = "illegal initializer (only variables can be initialized)";
-        const kind = .@"error";
-    };
-    pub const extern_initializer = struct {
-        const msg = "extern variable has initializer";
-        const opt = "extern-initializer";
-        const kind = .warning;
-    };
-    pub const spec_from_typedef = struct {
-        const msg = "'{s}' came from typedef";
-        const extra = .str;
-        const kind = .note;
-    };
-    pub const param_before_var_args = struct {
-        const msg = "ISO C requires a named parameter before '...'";
-        const kind = .@"error";
-    };
-    pub const void_only_param = struct {
-        const msg = "'void' must be the only parameter if specified";
-        const kind = .@"error";
-    };
-    pub const void_param_qualified = struct {
-        const msg = "'void' parameter cannot be qualified";
-        const kind = .@"error";
-    };
-    pub const void_must_be_first_param = struct {
-        const msg = "'void' must be the first parameter if specified";
-        const kind = .@"error";
-    };
-    pub const invalid_storage_on_param = struct {
-        const msg = "invalid storage class on function parameter";
-        const kind = .@"error";
-    };
-    pub const threadlocal_non_var = struct {
-        const msg = "_Thread_local only allowed on variables";
-        const kind = .@"error";
-    };
-    pub const func_spec_non_func = struct {
-        const msg = "'{s}' can only appear on functions";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const illegal_storage_on_func = struct {
-        const msg = "illegal storage class on function";
-        const kind = .@"error";
-    };
-    pub const illegal_storage_on_global = struct {
-        const msg = "illegal storage class on global variable";
-        const kind = .@"error";
-    };
-    pub const expected_stmt = struct {
-        const msg = "expected statement";
-        const kind = .@"error";
-    };
-    pub const func_cannot_return_func = struct {
-        const msg = "function cannot return a function";
-        const kind = .@"error";
-    };
-    pub const func_cannot_return_array = struct {
-        const msg = "function cannot return an array";
-        const kind = .@"error";
-    };
-    pub const undeclared_identifier = struct {
-        const msg = "use of undeclared identifier '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const not_callable = struct {
-        const msg = "cannot call non function type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const unsupported_str_cat = struct {
-        const msg = "unsupported string literal concatenation";
-        const kind = .@"error";
-    };
-    pub const static_func_not_global = struct {
-        const msg = "static functions must be global";
-        const kind = .@"error";
-    };
-    pub const implicit_func_decl = struct {
-        const msg = "implicit declaration of function '{s}' is invalid in C99";
-        const extra = .str;
-        const opt = "implicit-function-declaration";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const unknown_builtin = struct {
-        const msg = "use of unknown builtin '{s}'";
-        const extra = .str;
-        const opt = "implicit-function-declaration";
-        const kind = .@"error";
-        const all = true;
-    };
-    pub const implicit_builtin = struct {
-        const msg = "implicitly declaring library function '{s}'";
-        const extra = .str;
-        const opt = "implicit-function-declaration";
-        const kind = .@"error";
-        const all = true;
-    };
-    pub const implicit_builtin_header_note = struct {
-        const msg = "include the header <{s}.h> or explicitly provide a declaration for '{s}'";
-        const extra = .builtin_with_header;
-        const opt = "implicit-function-declaration";
-        const kind = .note;
-        const all = true;
-    };
-    pub const expected_param_decl = struct {
-        const msg = "expected parameter declaration";
-        const kind = .@"error";
-    };
-    pub const invalid_old_style_params = struct {
-        const msg = "identifier parameter lists are only allowed in function definitions";
-        const kind = .@"error";
-    };
-    pub const expected_fn_body = struct {
-        const msg = "expected function body after function declaration";
-        const kind = .@"error";
-    };
-    pub const invalid_void_param = struct {
-        const msg = "parameter cannot have void type";
-        const kind = .@"error";
-    };
-    pub const unused_value = struct {
-        const msg = "expression result unused";
-        const opt = "unused-value";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const continue_not_in_loop = struct {
-        const msg = "'continue' statement not in a loop";
-        const kind = .@"error";
-    };
-    pub const break_not_in_loop_or_switch = struct {
-        const msg = "'break' statement not in a loop or a switch";
-        const kind = .@"error";
-    };
-    pub const unreachable_code = struct {
-        const msg = "unreachable code";
-        const opt = "unreachable-code";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const duplicate_label = struct {
-        const msg = "duplicate label '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const previous_label = struct {
-        const msg = "previous definition of label '{s}' was here";
-        const extra = .str;
-        const kind = .note;
-    };
-    pub const undeclared_label = struct {
-        const msg = "use of undeclared label '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const case_not_in_switch = struct {
-        const msg = "'{s}' statement not in a switch statement";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const duplicate_switch_case_signed = struct {
-        const msg = "duplicate case value '{d}'";
-        const extra = .signed;
-        const kind = .@"error";
-    };
-    pub const duplicate_switch_case_unsigned = struct {
-        const msg = "duplicate case value '{d}'";
-        const extra = .unsigned;
-        const kind = .@"error";
-    };
-    pub const multiple_default = struct {
-        const msg = "multiple default cases in the same switch";
-        const kind = .@"error";
-    };
-    pub const previous_case = struct {
-        const msg = "previous case defined here";
-        const kind = .note;
-    };
-    pub const expected_arguments = struct {
-        const msg = "expected {d} argument(s) got {d}";
-        const extra = .arguments;
-        const kind = .@"error";
-    };
-    pub const expected_arguments_old = struct {
-        const msg = expected_arguments.msg;
-        const extra = .arguments;
-        const kind = .warning;
-    };
-    pub const expected_at_least_arguments = struct {
-        const msg = "expected at least {d} argument(s) got {d}";
-        const extra = .arguments;
-        const kind = .warning;
-    };
-    pub const invalid_static_star = struct {
-        const msg = "'static' may not be used with an unspecified variable length array size";
-        const kind = .@"error";
-    };
-    pub const static_non_param = struct {
-        const msg = "'static' used outside of function parameters";
-        const kind = .@"error";
-    };
-    pub const array_qualifiers = struct {
-        const msg = "type qualifier in non parameter array type";
-        const kind = .@"error";
-    };
-    pub const star_non_param = struct {
-        const msg = "star modifier used outside of function parameters";
-        const kind = .@"error";
-    };
-    pub const variable_len_array_file_scope = struct {
-        const msg = "variable length arrays not allowed at file scope";
-        const kind = .@"error";
-    };
-    pub const useless_static = struct {
-        const msg = "'static' useless without a constant size";
-        const kind = .warning;
-        const w_extra = true;
-    };
-    pub const negative_array_size = struct {
-        const msg = "array size must be 0 or greater";
-        const kind = .@"error";
-    };
-    pub const array_incomplete_elem = struct {
-        const msg = "array has incomplete element type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const array_func_elem = struct {
-        const msg = "arrays cannot have functions as their element type";
-        const kind = .@"error";
-    };
-    pub const static_non_outermost_array = struct {
-        const msg = "'static' used in non-outermost array type";
-        const kind = .@"error";
-    };
-    pub const qualifier_non_outermost_array = struct {
-        const msg = "type qualifier used in non-outermost array type";
-        const kind = .@"error";
-    };
-    pub const unterminated_macro_arg_list = struct {
-        const msg = "unterminated function macro argument list";
-        const kind = .@"error";
-    };
-    pub const unknown_warning = struct {
-        const msg = "unknown warning '{s}'";
-        const extra = .str;
-        const opt = "unknown-warning-option";
-        const kind = .warning;
-    };
-    pub const overflow_signed = struct {
-        const msg = "overflow in expression; result is '{d}'";
-        const extra = .signed;
-        const opt = "integer-overflow";
-        const kind = .warning;
-    };
-    pub const overflow_unsigned = struct {
-        const msg = overflow_signed.msg;
-        const extra = .unsigned;
-        const opt = "integer-overflow";
-        const kind = .warning;
-    };
-    pub const int_literal_too_big = struct {
-        const msg = "integer literal is too large to be represented in any integer type";
-        const kind = .@"error";
-    };
-    pub const indirection_ptr = struct {
-        const msg = "indirection requires pointer operand";
-        const kind = .@"error";
-    };
-    pub const addr_of_rvalue = struct {
-        const msg = "cannot take the address of an rvalue";
-        const kind = .@"error";
-    };
-    pub const addr_of_bitfield = struct {
-        const msg = "address of bit-field requested";
-        const kind = .@"error";
-    };
-    pub const not_assignable = struct {
-        const msg = "expression is not assignable";
-        const kind = .@"error";
-    };
-    pub const ident_or_l_brace = struct {
-        const msg = "expected identifier or '{'";
-        const kind = .@"error";
-    };
-    pub const empty_enum = struct {
-        const msg = "empty enum is invalid";
-        const kind = .@"error";
-    };
-    pub const redefinition = struct {
-        const msg = "redefinition of '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const previous_definition = struct {
-        const msg = "previous definition is here";
-        const kind = .note;
-    };
-    pub const expected_identifier = struct {
-        const msg = "expected identifier";
-        const kind = .@"error";
-    };
-    pub const expected_str_literal = struct {
-        const msg = "expected string literal for diagnostic message in static_assert";
-        const kind = .@"error";
-    };
-    pub const expected_str_literal_in = struct {
-        const msg = "expected string literal in '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const parameter_missing = struct {
-        const msg = "parameter named '{s}' is missing";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const empty_record = struct {
-        const msg = "empty {s} is a GNU extension";
-        const extra = .str;
-        const opt = "gnu-empty-struct";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const empty_record_size = struct {
-        const msg = "empty {s} has size 0 in C, size 1 in C++";
-        const extra = .str;
-        const opt = "c++-compat";
-        const kind = .off;
-    };
-    pub const wrong_tag = struct {
-        const msg = "use of '{s}' with tag type that does not match previous definition";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const expected_parens_around_typename = struct {
-        const msg = "expected parentheses around type name";
-        const kind = .@"error";
-    };
-    pub const alignof_expr = struct {
-        const msg = "'_Alignof' applied to an expression is a GNU extension";
-        const opt = "gnu-alignof-expression";
-        const kind = .warning;
-        const suppress_gnu = true;
-    };
-    pub const invalid_alignof = struct {
-        const msg = "invalid application of 'alignof' to an incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_sizeof = struct {
-        const msg = "invalid application of 'sizeof' to an incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const macro_redefined = struct {
-        const msg = "'{s}' macro redefined";
-        const extra = .str;
-        const opt = "macro-redefined";
-        const kind = .warning;
-    };
-    pub const generic_qual_type = struct {
-        const msg = "generic association with qualifiers cannot be matched with";
-        const opt = "generic-qual-type";
-        const kind = .warning;
-    };
-    pub const generic_array_type = struct {
-        const msg = "generic association array type cannot be matched with";
-        const opt = "generic-qual-type";
-        const kind = .warning;
-    };
-    pub const generic_func_type = struct {
-        const msg = "generic association function type cannot be matched with";
-        const opt = "generic-qual-type";
-        const kind = .warning;
-    };
-    pub const generic_duplicate = struct {
-        const msg = "type '{s}' in generic association compatible with previously specified type";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const generic_duplicate_here = struct {
-        const msg = "compatible type '{s}' specified here";
-        const extra = .str;
-        const kind = .note;
-    };
-    pub const generic_duplicate_default = struct {
-        const msg = "duplicate default generic association";
-        const kind = .@"error";
-    };
-    pub const generic_no_match = struct {
-        const msg = "controlling expression type '{s}' not compatible with any generic association type";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const escape_sequence_overflow = struct {
-        const msg = "escape sequence out of range";
-        const kind = .@"error";
-    };
-    pub const invalid_universal_character = struct {
-        const msg = "invalid universal character";
-        const kind = .@"error";
-    };
-    pub const incomplete_universal_character = struct {
-        const msg = "incomplete universal character name";
-        const kind = .@"error";
-    };
-    pub const multichar_literal_warning = struct {
-        const msg = "multi-character character constant";
-        const opt = "multichar";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const invalid_multichar_literal = struct {
-        const msg = "{s} character literals may not contain multiple characters";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const wide_multichar_literal = struct {
-        const msg = "extraneous characters in character constant ignored";
-        const kind = .warning;
-    };
-    pub const char_lit_too_wide = struct {
-        const msg = "character constant too long for its type";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const char_too_large = struct {
-        const msg = "character too large for enclosing character literal type";
-        const kind = .@"error";
-    };
-    pub const must_use_struct = struct {
-        const msg = "must use 'struct' tag to refer to type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const must_use_union = struct {
-        const msg = "must use 'union' tag to refer to type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const must_use_enum = struct {
-        const msg = "must use 'enum' tag to refer to type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const redefinition_different_sym = struct {
-        const msg = "redefinition of '{s}' as different kind of symbol";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const redefinition_incompatible = struct {
-        const msg = "redefinition of '{s}' with a different type";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const redefinition_of_parameter = struct {
-        const msg = "redefinition of parameter '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_bin_types = struct {
-        const msg = "invalid operands to binary expression ({s})";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const comparison_ptr_int = struct {
-        const msg = "comparison between pointer and integer ({s})";
-        const extra = .str;
-        const opt = "pointer-integer-compare";
-        const kind = .warning;
-    };
-    pub const comparison_distinct_ptr = struct {
-        const msg = "comparison of distinct pointer types ({s})";
-        const extra = .str;
-        const opt = "compare-distinct-pointer-types";
-        const kind = .warning;
-    };
-    pub const incompatible_pointers = struct {
-        const msg = "incompatible pointer types ({s})";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_argument_un = struct {
-        const msg = "invalid argument type '{s}' to unary expression";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const incompatible_assign = struct {
-        const msg = "assignment to {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const implicit_ptr_to_int = struct {
-        const msg = "implicit pointer to integer conversion from {s}";
-        const extra = .str;
-        const opt = "int-conversion";
-        const kind = .warning;
-    };
-    pub const invalid_cast_to_float = struct {
-        const msg = "pointer cannot be cast to type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_cast_to_pointer = struct {
-        const msg = "operand of type '{s}' cannot be cast to a pointer type";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_cast_type = struct {
-        const msg = "cannot cast to non arithmetic or pointer type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const qual_cast = struct {
-        const msg = "cast to type '{s}' will not preserve qualifiers";
-        const extra = .str;
-        const opt = "cast-qualifiers";
-        const kind = .warning;
-    };
-    pub const invalid_index = struct {
-        const msg = "array subscript is not an integer";
-        const kind = .@"error";
-    };
-    pub const invalid_subscript = struct {
-        const msg = "subscripted value is not an array or pointer";
-        const kind = .@"error";
-    };
-    pub const array_after = struct {
-        const msg = "array index {d} is past the end of the array";
-        const extra = .unsigned;
-        const opt = "array-bounds";
-        const kind = .warning;
-    };
-    pub const array_before = struct {
-        const msg = "array index {d} is before the beginning of the array";
-        const extra = .signed;
-        const opt = "array-bounds";
-        const kind = .warning;
-    };
-    pub const statement_int = struct {
-        const msg = "statement requires expression with integer type ('{s}' invalid)";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const statement_scalar = struct {
-        const msg = "statement requires expression with scalar type ('{s}' invalid)";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const func_should_return = struct {
-        const msg = "non-void function '{s}' should return a value";
-        const extra = .str;
-        const opt = "return-type";
-        const kind = .@"error";
-        const all = true;
-    };
-    pub const incompatible_return = struct {
-        const msg = "returning {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const incompatible_return_sign = struct {
-        const msg = "returning {s}" ++ PointerSignMessage;
-        const extra = .str;
-        const kind = .warning;
-        const opt = "pointer-sign";
-    };
-    pub const implicit_int_to_ptr = struct {
-        const msg = "implicit integer to pointer conversion from {s}";
-        const extra = .str;
-        const opt = "int-conversion";
-        const kind = .warning;
-    };
-    pub const func_does_not_return = struct {
-        const msg = "non-void function '{s}' does not return a value";
-        const extra = .str;
-        const opt = "return-type";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const void_func_returns_value = struct {
-        const msg = "void function '{s}' should not return a value";
-        const extra = .str;
-        const opt = "return-type";
-        const kind = .@"error";
-        const all = true;
-    };
-    pub const incompatible_arg = struct {
-        const msg = "passing {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const incompatible_ptr_arg = struct {
-        const msg = "passing {s}";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "incompatible-pointer-types";
-    };
-    pub const incompatible_ptr_arg_sign = struct {
-        const msg = "passing {s}" ++ PointerSignMessage;
-        const extra = .str;
-        const kind = .warning;
-        const opt = "pointer-sign";
-    };
-    pub const parameter_here = struct {
-        const msg = "passing argument to parameter here";
-        const kind = .note;
-    };
-    pub const atomic_array = struct {
-        const msg = "atomic cannot be applied to array type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const atomic_func = struct {
-        const msg = "atomic cannot be applied to function type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const atomic_incomplete = struct {
-        const msg = "atomic cannot be applied to incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const addr_of_register = struct {
-        const msg = "address of register variable requested";
-        const kind = .@"error";
-    };
-    pub const variable_incomplete_ty = struct {
-        const msg = "variable has incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const parameter_incomplete_ty = struct {
-        const msg = "parameter has incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const tentative_array = struct {
-        const msg = "tentative array definition assumed to have one element";
-        const kind = .warning;
-    };
-    pub const deref_incomplete_ty_ptr = struct {
-        const msg = "dereferencing pointer to incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const alignas_on_func = struct {
-        const msg = "'_Alignas' attribute only applies to variables and fields";
-        const kind = .@"error";
-    };
-    pub const alignas_on_param = struct {
-        const msg = "'_Alignas' attribute cannot be applied to a function parameter";
-        const kind = .@"error";
-    };
-    pub const minimum_alignment = struct {
-        const msg = "requested alignment is less than minimum alignment of {d}";
-        const extra = .unsigned;
-        const kind = .@"error";
-    };
-    pub const maximum_alignment = struct {
-        const msg = "requested alignment of {d} is too large";
-        const extra = .unsigned;
-        const kind = .@"error";
-    };
-    pub const negative_alignment = struct {
-        const msg = "requested negative alignment of {d} is invalid";
-        const extra = .signed;
-        const kind = .@"error";
-    };
-    pub const align_ignored = struct {
-        const msg = "'_Alignas' attribute is ignored here";
-        const kind = .warning;
-    };
-    pub const zero_align_ignored = struct {
-        const msg = "requested alignment of zero is ignored";
-        const kind = .warning;
-    };
-    pub const non_pow2_align = struct {
-        const msg = "requested alignment is not a power of 2";
-        const kind = .@"error";
-    };
-    pub const pointer_mismatch = struct {
-        const msg = "pointer type mismatch ({s})";
-        const extra = .str;
-        const opt = "pointer-type-mismatch";
-        const kind = .warning;
-    };
-    pub const static_assert_not_constant = struct {
-        const msg = "static_assert expression is not an integral constant expression";
-        const kind = .@"error";
-    };
-    pub const static_assert_missing_message = struct {
-        const msg = "static_assert with no message is a C2X extension";
-        const opt = "c2x-extensions";
-        const kind = .warning;
-        const suppress_version = .c2x;
-    };
-    pub const pre_c2x_compat = struct {
-        const msg = "{s} is incompatible with C standards before C2x";
-        const extra = .str;
-        const kind = .off;
-        const suppress_unless_version = .c2x;
-        const opt = "pre-c2x-compat";
-    };
-    pub const unbound_vla = struct {
-        const msg = "variable length array must be bound in function definition";
-        const kind = .@"error";
-    };
-    pub const array_too_large = struct {
-        const msg = "array is too large";
-        const kind = .@"error";
-    };
-    pub const incompatible_ptr_init = struct {
-        const msg = "incompatible pointer types initializing {s}";
-        const extra = .str;
-        const opt = "incompatible-pointer-types";
-        const kind = .warning;
-    };
-    pub const incompatible_ptr_init_sign = struct {
-        const msg = "incompatible pointer types initializing {s}" ++ PointerSignMessage;
-        const extra = .str;
-        const opt = "pointer-sign";
-        const kind = .warning;
-    };
-    pub const incompatible_ptr_assign = struct {
-        const msg = "incompatible pointer types assigning to {s}";
-        const extra = .str;
-        const opt = "incompatible-pointer-types";
-        const kind = .warning;
-    };
-    pub const incompatible_ptr_assign_sign = struct {
-        const msg = "incompatible pointer types assigning to {s} " ++ PointerSignMessage;
-        const extra = .str;
-        const opt = "pointer-sign";
-        const kind = .warning;
-    };
-    pub const vla_init = struct {
-        const msg = "variable-sized object may not be initialized";
-        const kind = .@"error";
-    };
-    pub const func_init = struct {
-        const msg = "illegal initializer type";
-        const kind = .@"error";
-    };
-    pub const incompatible_init = struct {
-        const msg = "initializing {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const empty_scalar_init = struct {
-        const msg = "scalar initializer cannot be empty";
-        const kind = .@"error";
-    };
-    pub const excess_scalar_init = struct {
-        const msg = "excess elements in scalar initializer";
-        const opt = "excess-initializers";
-        const kind = .warning;
-    };
-    pub const excess_str_init = struct {
-        const msg = "excess elements in string initializer";
-        const opt = "excess-initializers";
-        const kind = .warning;
-    };
-    pub const excess_struct_init = struct {
-        const msg = "excess elements in struct initializer";
-        const opt = "excess-initializers";
-        const kind = .warning;
-    };
-    pub const excess_array_init = struct {
-        const msg = "excess elements in array initializer";
-        const opt = "excess-initializers";
-        const kind = .warning;
-    };
-    pub const str_init_too_long = struct {
-        const msg = "initializer-string for char array is too long";
-        const opt = "excess-initializers";
-        const kind = .warning;
-    };
-    pub const arr_init_too_long = struct {
-        const msg = "cannot initialize type ({s})";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_typeof = struct {
-        const msg = "'{s} typeof' is invalid";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const division_by_zero = struct {
-        const msg = "{s} by zero is undefined";
-        const extra = .str;
-        const opt = "division-by-zero";
-        const kind = .warning;
-    };
-    pub const division_by_zero_macro = struct {
-        const msg = "{s} by zero in preprocessor expression";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const builtin_choose_cond = struct {
-        const msg = "'__builtin_choose_expr' requires a constant expression";
-        const kind = .@"error";
-    };
-    pub const alignas_unavailable = struct {
-        const msg = "'_Alignas' attribute requires integer constant expression";
-        const kind = .@"error";
-    };
-    pub const case_val_unavailable = struct {
-        const msg = "case value must be an integer constant expression";
-        const kind = .@"error";
-    };
-    pub const enum_val_unavailable = struct {
-        const msg = "enum value must be an integer constant expression";
-        const kind = .@"error";
-    };
-    pub const incompatible_array_init = struct {
-        const msg = "cannot initialize array of type {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const array_init_str = struct {
-        const msg = "array initializer must be an initializer list or wide string literal";
-        const kind = .@"error";
-    };
-    pub const initializer_overrides = struct {
-        const msg = "initializer overrides previous initialization";
-        const opt = "initializer-overrides";
-        const kind = .warning;
-        const w_extra = true;
-    };
-    pub const previous_initializer = struct {
-        const msg = "previous initialization";
-        const kind = .note;
-    };
-    pub const invalid_array_designator = struct {
-        const msg = "array designator used for non-array type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const negative_array_designator = struct {
-        const msg = "array designator value {d} is negative";
-        const extra = .signed;
-        const kind = .@"error";
-    };
-    pub const oob_array_designator = struct {
-        const msg = "array designator index {d} exceeds array bounds";
-        const extra = .unsigned;
-        const kind = .@"error";
-    };
-    pub const invalid_field_designator = struct {
-        const msg = "field designator used for non-record type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const no_such_field_designator = struct {
-        const msg = "record type has no field named '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const empty_aggregate_init_braces = struct {
-        const msg = "initializer for aggregate with no elements requires explicit braces";
-        const kind = .@"error";
-    };
-    pub const ptr_init_discards_quals = struct {
-        const msg = "initializing {s} discards qualifiers";
-        const extra = .str;
-        const opt = "incompatible-pointer-types-discards-qualifiers";
-        const kind = .warning;
-    };
-    pub const ptr_assign_discards_quals = struct {
-        const msg = "assigning to {s} discards qualifiers";
-        const extra = .str;
-        const opt = "incompatible-pointer-types-discards-qualifiers";
-        const kind = .warning;
-    };
-    pub const ptr_ret_discards_quals = struct {
-        const msg = "returning {s} discards qualifiers";
-        const extra = .str;
-        const opt = "incompatible-pointer-types-discards-qualifiers";
-        const kind = .warning;
-    };
-    pub const ptr_arg_discards_quals = struct {
-        const msg = "passing {s} discards qualifiers";
-        const extra = .str;
-        const opt = "incompatible-pointer-types-discards-qualifiers";
-        const kind = .warning;
-    };
-    pub const unknown_attribute = struct {
-        const msg = "unknown attribute '{s}' ignored";
-        const extra = .str;
-        const opt = "unknown-attributes";
-        const kind = .warning;
-    };
-    pub const ignored_attribute = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const invalid_fallthrough = struct {
-        const msg = "fallthrough annotation does not directly precede switch label";
-        const kind = .@"error";
-    };
-    pub const cannot_apply_attribute_to_statement = struct {
-        const msg = "'{s}' attribute cannot be applied to a statement";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const builtin_macro_redefined = struct {
-        const msg = "redefining builtin macro";
-        const opt = "builtin-macro-redefined";
-        const kind = .warning;
-    };
-    pub const feature_check_requires_identifier = struct {
-        const msg = "builtin feature check macro requires a parenthesized identifier";
-        const kind = .@"error";
-    };
-    pub const missing_tok_builtin = struct {
-        const msg = "missing '{s}', after builtin feature-check macro";
-        const extra = .tok_id_expected;
-        const kind = .@"error";
-    };
-    pub const gnu_label_as_value = struct {
-        const msg = "use of GNU address-of-label extension";
-        const opt = "gnu-label-as-value";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const expected_record_ty = struct {
-        const msg = "member reference base type '{s}' is not a structure or union";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const member_expr_not_ptr = struct {
-        const msg = "member reference type '{s}' is not a pointer; did you mean to use '.'?";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const member_expr_ptr = struct {
-        const msg = "member reference type '{s}' is a pointer; did you mean to use '->'?";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const no_such_member = struct {
-        const msg = "no member named {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const malformed_warning_check = struct {
-        const msg = "{s} expected option name (e.g. \"-Wundef\")";
-        const extra = .str;
-        const opt = "malformed-warning-check";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const invalid_computed_goto = struct {
-        const msg = "computed goto in function with no address-of-label expressions";
-        const kind = .@"error";
-    };
-    pub const pragma_warning_message = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const opt = "#pragma-messages";
-        const kind = .warning;
-    };
-    pub const pragma_error_message = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const pragma_message = struct {
-        const msg = "#pragma message: {s}";
-        const extra = .str;
-        const kind = .note;
-    };
-    pub const pragma_requires_string_literal = struct {
-        const msg = "pragma {s} requires string literal";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const poisoned_identifier = struct {
-        const msg = "attempt to use a poisoned identifier";
-        const kind = .@"error";
-    };
-    pub const pragma_poison_identifier = struct {
-        const msg = "can only poison identifier tokens";
-        const kind = .@"error";
-    };
-    pub const pragma_poison_macro = struct {
-        const msg = "poisoning existing macro";
-        const kind = .warning;
-    };
-    pub const newline_eof = struct {
-        const msg = "no newline at end of file";
-        const opt = "newline-eof";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const empty_translation_unit = struct {
-        const msg = "ISO C requires a translation unit to contain at least one declaration";
-        const opt = "empty-translation-unit";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const omitting_parameter_name = struct {
-        const msg = "omitting the parameter name in a function definition is a C2x extension";
-        const opt = "c2x-extensions";
-        const kind = .warning;
-        const suppress_version = .c2x;
-    };
-    pub const non_int_bitfield = struct {
-        const msg = "bit-field has non-integer type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const negative_bitwidth = struct {
-        const msg = "bit-field has negative width ({d})";
-        const extra = .signed;
-        const kind = .@"error";
-    };
-    pub const zero_width_named_field = struct {
-        const msg = "named bit-field has zero width";
-        const kind = .@"error";
-    };
-    pub const bitfield_too_big = struct {
-        const msg = "width of bit-field exceeds width of its type";
-        const kind = .@"error";
-    };
-    pub const invalid_utf8 = struct {
-        const msg = "source file is not valid UTF-8";
-        const kind = .@"error";
-    };
-    pub const implicitly_unsigned_literal = struct {
-        const msg = "integer literal is too large to be represented in a signed integer type, interpreting as unsigned";
-        const opt = "implicitly-unsigned-literal";
-        const kind = .warning;
-    };
-    pub const invalid_preproc_operator = struct {
-        const msg = "token is not a valid binary operator in a preprocessor subexpression";
-        const kind = .@"error";
-    };
-    pub const invalid_preproc_expr_start = struct {
-        const msg = "invalid token at start of a preprocessor expression";
-        const kind = .@"error";
-    };
-    pub const c99_compat = struct {
-        const msg = "using this character in an identifier is incompatible with C99";
-        const opt = "c99-compat";
-        const kind = .off;
-    };
-    pub const unexpected_character = struct {
-        const msg = "unexpected character <U+{X:0>4}>";
-        const extra = .actual_codepoint;
-        const kind = .@"error";
-    };
-    pub const invalid_identifier_start_char = struct {
-        const msg = "character <U+{X:0>4}> not allowed at the start of an identifier";
-        const extra = .actual_codepoint;
-        const kind = .@"error";
-    };
-    pub const unicode_zero_width = struct {
-        const msg = "identifier contains Unicode character <U+{X:0>4}> that is invisible in some environments";
-        const opt = "unicode-homoglyph";
-        const extra = .actual_codepoint;
-        const kind = .warning;
-    };
-    pub const unicode_homoglyph = struct {
-        const msg = "treating Unicode character <U+{X:0>4}> as identifier character rather than as '{u}' symbol";
-        const extra = .codepoints;
-        const opt = "unicode-homoglyph";
-        const kind = .warning;
-    };
-    pub const meaningless_asm_qual = struct {
-        const msg = "meaningless '{s}' on assembly outside function";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const duplicate_asm_qual = struct {
-        const msg = "duplicate asm qualifier '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_asm_str = struct {
-        const msg = "cannot use {s} string literal in assembly";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const dollar_in_identifier_extension = struct {
-        const msg = "'$' in identifier";
-        const opt = "dollar-in-identifier-extension";
-        const kind = .off;
-        const suppress_language_option = "dollars_in_identifiers";
-        const pedantic = true;
-    };
-    pub const dollars_in_identifiers = struct {
-        const msg = "illegal character '$' in identifier";
-        const kind = .@"error";
-    };
-    pub const expanded_from_here = struct {
-        const msg = "expanded from here";
-        const kind = .note;
-    };
-    pub const skipping_macro_backtrace = struct {
-        const msg = "(skipping {d} expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)";
-        const extra = .unsigned;
-        const kind = .note;
-    };
-    pub const pragma_operator_string_literal = struct {
-        const msg = "_Pragma requires exactly one string literal token";
-        const kind = .@"error";
-    };
-    pub const unknown_gcc_pragma = struct {
-        const msg = "pragma GCC expected 'error', 'warning', 'diagnostic', 'poison'";
-        const opt = "unknown-pragmas";
-        const kind = .off;
-        const all = true;
-    };
-    pub const unknown_gcc_pragma_directive = struct {
-        const msg = "pragma GCC diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'";
-        const opt = "unknown-pragmas";
-        const kind = .warning;
-        const all = true;
-    };
-    pub const predefined_top_level = struct {
-        const msg = "predefined identifier is only valid inside function";
-        const opt = "predefined-identifier-outside-function";
-        const kind = .warning;
-    };
-    pub const incompatible_va_arg = struct {
-        const msg = "first argument to va_arg, is of type '{s}' and not 'va_list'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const too_many_scalar_init_braces = struct {
-        const msg = "too many braces around scalar initializer";
-        const opt = "many-braces-around-scalar-init";
-        const kind = .warning;
-    };
-    pub const uninitialized_in_own_init = struct {
-        const msg = "variable '{s}' is uninitialized when used within its own initialization";
-        const extra = .str;
-        const opt = "uninitialized";
-        const kind = .off;
-        const all = true;
-    };
-    pub const gnu_statement_expression = struct {
-        const msg = "use of GNU statement expression extension";
-        const opt = "gnu-statement-expression";
-        const kind = .off;
-        const suppress_gnu = true;
-        const pedantic = true;
-    };
-    pub const stmt_expr_not_allowed_file_scope = struct {
-        const msg = "statement expression not allowed at file scope";
-        const kind = .@"error";
-    };
-    pub const gnu_imaginary_constant = struct {
-        const msg = "imaginary constants are a GNU extension";
-        const opt = "gnu-imaginary-constant";
-        const kind = .off;
-        const suppress_gnu = true;
-        const pedantic = true;
-    };
-    pub const plain_complex = struct {
-        const msg = "plain '_Complex' requires a type specifier; assuming '_Complex double'";
-        const kind = .warning;
-    };
-    pub const complex_int = struct {
-        const msg = "complex integer types are a GNU extension";
-        const opt = "gnu-complex-integer";
-        const suppress_gnu = true;
-        const kind = .off;
-    };
-    pub const qual_on_ret_type = struct {
-        const msg = "'{s}' type qualifier on return type has no effect";
-        const opt = "ignored-qualifiers";
-        const extra = .str;
-        const kind = .off;
-        const all = true;
-    };
-    pub const cli_invalid_standard = struct {
-        const msg = "invalid standard '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cli_invalid_target = struct {
-        const msg = "invalid target '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cli_invalid_emulate = struct {
-        const msg = "invalid compiler '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cli_unknown_arg = struct {
-        const msg = "unknown argument '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cli_error = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cli_unused_link_object = struct {
-        const msg = "{s}: linker input file unused because linking not done";
-        const extra = .str;
-        const kind = .warning;
-    };
-    pub const cli_unknown_linker = struct {
-        const msg = "unrecognized linker '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const extra_semi = struct {
-        const msg = "extra ';' outside of a function";
-        const opt = "extra-semi";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const func_field = struct {
-        const msg = "field declared as a function";
-        const kind = .@"error";
-    };
-    pub const vla_field = struct {
-        const msg = "variable length array fields extension is not supported";
-        const kind = .@"error";
-    };
-    pub const field_incomplete_ty = struct {
-        const msg = "field has incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const flexible_in_union = struct {
-        const msg = "flexible array member in union is not allowed";
-        const kind = .@"error";
-        const suppress_msvc = true;
-    };
-    pub const flexible_non_final = struct {
-        const msg = "flexible array member is not at the end of struct";
-        const kind = .@"error";
-    };
-    pub const flexible_in_empty = struct {
-        const msg = "flexible array member in otherwise empty struct";
-        const kind = .@"error";
-        const suppress_msvc = true;
-    };
-    pub const duplicate_member = struct {
-        const msg = "duplicate member '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const binary_integer_literal = struct {
-        const msg = "binary integer literals are a GNU extension";
-        const kind = .off;
-        const opt = "gnu-binary-literal";
-        const pedantic = true;
-    };
-    pub const gnu_va_macro = struct {
-        const msg = "named variadic macros are a GNU extension";
-        const opt = "variadic-macros";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const builtin_must_be_called = struct {
-        const msg = "builtin function must be directly called";
-        const kind = .@"error";
-    };
-    pub const va_start_not_in_func = struct {
-        const msg = "'va_start' cannot be used outside a function";
-        const kind = .@"error";
-    };
-    pub const va_start_fixed_args = struct {
-        const msg = "'va_start' used in a function with fixed args";
-        const kind = .@"error";
-    };
-    pub const va_start_not_last_param = struct {
-        const msg = "second argument to 'va_start' is not the last named parameter";
-        const opt = "varargs";
-        const kind = .warning;
-    };
-    pub const attribute_not_enough_args = struct {
-        const msg = "'{s}' attribute takes at least {d} argument(s)";
-        const kind = .@"error";
-        const extra = .attr_arg_count;
-    };
-    pub const attribute_too_many_args = struct {
-        const msg = "'{s}' attribute takes at most {d} argument(s)";
-        const kind = .@"error";
-        const extra = .attr_arg_count;
-    };
-    pub const attribute_arg_invalid = struct {
-        const msg = "Attribute argument is invalid, expected {s} but got {s}";
-        const kind = .@"error";
-        const extra = .attr_arg_type;
-    };
-    pub const unknown_attr_enum = struct {
-        const msg = "Unknown `{s}` argument. Possible values are: {s}";
-        const kind = .@"error";
-        const extra = .attr_enum;
-    };
-    pub const attribute_requires_identifier = struct {
-        const msg = "'{s}' attribute requires an identifier";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const declspec_not_enabled = struct {
-        const msg = "'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes";
-        const kind = .@"error";
-    };
-    pub const declspec_attr_not_supported = struct {
-        const msg = "__declspec attribute '{s}' is not supported";
-        const extra = .str;
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const deprecated_declarations = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const opt = "deprecated-declarations";
-        const kind = .warning;
-    };
-    pub const deprecated_note = struct {
-        const msg = "'{s}' has been explicitly marked deprecated here";
-        const extra = .str;
-        const opt = "deprecated-declarations";
-        const kind = .note;
-    };
-    pub const unavailable = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const unavailable_note = struct {
-        const msg = "'{s}' has been explicitly marked unavailable here";
-        const extra = .str;
-        const kind = .note;
-    };
-    pub const warning_attribute = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "attribute-warning";
-    };
-    pub const error_attribute = struct {
-        const msg = "{s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const ignored_record_attr = struct {
-        const msg = "attribute '{s}' is ignored, place it after \"{s}\" to apply attribute to type declaration";
-        const extra = .ignored_record_attr;
-        const kind = .warning;
-        const opt = "ignored-attributes";
-    };
-    pub const backslash_newline_escape = struct {
-        const msg = "backslash and newline separated by space";
-        const kind = .warning;
-        const opt = "backslash-newline-escape";
-    };
-    pub const array_size_non_int = struct {
-        const msg = "size of array has non-integer type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cast_to_smaller_int = struct {
-        const msg = "cast to smaller integer type {s}";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "pointer-to-int-cast";
-    };
-    pub const gnu_switch_range = struct {
-        const msg = "use of GNU case range extension";
-        const opt = "gnu-case-range";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const empty_case_range = struct {
-        const msg = "empty case range specified";
-        const kind = .warning;
-    };
-    pub const non_standard_escape_char = struct {
-        const msg = "use of non-standard escape character '\\{s}'";
-        const kind = .off;
-        const opt = "pedantic";
-        const extra = .invalid_escape;
-    };
-    pub const invalid_pp_stringify_escape = struct {
-        const msg = "invalid string literal, ignoring final '\\'";
-        const kind = .warning;
-    };
-    pub const vla = struct {
-        const msg = "variable length array used";
-        const kind = .off;
-        const opt = "vla";
-    };
-    pub const float_overflow_conversion = struct {
-        const msg = "implicit conversion of non-finite value from {s} is undefined";
-        const extra = .str;
-        const kind = .off;
-        const opt = "float-overflow-conversion";
-    };
-    pub const float_out_of_range = struct {
-        const msg = "implicit conversion of out of range value from {s} is undefined";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "literal-conversion";
-    };
-    pub const float_zero_conversion = struct {
-        const msg = "implicit conversion from {s}";
-        const extra = .str;
-        const kind = .off;
-        const opt = "float-zero-conversion";
-    };
-    pub const float_value_changed = struct {
-        const msg = "implicit conversion from {s}";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "float-conversion";
-    };
-    pub const float_to_int = struct {
-        const msg = "implicit conversion turns floating-point number into integer: {s}";
-        const extra = .str;
-        const kind = .off;
-        const opt = "literal-conversion";
-    };
-    pub const const_decl_folded = struct {
-        const msg = "expression is not an integer constant expression; folding it to a constant is a GNU extension";
-        const kind = .off;
-        const opt = "gnu-folding-constant";
-        const pedantic = true;
-    };
-    pub const const_decl_folded_vla = struct {
-        const msg = "variable length array folded to constant array as an extension";
-        const kind = .off;
-        const opt = "gnu-folding-constant";
-        const pedantic = true;
-    };
-    pub const redefinition_of_typedef = struct {
-        const msg = "typedef redefinition with different types ({s})";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const undefined_macro = struct {
-        const msg = "'{s}' is not defined, evaluates to 0";
-        const extra = .str;
-        const kind = .off;
-        const opt = "undef";
-    };
-    pub const fn_macro_undefined = struct {
-        const msg = "function-like macro '{s}' is not defined";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const preprocessing_directive_only = struct {
-        const msg = "'{s}' must be used within a preprocessing directive";
-        const extra = .tok_id_expected;
-        const kind = .@"error";
-    };
-    pub const missing_lparen_after_builtin = struct {
-        const msg = "Missing '(' after built-in macro '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const offsetof_ty = struct {
-        const msg = "offsetof requires struct or union type, '{s}' invalid";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const offsetof_incomplete = struct {
-        const msg = "offsetof of incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const offsetof_array = struct {
-        const msg = "offsetof requires array type, '{s}' invalid";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const pragma_pack_lparen = struct {
-        const msg = "missing '(' after '#pragma pack' - ignoring";
-        const kind = .warning;
-        const opt = "ignored-pragmas";
-    };
-    pub const pragma_pack_rparen = struct {
-        const msg = "missing ')' after '#pragma pack' - ignoring";
-        const kind = .warning;
-        const opt = "ignored-pragmas";
-    };
-    pub const pragma_pack_unknown_action = struct {
-        const msg = "unknown action for '#pragma pack' - ignoring";
-        const opt = "ignored-pragmas";
-        const kind = .warning;
-    };
-    pub const pragma_pack_show = struct {
-        const msg = "value of #pragma pack(show) == {d}";
-        const extra = .unsigned;
-        const kind = .warning;
-    };
-    pub const pragma_pack_int = struct {
-        const msg = "expected #pragma pack parameter to be '1', '2', '4', '8', or '16'";
-        const opt = "ignored-pragmas";
-        const kind = .warning;
-    };
-    pub const pragma_pack_int_ident = struct {
-        const msg = "expected integer or identifier in '#pragma pack' - ignored";
-        const opt = "ignored-pragmas";
-        const kind = .warning;
-    };
-    pub const pragma_pack_undefined_pop = struct {
-        const msg = "specifying both a name and alignment to 'pop' is undefined";
-        const kind = .warning;
-    };
-    pub const pragma_pack_empty_stack = struct {
-        const msg = "#pragma pack(pop, ...) failed: stack empty";
-        const opt = "ignored-pragmas";
-        const kind = .warning;
-    };
-    pub const cond_expr_type = struct {
-        const msg = "used type '{s}' where arithmetic or pointer type is required";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const too_many_includes = struct {
-        const msg = "#include nested too deeply";
-        const kind = .@"error";
-    };
-    pub const enumerator_too_small = struct {
-        const msg = "ISO C restricts enumerator values to range of 'int' ({d} is too small)";
-        const extra = .signed;
-        const kind = .off;
-        const opt = "pedantic";
-    };
-    pub const enumerator_too_large = struct {
-        const msg = "ISO C restricts enumerator values to range of 'int' ({d} is too large)";
-        const extra = .unsigned;
-        const kind = .off;
-        const opt = "pedantic";
-    };
-    pub const include_next = struct {
-        const msg = "#include_next is a language extension";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "gnu-include-next";
-    };
-    pub const include_next_outside_header = struct {
-        const msg = "#include_next in primary source file; will search from start of include path";
-        const kind = .warning;
-        const opt = "include-next-outside-header";
-    };
-    pub const enumerator_overflow = struct {
-        const msg = "overflow in enumeration value";
-        const kind = .warning;
-    };
-    pub const enum_not_representable = struct {
-        const msg = "incremented enumerator value {s} is not representable in the largest integer type";
-        const kind = .warning;
-        const opt = "enum-too-large";
-        const extra = .pow_2_as_string;
-    };
-    pub const enum_too_large = struct {
-        const msg = "enumeration values exceed range of largest integer";
-        const kind = .warning;
-        const opt = "enum-too-large";
-    };
-    pub const enum_fixed = struct {
-        const msg = "enumeration types with a fixed underlying type are a Clang extension";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "fixed-enum-extension";
-    };
-    pub const enum_prev_nonfixed = struct {
-        const msg = "enumeration previously declared with nonfixed underlying type";
-        const kind = .@"error";
-    };
-    pub const enum_prev_fixed = struct {
-        const msg = "enumeration previously declared with fixed underlying type";
-        const kind = .@"error";
-    };
-    pub const enum_different_explicit_ty = struct {
-        // str will be like 'new' (was 'old'
-        const msg = "enumeration redeclared with different underlying type {s})";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const enum_not_representable_fixed = struct {
-        const msg = "enumerator value is not representable in the underlying type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const transparent_union_wrong_type = struct {
-        const msg = "'transparent_union' attribute only applies to unions";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const transparent_union_one_field = struct {
-        const msg = "transparent union definition must contain at least one field; transparent_union attribute ignored";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const transparent_union_size = struct {
-        const msg = "size of field {s} bits) does not match the size of the first field in transparent union; transparent_union attribute ignored";
-        const extra = .str;
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const transparent_union_size_note = struct {
-        const msg = "size of first field is {d}";
-        const extra = .unsigned;
-        const kind = .note;
-    };
-    pub const designated_init_invalid = struct {
-        const msg = "'designated_init' attribute is only valid on 'struct' type'";
-        const kind = .@"error";
-    };
-    pub const designated_init_needed = struct {
-        const msg = "positional initialization of field in 'struct' declared with 'designated_init' attribute";
-        const opt = "designated-init";
-        const kind = .warning;
-    };
-    pub const ignore_common = struct {
-        const msg = "ignoring attribute 'common' because it conflicts with attribute 'nocommon'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const ignore_nocommon = struct {
-        const msg = "ignoring attribute 'nocommon' because it conflicts with attribute 'common'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const non_string_ignored = struct {
-        const msg = "'nonstring' attribute ignored on objects of type '{s}'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const local_variable_attribute = struct {
-        const msg = "'{s}' attribute only applies to local variables";
-        const extra = .str;
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const ignore_cold = struct {
-        const msg = "ignoring attribute 'cold' because it conflicts with attribute 'hot'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const ignore_hot = struct {
-        const msg = "ignoring attribute 'hot' because it conflicts with attribute 'cold'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const ignore_noinline = struct {
-        const msg = "ignoring attribute 'noinline' because it conflicts with attribute 'always_inline'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const ignore_always_inline = struct {
-        const msg = "ignoring attribute 'always_inline' because it conflicts with attribute 'noinline'";
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const invalid_noreturn = struct {
-        const msg = "function '{s}' declared 'noreturn' should not return";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "invalid-noreturn";
-    };
-    pub const nodiscard_unused = struct {
-        const msg = "ignoring return value of '{s}', declared with 'nodiscard' attribute";
-        const extra = .str;
-        const kind = .warning;
-        const op = "unused-result";
-    };
-    pub const warn_unused_result = struct {
-        const msg = "ignoring return value of '{s}', declared with 'warn_unused_result' attribute";
-        const extra = .str;
-        const kind = .warning;
-        const op = "unused-result";
-    };
-    pub const invalid_vec_elem_ty = struct {
-        const msg = "invalid vector element type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const vec_size_not_multiple = struct {
-        const msg = "vector size not an integral multiple of component size";
-        const kind = .@"error";
-    };
-    pub const invalid_imag = struct {
-        const msg = "invalid type '{s}' to __imag operator";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_real = struct {
-        const msg = "invalid type '{s}' to __real operator";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const zero_length_array = struct {
-        const msg = "zero size arrays are an extension";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "zero-length-array";
-    };
-    pub const old_style_flexible_struct = struct {
-        const msg = "array index {d} is past the end of the array";
-        const extra = .unsigned;
-        const kind = .off;
-        const pedantic = true;
-        const opt = "old-style-flexible-struct";
-    };
-    pub const comma_deletion_va_args = struct {
-        const msg = "token pasting of ',' and __VA_ARGS__ is a GNU extension";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "gnu-zero-variadic-macro-arguments";
-        const suppress_gcc = true;
-    };
-    pub const main_return_type = struct {
-        const msg = "return type of 'main' is not 'int'";
-        const kind = .warning;
-        const opt = "main-return-type";
-    };
-    pub const expansion_to_defined = struct {
-        const msg = "macro expansion producing 'defined' has undefined behavior";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "expansion-to-defined";
-    };
-    pub const invalid_int_suffix = struct {
-        const msg = "invalid suffix '{s}' on integer constant";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_float_suffix = struct {
-        const msg = "invalid suffix '{s}' on floating constant";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const invalid_octal_digit = struct {
-        const msg = "invalid digit '{c}' in octal constant";
-        const extra = .ascii;
-        const kind = .@"error";
-    };
-    pub const invalid_binary_digit = struct {
-        const msg = "invalid digit '{c}' in binary constant";
-        const extra = .ascii;
-        const kind = .@"error";
-    };
-    pub const exponent_has_no_digits = struct {
-        const msg = "exponent has no digits";
-        const kind = .@"error";
-    };
-    pub const hex_floating_constant_requires_exponent = struct {
-        const msg = "hexadecimal floating constant requires an exponent";
-        const kind = .@"error";
-    };
-    pub const sizeof_returns_zero = struct {
-        const msg = "sizeof returns 0";
-        const kind = .warning;
-        const suppress_gcc = true;
-        const suppress_clang = true;
-    };
-    pub const declspec_not_allowed_after_declarator = struct {
-        const msg = "'declspec' attribute not allowed after declarator";
-        const kind = .@"error";
-    };
-    pub const declarator_name_tok = struct {
-        const msg = "this declarator";
-        const kind = .note;
-    };
-    pub const type_not_supported_on_target = struct {
-        const msg = "{s} is not supported on this target";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const bit_int = struct {
-        const msg = "'_BitInt' in C17 and earlier is a Clang extension'";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "bit-int-extension";
-        const suppress_version = .c2x;
-    };
-    pub const unsigned_bit_int_too_small = struct {
-        const msg = "{s} must have a bit size of at least 1";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const signed_bit_int_too_small = struct {
-        const msg = "{s} must have a bit size of at least 2";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const bit_int_too_big = struct {
-        const msg = "{s} of bit sizes greater than " ++ std.fmt.comptimePrint("{d}", .{Compilation.bit_int_max_bits}) ++ " not supported";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const keyword_macro = struct {
-        const msg = "keyword is hidden by macro definition";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "keyword-macro";
-    };
-    pub const ptr_arithmetic_incomplete = struct {
-        const msg = "arithmetic on a pointer to an incomplete type '{s}'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const callconv_not_supported = struct {
-        const msg = "'{s}' calling convention is not supported for this target";
-        const extra = .str;
-        const opt = "ignored-attributes";
-        const kind = .warning;
-    };
-    pub const pointer_arith_void = struct {
-        const msg = "invalid application of '{s}' to a void type";
-        const extra = .str;
-        const kind = .off;
-        const pedantic = true;
-        const opt = "pointer-arith";
-    };
-    pub const sizeof_array_arg = struct {
-        const msg = "sizeof on array function parameter will return size of {s}";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "sizeof-array-argument";
-    };
-    pub const array_address_to_bool = struct {
-        const msg = "address of array '{s}' will always evaluate to 'true'";
-        const extra = .str;
-        const kind = .warning;
-        const opt = "pointer-bool-conversion";
-    };
-    pub const string_literal_to_bool = struct {
-        const msg = "implicit conversion turns string literal into bool: {s}";
-        const extra = .str;
-        const kind = .off;
-        const opt = "string-conversion";
-    };
-    pub const constant_expression_conversion_not_allowed = struct {
-        const msg = "this conversion is not allowed in a constant expression";
-        const kind = .note;
-    };
-    pub const invalid_object_cast = struct {
-        const msg = "cannot cast an object of type {s}";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const cli_invalid_fp_eval_method = struct {
-        const msg = "unsupported argument '{s}' to option '-ffp-eval-method='; expected 'source', 'double', or 'extended'";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const suggest_pointer_for_invalid_fp16 = struct {
-        const msg = "{s} cannot have __fp16 type; did you forget * ?";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const bitint_suffix = struct {
-        const msg = "'_BitInt' suffix for literals is a C2x extension";
-        const opt = "c2x-extensions";
-        const kind = .warning;
-        const suppress_version = .c2x;
-    };
-    pub const auto_type_extension = struct {
-        const msg = "'__auto_type' is a GNU extension";
-        const opt = "gnu-auto-type";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const auto_type_not_allowed = struct {
-        const msg = "'__auto_type' not allowed in {s}";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const auto_type_requires_initializer = struct {
-        const msg = "declaration of variable '{s}' with deduced type requires an initializer";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const auto_type_requires_single_declarator = struct {
-        const msg = "'__auto_type' may only be used with a single declarator";
-        const kind = .@"error";
-    };
-    pub const auto_type_requires_plain_declarator = struct {
-        const msg = "'__auto_type' requires a plain identifier as declarator";
-        const kind = .@"error";
-    };
-    pub const invalid_cast_to_auto_type = struct {
-        const msg = "invalid cast to '__auto_type'";
-        const kind = .@"error";
-    };
-    pub const auto_type_from_bitfield = struct {
-        const msg = "cannot use bit-field as '__auto_type' initializer";
-        const kind = .@"error";
-    };
-    pub const array_of_auto_type = struct {
-        const msg = "'{s}' declared as array of '__auto_type'";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const auto_type_with_init_list = struct {
-        const msg = "cannot use '__auto_type' with initializer list";
-        const kind = .@"error";
-    };
-    pub const missing_semicolon = struct {
-        const msg = "expected ';' at end of declaration list";
-        const kind = .warning;
-    };
-    pub const tentative_definition_incomplete = struct {
-        const msg = "tentative definition has type '{s}' that is never completed";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const forward_declaration_here = struct {
-        const msg = "forward declaration of '{s}'";
-        const kind = .note;
-        const extra = .str;
-    };
-    pub const gnu_union_cast = struct {
-        const msg = "cast to union type is a GNU extension";
-        const opt = "gnu-union-cast";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const invalid_union_cast = struct {
-        const msg = "cast to union type from type '{s}' not present in union";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const cast_to_incomplete_type = struct {
-        const msg = "cast to incomplete type '{s}'";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const invalid_source_epoch = struct {
-        const msg = "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to 253402300799";
-        const kind = .@"error";
-    };
-    pub const fuse_ld_path = struct {
-        const msg = "'-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead";
-        const kind = .off;
-        const opt = "fuse-ld-path";
-    };
-    pub const invalid_rtlib = struct {
-        const msg = "invalid runtime library name '{s}'";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const unsupported_rtlib_gcc = struct {
-        const msg = "unsupported runtime library 'libgcc' for platform '{s}'";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const invalid_unwindlib = struct {
-        const msg = "invalid unwind library name '{s}'";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const incompatible_unwindlib = struct {
-        const msg = "--rtlib=libgcc requires --unwindlib=libgcc";
-        const kind = .@"error";
-    };
-    pub const gnu_asm_disabled = struct {
-        const msg = "GNU-style inline assembly is disabled";
-        const kind = .@"error";
-    };
-    pub const extension_token_used = struct {
-        const msg = "extension used";
-        const kind = .off;
-        const pedantic = true;
-        const opt = "language-extension-token";
-    };
-    pub const complex_component_init = struct {
-        const msg = "complex initialization specifying real and imaginary components is an extension";
-        const opt = "complex-component-init";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const complex_prefix_postfix_op = struct {
-        const msg = "ISO C does not support '++'/'--' on complex type '{s}'";
-        const opt = "pedantic";
-        const extra = .str;
-        const kind = .off;
-    };
-    pub const not_floating_type = struct {
-        const msg = "argument type '{s}' is not a real floating point type";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const argument_types_differ = struct {
-        const msg = "arguments are of different types ({s})";
-        const extra = .str;
-        const kind = .@"error";
-    };
-    pub const ms_search_rule = struct {
-        const msg = "#include resolved using non-portable Microsoft search rules as: {s}";
-        const extra = .str;
-        const opt = "microsoft-include";
-        const kind = .warning;
-    };
-    pub const ctrl_z_eof = struct {
-        const msg = "treating Ctrl-Z as end-of-file is a Microsoft extension";
-        const opt = "microsoft-end-of-file";
-        const kind = .off;
-        const pedantic = true;
-    };
-    pub const illegal_char_encoding_warning = struct {
-        const msg = "illegal character encoding in character literal";
-        const opt = "invalid-source-encoding";
-        const kind = .warning;
-    };
-    pub const illegal_char_encoding_error = struct {
-        const msg = "illegal character encoding in character literal";
-        const kind = .@"error";
-    };
-    pub const ucn_basic_char_error = struct {
-        const msg = "character '{c}' cannot be specified by a universal character name";
-        const kind = .@"error";
-        const extra = .ascii;
-    };
-    pub const ucn_basic_char_warning = struct {
-        const msg = "specifying character '{c}' with a universal character name is incompatible with C standards before C2x";
-        const kind = .off;
-        const extra = .ascii;
-        const suppress_unless_version = .c2x;
-        const opt = "pre-c2x-compat";
-    };
-    pub const ucn_control_char_error = struct {
-        const msg = "universal character name refers to a control character";
-        const kind = .@"error";
-    };
-    pub const ucn_control_char_warning = struct {
-        const msg = "universal character name referring to a control character is incompatible with C standards before C2x";
-        const kind = .off;
-        const suppress_unless_version = .c2x;
-        const opt = "pre-c2x-compat";
-    };
-    pub const c89_ucn_in_literal = struct {
-        const msg = "universal character names are only valid in C99 or later";
-        const suppress_version = .c99;
-        const kind = .warning;
-        const opt = "unicode";
-    };
-    pub const four_char_char_literal = struct {
-        const msg = "multi-character character constant";
-        const opt = "four-char-constants";
-        const kind = .off;
-    };
-    pub const multi_char_char_literal = struct {
-        const msg = "multi-character character constant";
-        const kind = .off;
-    };
-    pub const missing_hex_escape = struct {
-        const msg = "\\{c} used with no following hex digits";
-        const kind = .@"error";
-        const extra = .ascii;
-    };
-    pub const unknown_escape_sequence = struct {
-        const msg = "unknown escape sequence '\\{s}'";
-        const kind = .warning;
-        const opt = "unknown-escape-sequence";
-        const extra = .invalid_escape;
-    };
-    pub const attribute_requires_string = struct {
-        const msg = "attribute '{s}' requires an ordinary string";
-        const kind = .@"error";
-        const extra = .str;
-    };
-    pub const unterminated_string_literal_warning = struct {
-        const msg = "missing terminating '\"' character";
-        const kind = .warning;
-        const opt = "invalid-pp-token";
-    };
-    pub const unterminated_string_literal_error = struct {
-        const msg = "missing terminating '\"' character";
-        const kind = .@"error";
-    };
-    pub const empty_char_literal_warning = struct {
-        const msg = "empty character constant";
-        const kind = .warning;
-        const opt = "invalid-pp-token";
-    };
-    pub const empty_char_literal_error = struct {
-        const msg = "empty character constant";
-        const kind = .@"error";
-    };
-    pub const unterminated_char_literal_warning = struct {
-        const msg = "missing terminating ' character";
-        const kind = .warning;
-        const opt = "invalid-pp-token";
-    };
-    pub const unterminated_char_literal_error = struct {
-        const msg = "missing terminating ' character";
-        const kind = .@"error";
-    };
-    pub const unterminated_comment = struct {
-        const msg = "unterminated comment";
-        const kind = .@"error";
-    };
-};
-
-list: std.ArrayListUnmanaged(Message) = .{},
-arena: std.heap.ArenaAllocator,
-color: bool = true,
-fatal_errors: bool = false,
-options: Options = .{},
-errors: u32 = 0,
-macro_backtrace_limit: u32 = 6,
-
-pub fn warningExists(name: []const u8) bool {
-    inline for (std.meta.fields(Options)) |f| {
-        if (mem.eql(u8, f.name, name)) return true;
-    }
-    return false;
-}
-
-pub fn set(diag: *Diagnostics, name: []const u8, to: Kind) !void {
-    inline for (std.meta.fields(Options)) |f| {
-        if (mem.eql(u8, f.name, name)) {
-            @field(diag.options, f.name) = to;
-            return;
-        }
-    }
-    try diag.add(.{
-        .tag = .unknown_warning,
-        .extra = .{ .str = name },
-    }, &.{});
-}
-
-pub fn init(gpa: Allocator) Diagnostics {
-    return .{
-        .arena = std.heap.ArenaAllocator.init(gpa),
-    };
-}
-
-pub fn deinit(diag: *Diagnostics) void {
-    diag.list.deinit(diag.arena.allocator());
-    diag.arena.deinit();
-}
-
-pub fn add(diag: *Diagnostics, msg: Message, expansion_locs: []const Source.Location) Compilation.Error!void {
-    const kind = diag.tagKind(msg.tag);
-    if (kind == .off) return;
-    var copy = msg;
-    copy.kind = kind;
-
-    if (expansion_locs.len != 0) copy.loc = expansion_locs[expansion_locs.len - 1];
-    try diag.list.append(diag.arena.allocator(), copy);
-    if (expansion_locs.len != 0) {
-        // Add macro backtrace notes in reverse order omitting from the middle if needed.
-        var i = expansion_locs.len - 1;
-        const half = diag.macro_backtrace_limit / 2;
-        const limit = if (i < diag.macro_backtrace_limit) 0 else i - half;
-        try diag.list.ensureUnusedCapacity(
-            diag.arena.allocator(),
-            if (limit == 0) expansion_locs.len else diag.macro_backtrace_limit + 1,
-        );
-        while (i > limit) {
-            i -= 1;
-            diag.list.appendAssumeCapacity(.{
-                .tag = .expanded_from_here,
-                .kind = .note,
-                .loc = expansion_locs[i],
-            });
-        }
-        if (limit != 0) {
-            diag.list.appendAssumeCapacity(.{
-                .tag = .skipping_macro_backtrace,
-                .kind = .note,
-                .extra = .{ .unsigned = expansion_locs.len - diag.macro_backtrace_limit },
-            });
-            i = half - 1;
-            while (i > 0) {
-                i -= 1;
-                diag.list.appendAssumeCapacity(.{
-                    .tag = .expanded_from_here,
-                    .kind = .note,
-                    .loc = expansion_locs[i],
-                });
-            }
-        }
-
-        diag.list.appendAssumeCapacity(.{
-            .tag = .expanded_from_here,
-            .kind = .note,
-            .loc = msg.loc,
-        });
-    }
-    if (kind == .@"fatal error" or (kind == .@"error" and diag.fatal_errors))
-        return error.FatalError;
-}
-
-pub fn fatal(
-    diag: *Diagnostics,
-    path: []const u8,
-    line: []const u8,
-    line_no: u32,
-    col: u32,
-    comptime fmt: []const u8,
-    args: anytype,
-) Compilation.Error {
-    var m = MsgWriter.init(diag.color);
-    defer m.deinit();
-
-    m.location(path, line_no, col);
-    m.start(.@"fatal error");
-    m.print(fmt, args);
-    m.end(line, col, false);
-
-    diag.errors += 1;
-    return error.FatalError;
-}
-
-pub fn fatalNoSrc(diag: *Diagnostics, comptime fmt: []const u8, args: anytype) error{FatalError} {
-    if (!diag.color) {
-        std.debug.print("fatal error: " ++ fmt ++ "\n", args);
-    } else {
-        const std_err = std.io.getStdErr().writer();
-        util.setColor(.red, std_err);
-        std_err.writeAll("fatal error: ") catch {};
-        util.setColor(.white, std_err);
-        std_err.print(fmt ++ "\n", args) catch {};
-        util.setColor(.reset, std_err);
-    }
-    diag.errors += 1;
-    return error.FatalError;
-}
-
-pub fn render(comp: *Compilation) void {
-    if (comp.diag.list.items.len == 0) return;
-    var m = defaultMsgWriter(comp);
-    defer m.deinit();
-    renderMessages(comp, &m);
-}
-pub fn defaultMsgWriter(comp: *const Compilation) MsgWriter {
-    return MsgWriter.init(comp.diag.color);
-}
-
-pub fn renderMessages(comp: *Compilation, m: anytype) void {
-    var errors: u32 = 0;
-    var warnings: u32 = 0;
-    for (comp.diag.list.items) |msg| {
-        switch (msg.kind) {
-            .@"fatal error", .@"error" => errors += 1,
-            .warning => warnings += 1,
-            .note => {},
-            .off => continue, // happens if an error is added before it is disabled
-            .default => unreachable,
-        }
-        renderMessage(comp, m, msg);
-    }
-    const w_s: []const u8 = if (warnings == 1) "" else "s";
-    const e_s: []const u8 = if (errors == 1) "" else "s";
-    if (errors != 0 and warnings != 0) {
-        m.print("{d} warning{s} and {d} error{s} generated.\n", .{ warnings, w_s, errors, e_s });
-    } else if (warnings != 0) {
-        m.print("{d} warning{s} generated.\n", .{ warnings, w_s });
-    } else if (errors != 0) {
-        m.print("{d} error{s} generated.\n", .{ errors, e_s });
-    }
-
-    comp.diag.list.items.len = 0;
-    comp.diag.errors += errors;
-}
-
-pub fn renderMessage(comp: *Compilation, m: anytype, msg: Message) void {
-    var line: ?[]const u8 = null;
-    var end_with_splice = false;
-    const width = if (msg.loc.id != .unused) blk: {
-        var loc = msg.loc;
-        switch (msg.tag) {
-            .escape_sequence_overflow,
-            .invalid_universal_character,
-            // use msg.extra.unsigned for index into string literal
-            => loc.byte_offset += @truncate(msg.extra.unsigned),
-            .non_standard_escape_char,
-            .unknown_escape_sequence,
-            => loc.byte_offset += msg.extra.invalid_escape.offset,
-            else => {},
-        }
-        const source = comp.getSource(loc.id);
-        var line_col = source.lineCol(loc);
-        line = line_col.line;
-        end_with_splice = line_col.end_with_splice;
-        if (msg.tag == .backslash_newline_escape) {
-            line = line_col.line[0 .. line_col.col - 1];
-            line_col.col += 1;
-            line_col.width += 1;
-        }
-        m.location(source.path, line_col.line_no, line_col.col);
-        break :blk line_col.width;
-    } else 0;
-
-    m.start(msg.kind);
-    @setEvalBranchQuota(1500);
-    switch (msg.tag) {
-        inline else => |tag| {
-            const info = @field(messages, @tagName(tag));
-            if (@hasDecl(info, "extra")) {
-                switch (info.extra) {
-                    .str => m.print(info.msg, .{msg.extra.str}),
-                    .tok_id => m.print(info.msg, .{
-                        msg.extra.tok_id.expected.symbol(),
-                        msg.extra.tok_id.actual.symbol(),
-                    }),
-                    .tok_id_expected => m.print(info.msg, .{msg.extra.tok_id_expected.symbol()}),
-                    .arguments => m.print(info.msg, .{ msg.extra.arguments.expected, msg.extra.arguments.actual }),
-                    .codepoints => m.print(info.msg, .{
-                        msg.extra.codepoints.actual,
-                        msg.extra.codepoints.resembles,
-                    }),
-                    .attr_arg_count => m.print(info.msg, .{
-                        @tagName(msg.extra.attr_arg_count.attribute),
-                        msg.extra.attr_arg_count.expected,
-                    }),
-                    .attr_arg_type => m.print(info.msg, .{
-                        msg.extra.attr_arg_type.expected.toString(),
-                        msg.extra.attr_arg_type.actual.toString(),
-                    }),
-                    .actual_codepoint => m.print(info.msg, .{msg.extra.actual_codepoint}),
-                    .ascii => m.print(info.msg, .{msg.extra.ascii}),
-                    .unsigned => m.print(info.msg, .{msg.extra.unsigned}),
-                    .pow_2_as_string => m.print(info.msg, .{switch (msg.extra.pow_2_as_string) {
-                        63 => "9223372036854775808",
-                        64 => "18446744073709551616",
-                        127 => "170141183460469231731687303715884105728",
-                        128 => "340282366920938463463374607431768211456",
-                        else => unreachable,
-                    }}),
-                    .signed => m.print(info.msg, .{msg.extra.signed}),
-                    .attr_enum => m.print(info.msg, .{
-                        @tagName(msg.extra.attr_enum.tag),
-                        Attribute.Formatting.choices(msg.extra.attr_enum.tag),
-                    }),
-                    .ignored_record_attr => m.print(info.msg, .{
-                        @tagName(msg.extra.ignored_record_attr.tag),
-                        @tagName(msg.extra.ignored_record_attr.specifier),
-                    }),
-                    .builtin_with_header => m.print(info.msg, .{
-                        @tagName(msg.extra.builtin_with_header.header),
-                        Builtin.nameFromTag(msg.extra.builtin_with_header.builtin).span(),
-                    }),
-                    .invalid_escape => {
-                        if (std.ascii.isPrint(msg.extra.invalid_escape.char)) {
-                            const str: [1]u8 = .{msg.extra.invalid_escape.char};
-                            m.print(info.msg, .{&str});
-                        } else {
-                            var buf: [3]u8 = undefined;
-                            _ = std.fmt.bufPrint(&buf, "x{x}", .{std.fmt.fmtSliceHexLower(&.{msg.extra.invalid_escape.char})}) catch unreachable;
-                            m.print(info.msg, .{&buf});
-                        }
-                    },
-                    else => @compileError("invalid extra kind " ++ @tagName(info.extra)),
-                }
-            } else {
-                m.write(info.msg);
-            }
-
-            if (@hasDecl(info, "opt")) {
-                if (msg.kind == .@"error" and info.kind != .@"error") {
-                    m.print(" [-Werror,-W{s}]", .{info.opt});
-                } else if (msg.kind != .note) {
-                    m.print(" [-W{s}]", .{info.opt});
-                }
-            }
-        },
-    }
-
-    m.end(line, width, end_with_splice);
-}
-
-fn tagKind(diag: *Diagnostics, tag: Tag) Kind {
-    // XXX: horrible hack, do not do this
-    const comp = @fieldParentPtr(Compilation, "diag", diag);
-
-    var kind: Kind = undefined;
-    switch (tag) {
-        inline else => |tag_val| {
-            const info = @field(messages, @tagName(tag_val));
-            kind = info.kind;
-
-            // stage1 doesn't like when I combine these ifs
-            if (@hasDecl(info, "all")) {
-                if (diag.options.all != .default) kind = diag.options.all;
-            }
-            if (@hasDecl(info, "w_extra")) {
-                if (diag.options.extra != .default) kind = diag.options.extra;
-            }
-            if (@hasDecl(info, "pedantic")) {
-                if (diag.options.pedantic != .default) kind = diag.options.pedantic;
-            }
-            if (@hasDecl(info, "opt")) {
-                if (@field(diag.options, info.opt) != .default) kind = @field(diag.options, info.opt);
-            }
-            if (@hasDecl(info, "suppress_version")) if (comp.langopts.standard.atLeast(info.suppress_version)) return .off;
-            if (@hasDecl(info, "suppress_unless_version")) if (!comp.langopts.standard.atLeast(info.suppress_unless_version)) return .off;
-            if (@hasDecl(info, "suppress_gnu")) if (comp.langopts.standard.isExplicitGNU()) return .off;
-            if (@hasDecl(info, "suppress_language_option")) if (!@field(comp.langopts, info.suppress_language_option)) return .off;
-            if (@hasDecl(info, "suppress_gcc")) if (comp.langopts.emulate == .gcc) return .off;
-            if (@hasDecl(info, "suppress_clang")) if (comp.langopts.emulate == .clang) return .off;
-            if (@hasDecl(info, "suppress_msvc")) if (comp.langopts.emulate == .msvc) return .off;
-            if (kind == .@"error" and diag.fatal_errors) kind = .@"fatal error";
-            return kind;
-        },
-    }
-}
-
-const MsgWriter = struct {
-    w: std.io.BufferedWriter(4096, std.fs.File.Writer),
-    color: bool,
-
-    fn init(color: bool) MsgWriter {
-        std.debug.getStderrMutex().lock();
-        return .{
-            .w = std.io.bufferedWriter(std.io.getStdErr().writer()),
-            .color = color,
-        };
-    }
-
-    pub fn deinit(m: *MsgWriter) void {
-        m.w.flush() catch {};
-        std.debug.getStderrMutex().unlock();
-    }
-
-    pub fn print(m: *MsgWriter, comptime fmt: []const u8, args: anytype) void {
-        m.w.writer().print(fmt, args) catch {};
-    }
-
-    fn write(m: *MsgWriter, msg: []const u8) void {
-        m.w.writer().writeAll(msg) catch {};
-    }
-
-    fn setColor(m: *MsgWriter, color: util.Color) void {
-        util.setColor(color, m.w.writer());
-    }
-
-    fn location(m: *MsgWriter, path: []const u8, line: u32, col: u32) void {
-        const prefix = if (std.fs.path.dirname(path) == null and path[0] != '<') "." ++ std.fs.path.sep_str else "";
-        if (!m.color) {
-            m.print("{s}{s}:{d}:{d}: ", .{ prefix, path, line, col });
-        } else {
-            m.setColor(.white);
-            m.print("{s}{s}:{d}:{d}: ", .{ prefix, path, line, col });
-        }
-    }
-
-    fn start(m: *MsgWriter, kind: Kind) void {
-        if (!m.color) {
-            m.print("{s}: ", .{@tagName(kind)});
-        } else {
-            switch (kind) {
-                .@"fatal error", .@"error" => m.setColor(.red),
-                .note => m.setColor(.cyan),
-                .warning => m.setColor(.purple),
-                .off, .default => unreachable,
-            }
-            m.write(switch (kind) {
-                .@"fatal error" => "fatal error: ",
-                .@"error" => "error: ",
-                .note => "note: ",
-                .warning => "warning: ",
-                .off, .default => unreachable,
-            });
-            m.setColor(.white);
-        }
-    }
-
-    fn end(m: *MsgWriter, maybe_line: ?[]const u8, col: u32, end_with_splice: bool) void {
-        const line = maybe_line orelse {
-            m.write("\n");
-            m.setColor(.reset);
-            return;
-        };
-        const trailer = if (end_with_splice) "\\ " else "";
-        if (!m.color) {
-            m.print("\n{s}{s}\n", .{ line, trailer });
-            m.print("{s: >[1]}^\n", .{ "", col });
-        } else {
-            m.setColor(.reset);
-            m.print("\n{s}{s}\n{s: >[3]}", .{ line, trailer, "", col });
-            m.setColor(.green);
-            m.write("^\n");
-            m.setColor(.reset);
-        }
-    }
-};
deps/aro/Interner.zig
@@ -1,180 +0,0 @@
-const Interner = @This();
-const std = @import("std");
-const Allocator = std.mem.Allocator;
-const assert = std.debug.assert;
-const Value = @import("Value.zig");
-
-map: std.ArrayHashMapUnmanaged(Key, void, KeyContext, false) = .{},
-
-const KeyContext = struct {
-    pub fn eql(_: @This(), a: Key, b: Key, _: usize) bool {
-        return b.eql(a);
-    }
-
-    pub fn hash(_: @This(), a: Key) u32 {
-        return a.hash();
-    }
-};
-
-pub const Key = union(enum) {
-    int: u16,
-    float: u16,
-    ptr,
-    noreturn,
-    void,
-    func,
-    array: struct {
-        len: u64,
-        child: Ref,
-    },
-    vector: struct {
-        len: u32,
-        child: Ref,
-    },
-    value: Value,
-    record: struct {
-        /// Pointer to user data, value used for hash and equality check.
-        user_ptr: *anyopaque,
-        /// TODO make smaller if Value is made smaller
-        elements: []const Ref,
-    },
-
-    pub fn hash(key: Key) u32 {
-        var hasher = std.hash.Wyhash.init(0);
-        switch (key) {
-            .value => |val| {
-                std.hash.autoHash(&hasher, val.tag);
-                switch (val.tag) {
-                    .unavailable => unreachable,
-                    .nullptr_t => std.hash.autoHash(&hasher, @as(u64, 0)),
-                    .int => std.hash.autoHash(&hasher, val.data.int),
-                    .float => std.hash.autoHash(&hasher, @as(u64, @bitCast(val.data.float))),
-                    .bytes => std.hash.autoHashStrat(&hasher, val.data.bytes, .Shallow),
-                }
-            },
-            .record => |info| {
-                std.hash.autoHash(&hasher, @intFromPtr(info.user_ptr));
-            },
-            inline else => |info| {
-                std.hash.autoHash(&hasher, info);
-            },
-        }
-        return @truncate(hasher.final());
-    }
-
-    pub fn eql(a: Key, b: Key) bool {
-        const KeyTag = std.meta.Tag(Key);
-        const a_tag: KeyTag = a;
-        const b_tag: KeyTag = b;
-        if (a_tag != b_tag) return false;
-        switch (a) {
-            .value => |a_info| {
-                const b_info = b.value;
-                if (a_info.tag != b_info.tag) return false;
-                switch (a_info.tag) {
-                    .unavailable => unreachable,
-                    .nullptr_t => return true,
-                    .int => return a_info.data.int == b_info.data.int,
-                    .float => return a_info.data.float == b_info.data.float,
-                    .bytes => return a_info.data.bytes.start == b_info.data.bytes.start and a_info.data.bytes.end == b_info.data.bytes.end,
-                }
-            },
-            .record => |a_info| {
-                return a_info.user_ptr == b.record.user_ptr;
-            },
-            inline else => |a_info, tag| {
-                const b_info = @field(b, @tagName(tag));
-                return std.meta.eql(a_info, b_info);
-            },
-        }
-    }
-
-    fn toRef(key: Key) ?Ref {
-        switch (key) {
-            .int => |bits| switch (bits) {
-                1 => return .i1,
-                8 => return .i8,
-                16 => return .i16,
-                32 => return .i32,
-                64 => return .i64,
-                128 => return .i128,
-                else => {},
-            },
-            .float => |bits| switch (bits) {
-                16 => return .f16,
-                32 => return .f32,
-                64 => return .f64,
-                80 => return .f80,
-                128 => return .f128,
-                else => unreachable,
-            },
-            .ptr => return .ptr,
-            .func => return .func,
-            .noreturn => return .noreturn,
-            .void => return .void,
-            else => {},
-        }
-        return null;
-    }
-};
-
-pub const Ref = enum(u32) {
-    const max = std.math.maxInt(u32);
-
-    ptr = max - 0,
-    noreturn = max - 1,
-    void = max - 2,
-    i1 = max - 3,
-    i8 = max - 4,
-    i16 = max - 5,
-    i32 = max - 6,
-    i64 = max - 7,
-    i128 = max - 8,
-    f16 = max - 9,
-    f32 = max - 10,
-    f64 = max - 11,
-    f80 = max - 12,
-    f128 = max - 13,
-    func = max - 14,
-    _,
-};
-
-pub fn deinit(ip: *Interner, gpa: Allocator) void {
-    ip.map.deinit(gpa);
-}
-
-pub fn put(ip: *Interner, gpa: Allocator, key: Key) !Ref {
-    if (key.toRef()) |some| return some;
-    const gop = try ip.map.getOrPut(gpa, key);
-    return @enumFromInt(gop.index);
-}
-
-pub fn has(ip: *Interner, key: Key) ?Ref {
-    if (key.toRef()) |some| return some;
-    if (ip.map.getIndex(key)) |index| {
-        return @enumFromInt(index);
-    }
-    return null;
-}
-
-pub fn get(ip: Interner, ref: Ref) Key {
-    switch (ref) {
-        .ptr => return .ptr,
-        .func => return .func,
-        .noreturn => return .noreturn,
-        .void => return .void,
-        .i1 => return .{ .int = 1 },
-        .i8 => return .{ .int = 8 },
-        .i16 => return .{ .int = 16 },
-        .i32 => return .{ .int = 32 },
-        .i64 => return .{ .int = 64 },
-        .i128 => return .{ .int = 128 },
-        .f16 => return .{ .float = 16 },
-        .f32 => return .{ .float = 32 },
-        .f64 => return .{ .float = 64 },
-        .f80 => return .{ .float = 80 },
-        .f128 => return .{ .float = 128 },
-        else => {},
-    }
-    return ip.map.keys()[@intFromEnum(ref)];
-}
deps/aro/lib.zig
@@ -1,27 +0,0 @@
-/// Deprecated
-pub const Codegen = @import("Codegen_legacy.zig");
-pub const CodeGen = @import("CodeGen.zig");
-pub const Compilation = @import("Compilation.zig");
-pub const Diagnostics = @import("Diagnostics.zig");
-pub const Driver = @import("Driver.zig");
-pub const Interner = @import("Interner.zig");
-pub const Ir = @import("Ir.zig");
-pub const Object = @import("Object.zig");
-pub const Parser = @import("Parser.zig");
-pub const Preprocessor = @import("Preprocessor.zig");
-pub const Source = @import("Source.zig");
-pub const Tokenizer = @import("Tokenizer.zig");
-pub const Tree = @import("Tree.zig");
-pub const Type = @import("Type.zig");
-pub const TypeMapper = @import("StringInterner.zig").TypeMapper;
-pub const target_util = @import("target.zig");
-
-pub const version_str = "0.0.0-dev";
-pub const version = @import("std").SemanticVersion.parse(version_str) catch unreachable;
-
-pub const CallingConvention = enum {
-    C,
-    stdcall,
-    thiscall,
-    vectorcall,
-};
deps/aro/README.md
@@ -1,4 +1,7 @@
+<img src="https://aro.vexu.eu/aro-logo.svg" alt="Aro" width="120px"/>
+
 # Aro
+
 A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.
 
 Aro is included as an alternative C frontend in the [Zig compiler](https://github.com/ziglang/zig)
deps/aro/util.zig
@@ -1,83 +0,0 @@
-const std = @import("std");
-const mem = std.mem;
-const builtin = @import("builtin");
-const is_windows = builtin.os.tag == .windows;
-
-pub const Color = enum {
-    reset,
-    red,
-    green,
-    blue,
-    cyan,
-    purple,
-    yellow,
-    white,
-};
-
-pub fn fileSupportsColor(file: std.fs.File) bool {
-    return file.supportsAnsiEscapeCodes() or (is_windows and file.isTty());
-}
-
-pub fn setColor(color: Color, w: anytype) void {
-    if (is_windows) {
-        const stderr_file = std.io.getStdErr();
-        if (!stderr_file.isTty()) return;
-        const windows = std.os.windows;
-        const S = struct {
-            var attrs: windows.WORD = undefined;
-            var init_attrs = false;
-        };
-        if (!S.init_attrs) {
-            S.init_attrs = true;
-            var info: windows.CONSOLE_SCREEN_BUFFER_INFO = undefined;
-            _ = windows.kernel32.GetConsoleScreenBufferInfo(stderr_file.handle, &info);
-            S.attrs = info.wAttributes;
-            _ = windows.kernel32.SetConsoleOutputCP(65001);
-        }
-
-        // need to flush bufferedWriter
-        const T = if (@typeInfo(@TypeOf(w.context)) == .Pointer) @TypeOf(w.context.*) else @TypeOf(w.context);
-        if (T != void and @hasDecl(T, "flush")) w.context.flush() catch {};
-
-        switch (color) {
-            .reset => _ = windows.SetConsoleTextAttribute(stderr_file.handle, S.attrs) catch {},
-            .red => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_INTENSITY) catch {},
-            .green => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_GREEN | windows.FOREGROUND_INTENSITY) catch {},
-            .blue => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
-            .cyan => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_GREEN | windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
-            .purple => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
-            .yellow => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_GREEN | windows.FOREGROUND_INTENSITY) catch {},
-            .white => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_GREEN | windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
-        }
-    } else switch (color) {
-        .reset => w.writeAll("\x1b[0m") catch {},
-        .red => w.writeAll("\x1b[31;1m") catch {},
-        .green => w.writeAll("\x1b[32;1m") catch {},
-        .blue => w.writeAll("\x1b[34;1m") catch {},
-        .cyan => w.writeAll("\x1b[36;1m") catch {},
-        .purple => w.writeAll("\x1b[35;1m") catch {},
-        .yellow => w.writeAll("\x1b[93;1m") catch {},
-        .white => w.writeAll("\x1b[0m\x1b[1m") catch {},
-    }
-}
-
-pub fn errorDescription(err: anyerror) []const u8 {
-    return switch (err) {
-        error.OutOfMemory => "ran out of memory",
-        error.FileNotFound => "file not found",
-        error.IsDir => "is a directory",
-        error.NotDir => "is not a directory",
-        error.NotOpenForReading => "file is not open for reading",
-        error.NotOpenForWriting => "file is not open for writing",
-        error.InvalidUtf8 => "input is not valid UTF-8",
-        error.FileBusy => "file is busy",
-        error.NameTooLong => "file name is too long",
-        error.AccessDenied => "access denied",
-        error.FileTooBig => "file is too big",
-        error.ProcessFdQuotaExceeded, error.SystemFdQuotaExceeded => "ran out of file descriptors",
-        error.SystemResources => "ran out of system resources",
-        error.FatalError => "a fatal error occurred",
-        error.Unexpected => "an unexpected error occurred",
-        else => @errorName(err),
-    };
-}
deps/aro/Value.zig
@@ -1,633 +0,0 @@
-const std = @import("std");
-const assert = std.debug.assert;
-const Compilation = @import("Compilation.zig");
-const Type = @import("Type.zig");
-
-const Value = @This();
-
-pub const ByteRange = struct {
-    start: u32,
-    end: u32,
-
-    pub fn len(self: ByteRange) u32 {
-        return self.end - self.start;
-    }
-
-    pub fn trim(self: ByteRange, amount: u32) ByteRange {
-        std.debug.assert(self.start <= self.end - amount);
-        return .{ .start = self.start, .end = self.end - amount };
-    }
-
-    pub fn slice(self: ByteRange, all_bytes: []const u8, comptime size: Compilation.CharUnitSize) []const size.Type() {
-        switch (size) {
-            inline else => |sz| {
-                const aligned: []align(@alignOf(sz.Type())) const u8 = @alignCast(all_bytes[self.start..self.end]);
-                return std.mem.bytesAsSlice(sz.Type(), aligned);
-            },
-        }
-    }
-
-    pub fn dumpString(range: ByteRange, ty: Type, comp: *const Compilation, strings: []const u8, w: anytype) !void {
-        const size: Compilation.CharUnitSize = @enumFromInt(ty.elemType().sizeof(comp).?);
-        const without_null = range.trim(@intFromEnum(size));
-        switch (size) {
-            inline .@"1", .@"2" => |sz| {
-                const data_slice = without_null.slice(strings, sz);
-                const formatter = if (sz == .@"1") std.zig.fmtEscapes(data_slice) else std.unicode.fmtUtf16le(data_slice);
-                try w.print("\"{}\"", .{formatter});
-            },
-            .@"4" => {
-                try w.writeByte('"');
-                const data_slice = without_null.slice(strings, .@"4");
-                var buf: [4]u8 = undefined;
-                for (data_slice) |item| {
-                    if (item <= std.math.maxInt(u21) and std.unicode.utf8ValidCodepoint(@intCast(item))) {
-                        const codepoint: u21 = @intCast(item);
-                        const written = std.unicode.utf8Encode(codepoint, &buf) catch unreachable;
-                        try w.print("{s}", .{buf[0..written]});
-                    } else {
-                        try w.print("\\x{x}", .{item});
-                    }
-                }
-                try w.writeByte('"');
-            },
-        }
-    }
-};
-
-tag: Tag = .unavailable,
-data: union {
-    none: void,
-    int: u64,
-    float: f64,
-    bytes: ByteRange,
-} = .{ .none = {} },
-
-const Tag = enum {
-    unavailable,
-    nullptr_t,
-    /// int is used to store integer, boolean and pointer values
-    int,
-    float,
-    bytes,
-};
-
-pub fn zero(v: Value) Value {
-    return switch (v.tag) {
-        .int => int(0),
-        .float => float(0),
-        else => unreachable,
-    };
-}
-
-pub fn one(v: Value) Value {
-    return switch (v.tag) {
-        .int => int(1),
-        .float => float(1),
-        else => unreachable,
-    };
-}
-
-pub fn int(v: anytype) Value {
-    if (@TypeOf(v) == comptime_int or @typeInfo(@TypeOf(v)).Int.signedness == .unsigned)
-        return .{ .tag = .int, .data = .{ .int = v } }
-    else
-        return .{ .tag = .int, .data = .{ .int = @bitCast(@as(i64, v)) } };
-}
-
-pub fn float(v: anytype) Value {
-    return .{ .tag = .float, .data = .{ .float = v } };
-}
-
-pub fn bytes(start: u32, end: u32) Value {
-    return .{ .tag = .bytes, .data = .{ .bytes = .{ .start = start, .end = end } } };
-}
-
-pub fn signExtend(v: Value, old_ty: Type, comp: *Compilation) i64 {
-    const size = old_ty.sizeof(comp).?;
-    return switch (size) {
-        1 => v.getInt(i8),
-        2 => v.getInt(i16),
-        4 => v.getInt(i32),
-        8 => v.getInt(i64),
-        else => unreachable,
-    };
-}
-
-/// Number of bits needed to hold `v` which is of type `ty`.
-/// Asserts that `v` is not negative
-pub fn minUnsignedBits(v: Value, ty: Type, comp: *const Compilation) usize {
-    assert(v.compare(.gte, Value.int(0), ty, comp));
-    return switch (ty.sizeof(comp).?) {
-        1 => 8 - @clz(v.getInt(u8)),
-        2 => 16 - @clz(v.getInt(u16)),
-        4 => 32 - @clz(v.getInt(u32)),
-        8 => 64 - @clz(v.getInt(u64)),
-        else => unreachable,
-    };
-}
-
-test "minUnsignedBits" {
-    const Test = struct {
-        fn checkIntBits(comp: *const Compilation, specifier: Type.Specifier, v: u64, expected: usize) !void {
-            const val = Value.int(v);
-            try std.testing.expectEqual(expected, val.minUnsignedBits(.{ .specifier = specifier }, comp));
-        }
-    };
-
-    var comp = Compilation.init(std.testing.allocator);
-    defer comp.deinit();
-    comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
-
-    try Test.checkIntBits(&comp, .int, 0, 0);
-    try Test.checkIntBits(&comp, .int, 1, 1);
-    try Test.checkIntBits(&comp, .int, 2, 2);
-    try Test.checkIntBits(&comp, .int, std.math.maxInt(i8), 7);
-    try Test.checkIntBits(&comp, .int, std.math.maxInt(u8), 8);
-    try Test.checkIntBits(&comp, .int, std.math.maxInt(i16), 15);
-    try Test.checkIntBits(&comp, .int, std.math.maxInt(u16), 16);
-    try Test.checkIntBits(&comp, .int, std.math.maxInt(i32), 31);
-    try Test.checkIntBits(&comp, .uint, std.math.maxInt(u32), 32);
-    try Test.checkIntBits(&comp, .long, std.math.maxInt(i64), 63);
-    try Test.checkIntBits(&comp, .ulong, std.math.maxInt(u64), 64);
-    try Test.checkIntBits(&comp, .long_long, std.math.maxInt(i64), 63);
-    try Test.checkIntBits(&comp, .ulong_long, std.math.maxInt(u64), 64);
-}
-
-/// Minimum number of bits needed to represent `v` in 2's complement notation
-/// Asserts that `v` is negative.
-pub fn minSignedBits(v: Value, ty: Type, comp: *const Compilation) usize {
-    assert(v.compare(.lt, Value.int(0), ty, comp));
-    return switch (ty.sizeof(comp).?) {
-        1 => 8 - @clz(~v.getInt(u8)) + 1,
-        2 => 16 - @clz(~v.getInt(u16)) + 1,
-        4 => 32 - @clz(~v.getInt(u32)) + 1,
-        8 => 64 - @clz(~v.getInt(u64)) + 1,
-        else => unreachable,
-    };
-}
-
-test "minSignedBits" {
-    const Test = struct {
-        fn checkIntBits(comp: *const Compilation, specifier: Type.Specifier, v: i64, expected: usize) !void {
-            const val = Value.int(v);
-            try std.testing.expectEqual(expected, val.minSignedBits(.{ .specifier = specifier }, comp));
-        }
-    };
-
-    var comp = Compilation.init(std.testing.allocator);
-    defer comp.deinit();
-    comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
-
-    for ([_]Type.Specifier{ .int, .long, .long_long }) |specifier| {
-        try Test.checkIntBits(&comp, specifier, -1, 1);
-        try Test.checkIntBits(&comp, specifier, -2, 2);
-        try Test.checkIntBits(&comp, specifier, -10, 5);
-        try Test.checkIntBits(&comp, specifier, -101, 8);
-
-        try Test.checkIntBits(&comp, specifier, std.math.minInt(i8), 8);
-        try Test.checkIntBits(&comp, specifier, std.math.minInt(i16), 16);
-        try Test.checkIntBits(&comp, specifier, std.math.minInt(i32), 32);
-    }
-
-    try Test.checkIntBits(&comp, .long, std.math.minInt(i64), 64);
-    try Test.checkIntBits(&comp, .long_long, std.math.minInt(i64), 64);
-}
-
-pub const FloatToIntChangeKind = enum {
-    /// value did not change
-    none,
-    /// floating point number too small or large for destination integer type
-    out_of_range,
-    /// tried to convert a NaN or Infinity
-    overflow,
-    /// fractional value was converted to zero
-    nonzero_to_zero,
-    /// fractional part truncated
-    value_changed,
-};
-
-fn floatToIntExtra(comptime FloatTy: type, int_ty_signedness: std.builtin.Signedness, int_ty_size: u16, v: *Value) FloatToIntChangeKind {
-    const float_val = v.getFloat(FloatTy);
-    const was_zero = float_val == 0;
-    const had_fraction = std.math.modf(float_val).fpart != 0;
-
-    switch (int_ty_signedness) {
-        inline else => |signedness| switch (int_ty_size) {
-            inline 1, 2, 4, 8 => |bytecount| {
-                const IntTy = std.meta.Int(signedness, bytecount * 8);
-
-                const intVal = std.math.lossyCast(IntTy, float_val);
-                v.* = int(intVal);
-                if (!was_zero and v.isZero()) return .nonzero_to_zero;
-                if (float_val <= std.math.minInt(IntTy) or float_val >= std.math.maxInt(IntTy)) return .out_of_range;
-                if (had_fraction) return .value_changed;
-                return .none;
-            },
-            else => unreachable,
-        },
-    }
-}
-
-/// Converts the stored value from a float to an integer.
-/// `.unavailable` value remains unchanged.
-pub fn floatToInt(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) FloatToIntChangeKind {
-    assert(old_ty.isFloat());
-    if (v.tag == .unavailable) return .none;
-    if (new_ty.is(.bool)) {
-        const was_zero = v.isZero();
-        const was_one = v.getFloat(f64) == 1.0;
-        v.toBool();
-        if (was_zero or was_one) return .none;
-        return .value_changed;
-    } else if (new_ty.isUnsignedInt(comp) and v.data.float < 0) {
-        v.* = int(0);
-        return .out_of_range;
-    } else if (!std.math.isFinite(v.data.float)) {
-        v.tag = .unavailable;
-        return .overflow;
-    }
-    const old_size = old_ty.sizeof(comp).?;
-    const new_size: u16 = @intCast(new_ty.sizeof(comp).?);
-    if (new_ty.isUnsignedInt(comp)) switch (old_size) {
-        1 => unreachable, // promoted to int
-        2 => unreachable, // promoted to int
-        4 => return floatToIntExtra(f32, .unsigned, new_size, v),
-        8 => return floatToIntExtra(f64, .unsigned, new_size, v),
-        else => unreachable,
-    } else switch (old_size) {
-        1 => unreachable, // promoted to int
-        2 => unreachable, // promoted to int
-        4 => return floatToIntExtra(f32, .signed, new_size, v),
-        8 => return floatToIntExtra(f64, .signed, new_size, v),
-        else => unreachable,
-    }
-}
-
-/// Converts the stored value from an integer to a float.
-/// `.unavailable` value remains unchanged.
-pub fn intToFloat(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) void {
-    assert(old_ty.isInt());
-    if (v.tag == .unavailable) return;
-    if (!new_ty.isReal() or new_ty.sizeof(comp).? > 8) {
-        v.tag = .unavailable;
-    } else if (old_ty.isUnsignedInt(comp)) {
-        v.* = float(@as(f64, @floatFromInt(v.data.int)));
-    } else {
-        v.* = float(@as(f64, @floatFromInt(@as(i64, @bitCast(v.data.int)))));
-    }
-}
-
-/// Truncates or extends bits based on type.
-/// old_ty is only used for size.
-pub fn intCast(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) void {
-    // assert(old_ty.isInt() and new_ty.isInt());
-    if (v.tag == .unavailable) return;
-    if (new_ty.is(.bool)) return v.toBool();
-    if (!old_ty.isUnsignedInt(comp)) {
-        const size = new_ty.sizeof(comp).?;
-        switch (size) {
-            1 => v.* = int(@as(u8, @truncate(@as(u64, @bitCast(v.signExtend(old_ty, comp)))))),
-            2 => v.* = int(@as(u16, @truncate(@as(u64, @bitCast(v.signExtend(old_ty, comp)))))),
-            4 => v.* = int(@as(u32, @truncate(@as(u64, @bitCast(v.signExtend(old_ty, comp)))))),
-            8 => return,
-            else => unreachable,
-        }
-    }
-}
-
-/// Converts the stored value from an integer to a float.
-/// `.unavailable` value remains unchanged.
-pub fn floatCast(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) void {
-    assert(old_ty.isFloat() and new_ty.isFloat());
-    if (v.tag == .unavailable) return;
-    const size = new_ty.sizeof(comp).?;
-    if (!new_ty.isReal() or size > 8) {
-        v.tag = .unavailable;
-    } else if (size == 32) {
-        v.* = float(@as(f32, @floatCast(v.data.float)));
-    }
-}
-
-/// Truncates data.int to one bit
-pub fn toBool(v: *Value) void {
-    if (v.tag == .unavailable) return;
-    const res = v.getBool();
-    v.* = int(@intFromBool(res));
-}
-
-pub fn isZero(v: Value) bool {
-    return switch (v.tag) {
-        .unavailable => false,
-        .nullptr_t => false,
-        .int => v.data.int == 0,
-        .float => v.data.float == 0,
-        .bytes => false,
-    };
-}
-
-pub fn getBool(v: Value) bool {
-    return switch (v.tag) {
-        .unavailable => unreachable,
-        .nullptr_t => false,
-        .int => v.data.int != 0,
-        .float => v.data.float != 0,
-        .bytes => true,
-    };
-}
-
-pub fn getInt(v: Value, comptime T: type) T {
-    if (T == u64) return v.data.int;
-    return if (@typeInfo(T).Int.signedness == .unsigned)
-        @truncate(v.data.int)
-    else
-        @truncate(@as(i64, @bitCast(v.data.int)));
-}
-
-pub fn getFloat(v: Value, comptime T: type) T {
-    if (T == f64) return v.data.float;
-    return @floatCast(v.data.float);
-}
-
-const bin_overflow = struct {
-    inline fn addInt(comptime T: type, out: *Value, a: Value, b: Value) bool {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-        const sum, const overflowed = @addWithOverflow(a_val, b_val);
-        out.* = int(sum);
-        return overflowed != 0;
-    }
-    inline fn addFloat(comptime T: type, aa: Value, bb: Value) Value {
-        const a_val = aa.getFloat(T);
-        const b_val = bb.getFloat(T);
-        return float(a_val + b_val);
-    }
-
-    inline fn subInt(comptime T: type, out: *Value, a: Value, b: Value) bool {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-        const difference, const overflowed = @subWithOverflow(a_val, b_val);
-        out.* = int(difference);
-        return overflowed != 0;
-    }
-    inline fn subFloat(comptime T: type, aa: Value, bb: Value) Value {
-        const a_val = aa.getFloat(T);
-        const b_val = bb.getFloat(T);
-        return float(a_val - b_val);
-    }
-
-    inline fn mulInt(comptime T: type, out: *Value, a: Value, b: Value) bool {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-        const product, const overflowed = @mulWithOverflow(a_val, b_val);
-        out.* = int(product);
-        return overflowed != 0;
-    }
-    inline fn mulFloat(comptime T: type, aa: Value, bb: Value) Value {
-        const a_val = aa.getFloat(T);
-        const b_val = bb.getFloat(T);
-        return float(a_val * b_val);
-    }
-
-    const FT = fn (*Value, Value, Value, Type, *Compilation) bool;
-    fn getOp(comptime intFunc: anytype, comptime floatFunc: anytype) FT {
-        return struct {
-            fn op(res: *Value, a: Value, b: Value, ty: Type, comp: *Compilation) bool {
-                const size = ty.sizeof(comp).?;
-                if (@TypeOf(floatFunc) != @TypeOf(null) and ty.isFloat()) {
-                    res.* = switch (size) {
-                        4 => floatFunc(f32, a, b),
-                        8 => floatFunc(f64, a, b),
-                        else => unreachable,
-                    };
-                    return false;
-                }
-
-                if (ty.isUnsignedInt(comp)) switch (size) {
-                    1 => return intFunc(u8, res, a, b),
-                    2 => return intFunc(u16, res, a, b),
-                    4 => return intFunc(u32, res, a, b),
-                    8 => return intFunc(u64, res, a, b),
-                    else => unreachable,
-                } else switch (size) {
-                    1 => return intFunc(u8, res, a, b),
-                    2 => return intFunc(u16, res, a, b),
-                    4 => return intFunc(i32, res, a, b),
-                    8 => return intFunc(i64, res, a, b),
-                    else => unreachable,
-                }
-            }
-        }.op;
-    }
-};
-
-pub const add = bin_overflow.getOp(bin_overflow.addInt, bin_overflow.addFloat);
-pub const sub = bin_overflow.getOp(bin_overflow.subInt, bin_overflow.subFloat);
-pub const mul = bin_overflow.getOp(bin_overflow.mulInt, bin_overflow.mulFloat);
-
-const bin_ops = struct {
-    inline fn divInt(comptime T: type, aa: Value, bb: Value) Value {
-        const a_val = aa.getInt(T);
-        const b_val = bb.getInt(T);
-        return int(@divTrunc(a_val, b_val));
-    }
-    inline fn divFloat(comptime T: type, aa: Value, bb: Value) Value {
-        const a_val = aa.getFloat(T);
-        const b_val = bb.getFloat(T);
-        return float(a_val / b_val);
-    }
-
-    inline fn remInt(comptime T: type, a: Value, b: Value) Value {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-
-        if (@typeInfo(T).Int.signedness == .signed) {
-            if (a_val == std.math.minInt(T) and b_val == -1) {
-                return Value{ .tag = .unavailable, .data = .{ .none = {} } };
-            } else {
-                if (b_val > 0) return int(@rem(a_val, b_val));
-                return int(a_val - @divTrunc(a_val, b_val) * b_val);
-            }
-        } else {
-            return int(a_val % b_val);
-        }
-    }
-
-    inline fn orInt(comptime T: type, a: Value, b: Value) Value {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-        return int(a_val | b_val);
-    }
-    inline fn xorInt(comptime T: type, a: Value, b: Value) Value {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-        return int(a_val ^ b_val);
-    }
-    inline fn andInt(comptime T: type, a: Value, b: Value) Value {
-        const a_val = a.getInt(T);
-        const b_val = b.getInt(T);
-        return int(a_val & b_val);
-    }
-
-    inline fn shl(comptime T: type, a: Value, b: Value) Value {
-        const ShiftT = std.math.Log2Int(T);
-        const info = @typeInfo(T).Int;
-        const UT = std.meta.Int(.unsigned, info.bits);
-        const b_val = b.getInt(T);
-
-        if (b_val > std.math.maxInt(ShiftT)) {
-            return if (info.signedness == .unsigned)
-                int(@as(UT, std.math.maxInt(UT)))
-            else
-                int(@as(T, std.math.minInt(T)));
-        }
-        const amt: ShiftT = @truncate(@as(UT, @bitCast(b_val)));
-        const a_val = a.getInt(T);
-        return int(a_val << amt);
-    }
-    inline fn shr(comptime T: type, a: Value, b: Value) Value {
-        const ShiftT = std.math.Log2Int(T);
-        const UT = std.meta.Int(.unsigned, @typeInfo(T).Int.bits);
-
-        const b_val = b.getInt(T);
-        if (b_val > std.math.maxInt(ShiftT)) return Value.int(0);
-
-        const amt: ShiftT = @truncate(@as(UT, @intCast(b_val)));
-        const a_val = a.getInt(T);
-        return int(a_val >> amt);
-    }
-
-    const FT = fn (Value, Value, Type, *Compilation) Value;
-    fn getOp(comptime intFunc: anytype, comptime floatFunc: anytype) FT {
-        return struct {
-            fn op(a: Value, b: Value, ty: Type, comp: *Compilation) Value {
-                const size = ty.sizeof(comp).?;
-                if (@TypeOf(floatFunc) != @TypeOf(null) and ty.isFloat()) {
-                    switch (size) {
-                        4 => return floatFunc(f32, a, b),
-                        8 => return floatFunc(f64, a, b),
-                        else => unreachable,
-                    }
-                }
-
-                if (ty.isUnsignedInt(comp)) switch (size) {
-                    1 => unreachable, // promoted to int
-                    2 => unreachable, // promoted to int
-                    4 => return intFunc(u32, a, b),
-                    8 => return intFunc(u64, a, b),
-                    else => unreachable,
-                } else switch (size) {
-                    1 => unreachable, // promoted to int
-                    2 => unreachable, // promoted to int
-                    4 => return intFunc(i32, a, b),
-                    8 => return intFunc(i64, a, b),
-                    else => unreachable,
-                }
-            }
-        }.op;
-    }
-};
-
-/// caller guarantees rhs != 0
-pub const div = bin_ops.getOp(bin_ops.divInt, bin_ops.divFloat);
-/// caller guarantees rhs != 0
-/// caller guarantees lhs != std.math.minInt(T) OR rhs != -1
-pub const rem = bin_ops.getOp(bin_ops.remInt, null);
-
-pub const bitOr = bin_ops.getOp(bin_ops.orInt, null);
-pub const bitXor = bin_ops.getOp(bin_ops.xorInt, null);
-pub const bitAnd = bin_ops.getOp(bin_ops.andInt, null);
-
-pub const shl = bin_ops.getOp(bin_ops.shl, null);
-pub const shr = bin_ops.getOp(bin_ops.shr, null);
-
-pub fn bitNot(v: Value, ty: Type, comp: *Compilation) Value {
-    const size = ty.sizeof(comp).?;
-    var out: Value = undefined;
-    if (ty.isUnsignedInt(comp)) switch (size) {
-        1 => unreachable, // promoted to int
-        2 => unreachable, // promoted to int
-        4 => out = int(~v.getInt(u32)),
-        8 => out = int(~v.getInt(u64)),
-        else => unreachable,
-    } else switch (size) {
-        1 => unreachable, // promoted to int
-        2 => unreachable, // promoted to int
-        4 => out = int(~v.getInt(i32)),
-        8 => out = int(~v.getInt(i64)),
-        else => unreachable,
-    }
-    return out;
-}
-
-pub fn compare(a: Value, op: std.math.CompareOperator, b: Value, ty: Type, comp: *const Compilation) bool {
-    assert(a.tag == b.tag);
-    if (a.tag == .nullptr_t) {
-        return switch (op) {
-            .eq => true,
-            .neq => false,
-            else => unreachable,
-        };
-    }
-    const S = struct {
-        inline fn doICompare(comptime T: type, aa: Value, opp: std.math.CompareOperator, bb: Value) bool {
-            const a_val = aa.getInt(T);
-            const b_val = bb.getInt(T);
-            return std.math.compare(a_val, opp, b_val);
-        }
-        inline fn doFCompare(comptime T: type, aa: Value, opp: std.math.CompareOperator, bb: Value) bool {
-            const a_val = aa.getFloat(T);
-            const b_val = bb.getFloat(T);
-            return std.math.compare(a_val, opp, b_val);
-        }
-    };
-    const size = ty.sizeof(comp).?;
-    switch (a.tag) {
-        .unavailable => return true,
-        .int => if (ty.isUnsignedInt(comp)) switch (size) {
-            1 => return S.doICompare(u8, a, op, b),
-            2 => return S.doICompare(u16, a, op, b),
-            4 => return S.doICompare(u32, a, op, b),
-            8 => return S.doICompare(u64, a, op, b),
-            else => unreachable,
-        } else switch (size) {
-            1 => return S.doICompare(i8, a, op, b),
-            2 => return S.doICompare(i16, a, op, b),
-            4 => return S.doICompare(i32, a, op, b),
-            8 => return S.doICompare(i64, a, op, b),
-            else => unreachable,
-        },
-        .float => switch (size) {
-            4 => return S.doFCompare(f32, a, op, b),
-            8 => return S.doFCompare(f64, a, op, b),
-            else => unreachable,
-        },
-        else => @panic("TODO"),
-    }
-    return false;
-}
-
-pub fn hash(v: Value) u64 {
-    switch (v.tag) {
-        .unavailable => unreachable,
-        .int => return std.hash.Wyhash.hash(0, std.mem.asBytes(&v.data.int)),
-        else => @panic("TODO"),
-    }
-}
-
-pub fn dump(v: Value, ty: Type, comp: *Compilation, strings: []const u8, w: anytype) !void {
-    switch (v.tag) {
-        .unavailable => try w.writeAll("unavailable"),
-        .int => if (ty.is(.bool) and comp.langopts.standard.atLeast(.c2x)) {
-            try w.print("{s}", .{if (v.isZero()) "false" else "true"});
-        } else if (ty.isUnsignedInt(comp)) {
-            try w.print("{d}", .{v.data.int});
-        } else {
-            try w.print("{d}", .{v.signExtend(ty, comp)});
-        },
-        .bytes => try v.data.bytes.dumpString(ty, comp, strings, w),
-        // std.fmt does @as instead of @floatCast
-        .float => try w.print("{d}", .{@as(f64, @floatCast(v.data.float))}),
-        else => try w.print("({s})", .{@tagName(v.tag)}),
-    }
-}