Better str8_fmt_ktl_buf (using simd)

This commit is contained in:
ed
2026-09-08 20:45:57 -04:00
parent 749a712ceb
commit b9b1ed460a
8 changed files with 387 additions and 296 deletions
+46 -55
View File
@@ -1,4 +1,5 @@
#include "duffle/dsl.h"
#include "duffle/asm.h"
#include "duffle/analysis.h"
#include "duffle/math.h"
#include "duffle/encoding.h"
@@ -274,9 +275,7 @@ x8616_decode_table_generate(X8616_DecodeGen* gen, FArena_R info_scratch) {
}
#ifndef X8616_DECODE_TABLE_OUTPUT
# define X8616_DECODE_TABLE_OUTPUT "./code/8086/gen/decoder_table.h"
#endif
#define X8616_DECODE_TABLE_OUTPUT "./code/8086/gen/decoder_table.h"
enum {
INFO_MEMORY_SIZE = kilo(64),
@@ -318,54 +317,51 @@ I_ Str8 str8_from_u4_opt(U4 num, Opt_str8_from_u4 o) { if (o.radix == 0) {o.radi
#define code_str8(...) slit8(stringify(__VA_ARGS__))
internal void
x8616_decode_gen_emit_plan(Str8Gen_R out, X8616_DecodePlan const* plan) {
defer_rewind(smem.scratch.top)
{
Str8 template = code_str8(
\t{
<flags>, <op>, <encoding_flags>, <width>,
{ <operands[0]> , <operands[1]> }, <operand_count>,
<payload>, <prefix_kind>,
<d_shift>, <w_shift>, <s_shift>, <v_shift>, <z_shift>, <reg_shift>, <sr_shift>,
{ <mod_rm.bits>, <mod_rm.mask> },
{ <post_opcode.bits>, <post_opcode.mask> },
},\n
);
KTL_Slot_Str8 tbl[] = {
#define dec(value) str8_from_u4(value, .radix = 10, .min_digits = 1)
#define hex_u1(value) str8_from_u4(value, .radix = 16, .min_digits = 2)
#define hex_u2(value) str8_from_u4(value, .radix = 16, .min_digits = 4)
#define entry(key,value) { ktl_str8_key(key), value }
entry("flags", hex_u2(plan->flags)),
entry("op", hex_u1(plan->op)),
entry("encoding_flags", hex_u1(plan->encoding_flags)),
entry("width", hex_u1(plan->width)),
entry("operands[0]", hex_u1(plan->operands[0])),
entry("operands[1]", hex_u1(plan->operands[1])),
entry("operand_count", dec(plan->operand_count)),
entry("payload", dec(plan->payload)),
entry("prefix_kind", dec(plan->prefix_kind)),
entry("d_shift", dec(plan->d_shift)),
entry("w_shift", dec(plan->w_shift)),
entry("s_shift", dec(plan->s_shift)),
entry("v_shift", dec(plan->v_shift)),
entry("z_shift", dec(plan->z_shift)),
entry("reg_shift", dec(plan->reg_shift)),
entry("sr_shift", dec(plan->sr_shift)),
entry("mod_rm.bits", hex_u1(plan->mod_rm.bits)),
entry("mod_rm.mask", hex_u1(plan->mod_rm.mask)),
entry("post_opcode.bits", hex_u1(plan->post_opcode.bits)),
entry("post_opcode.mask", hex_u1(plan->post_opcode.mask)),
#undef dec
#undef hex
#undef entry
};
str8gen_append_fmt(out, template, ktl_str8_from_arr(tbl));
}
}
x8616_decode_gen_emit_plan(Str8Gen_R out, X8616_DecodePlan_R plan) { defer_rewind(smem.scratch.top) {
Str8 template = code_str8(
\t{
<flags>, <op>, <encoding_flags>, <width>,
{<operands[0]>, <operands[1]>}, <operand_count>,
<payload>, <prefix_kind>,
<d_shift>, <w_shift>, <s_shift>, <v_shift>, <z_shift>, <reg_shift>, <sr_shift>,
{<mod_rm.bits>, <mod_rm.mask>},
{<post_opcode.bits>, <post_opcode.mask>},
},\n
);
KTL_Slot_Str8 tbl[] = {
#define dec(value) str8_from_u4(value, .radix = 10, .min_digits = 1)
#define hex_u1(value) str8_from_u4(value, .radix = 16, .min_digits = 2)
#define hex_u2(value) str8_from_u4(value, .radix = 16, .min_digits = 4)
#define entry(key,value) { ktl_str8_key(key), value }
entry("flags", hex_u2(plan->flags)),
entry("op", hex_u1(plan->op)),
entry("encoding_flags", hex_u1(plan->encoding_flags)),
entry("width", hex_u1(plan->width)),
entry("operands[0]", hex_u1(plan->operands[0])),
entry("operands[1]", hex_u1(plan->operands[1])),
entry("operand_count", dec(plan->operand_count)),
entry("payload", dec(plan->payload)),
entry("prefix_kind", dec(plan->prefix_kind)),
entry("d_shift", dec(plan->d_shift)),
entry("w_shift", dec(plan->w_shift)),
entry("s_shift", dec(plan->s_shift)),
entry("v_shift", dec(plan->v_shift)),
entry("z_shift", dec(plan->z_shift)),
entry("reg_shift", dec(plan->reg_shift)),
entry("sr_shift", dec(plan->sr_shift)),
entry("mod_rm.bits", hex_u1(plan->mod_rm.bits)),
entry("mod_rm.mask", hex_u1(plan->mod_rm.mask)),
entry("post_opcode.bits", hex_u1(plan->post_opcode.bits)),
entry("post_opcode.mask", hex_u1(plan->post_opcode.mask)),
#undef dec
#undef hex
#undef entry
};
str8gen_append_fmt(out, template, ktl_str8_from_arr(tbl));
}}
internal Str8
x8616_decode_gen_emit(Str8Gen_R out, X8616_DecodeGen const* gen) {
x8616_decode_gen_emit(Str8Gen_R out, X8616_DecodeGen_R gen) {
str8gen_append_str8(out, slit8(
"// Generated from encoder_table.h. Do not hand-edit.\n"
"// Plan 0 is the all-zero nil/invalid plan.\n\n"
@@ -397,17 +393,13 @@ x8616_decode_gen_emit(Str8Gen_R out, X8616_DecodeGen const* gen) {
return str8(out->ptr, out->len);
}
CLANG_OPTIMIZE_DISABLE
int
main(void) {
FArena info_scratch = farena_make(slice_ut_arr(smem.info));
X8616_DecodeGenInfo gen_info = x8616_decode_table_generate(& smem.gen, & info_scratch);
if (gen_info.msgs.error_count) { ms_exit_process(1); return 1; }
Str8Gen output = {
.ptr = C_(UTF8*, smem.text),
.cap = S_(smem.text),
};
Str8Gen output = str8gen_make(slice_ut_arr(smem.text));
Str8 generated = x8616_decode_gen_emit(& output, & smem.gen);
FArena file_scratch = farena_make(slice_ut_arr(smem.file));
@@ -418,4 +410,3 @@ main(void) {
ms_exit_process(0);
return 0;
}
CLANG_OPTIMIZE_ENABLE
+132 -132
View File
@@ -3,138 +3,138 @@
RO_ global X8616_DecodePlan x8616_decode_plans[132] =
{
{ 0x0000, 0x00, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x02, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x02, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x38 }, { 0x00, 0x00 }, },
{ 0x0088, 0x02, 0x00, 0x00, { 0x03 , 0x07 }, 2, 1, 0, 0, 3, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x000c, 0x02, 0x00, 0x00, { 0x06 , 0x0a }, 2, 4, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0205, 0x02, 0x00, 0x02, { 0x01 , 0x04 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x20 }, { 0x00, 0x00 }, },
{ 0x0201, 0x0b, 0x00, 0x02, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x30, 0x38 }, { 0x00, 0x00 }, },
{ 0x0080, 0x0b, 0x00, 0x02, { 0x03 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0100, 0x0b, 0x00, 0x02, { 0x05 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x0c, 0x00, 0x02, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x38 }, { 0x00, 0x00 }, },
{ 0x0080, 0x0c, 0x00, 0x02, { 0x03 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0100, 0x0c, 0x00, 0x02, { 0x05 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x0d, 0x00, 0x00, { 0x02 , 0x01 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0080, 0x0d, 0x00, 0x02, { 0x06 , 0x03 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x0e, 0x00, 0x00, { 0x06 , 0x08 }, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x0e, 0x00, 0x00, { 0x06 , 0x0e }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x0f, 0x00, 0x00, { 0x08 , 0x06 }, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x0f, 0x00, 0x00, { 0x0e , 0x06 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x10, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x11, 0x00, 0x02, { 0x02 , 0x01 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x12, 0x00, 0x02, { 0x02 , 0x01 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x13, 0x00, 0x02, { 0x02 , 0x01 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x14, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x15, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x16, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x17, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x03, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0219, 0x03, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, { 0x00, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x03, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x04, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x04, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x08, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x04, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x05, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0219, 0x05, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, { 0x10, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x05, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x06, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0219, 0x06, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, { 0x18, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x06, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x07, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x07, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x20, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x07, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x08, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0219, 0x08, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, { 0x28, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x08, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x09, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x09, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x30, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x09, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x020d, 0x0a, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0219, 0x0a, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, { 0x38, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x0a, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x18, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x38 }, { 0x00, 0x00 }, },
{ 0x0080, 0x18, 0x00, 0x02, { 0x03 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x19, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x1a, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x1b, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x08, 0x38 }, { 0x00, 0x00 }, },
{ 0x0080, 0x1b, 0x00, 0x02, { 0x03 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x1c, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x18, 0x38 }, { 0x00, 0x00 }, },
{ 0x0209, 0x1f, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x20, 0x38 }, { 0x00, 0x00 }, },
{ 0x0209, 0x20, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x28, 0x38 }, { 0x00, 0x00 }, },
{ 0x0209, 0x22, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x30, 0x38 }, { 0x00, 0x00 }, },
{ 0x0209, 0x23, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x38, 0x38 }, { 0x00, 0x00 }, },
{ 0x0209, 0x27, 0x00, 0x00, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x10, 0x38 }, { 0x00, 0x00 }, },
{ 0x0000, 0x1d, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x1e, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0002, 0x21, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x0a, 0xff }, },
{ 0x0002, 0x24, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x0a, 0xff }, },
{ 0x0000, 0x25, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x26, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0229, 0x2b, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x00, 0x38 }, { 0x00, 0x00 }, },
{ 0x0229, 0x2c, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x08, 0x38 }, { 0x00, 0x00 }, },
{ 0x0229, 0x2d, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x10, 0x38 }, { 0x00, 0x00 }, },
{ 0x0229, 0x2e, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x18, 0x38 }, { 0x00, 0x00 }, },
{ 0x0229, 0x28, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x20, 0x38 }, { 0x00, 0x00 }, },
{ 0x0229, 0x29, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x28, 0x38 }, { 0x00, 0x00 }, },
{ 0x0229, 0x2a, 0x00, 0x00, { 0x01 , 0x0f }, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, { 0x38, 0x38 }, { 0x00, 0x00 }, },
{ 0x0209, 0x2f, 0x00, 0x00, { 0x01 , 0x02 }, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0209, 0x2f, 0x00, 0x00, { 0x01 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x38 }, { 0x00, 0x00 }, },
{ 0x0008, 0x2f, 0x00, 0x00, { 0x06 , 0x07 }, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0440, 0x30, 0x02, 0x00, { 0x00 , 0x00 }, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x31, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x32, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x33, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x34, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0008, 0x35, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0400, 0x5b, 0x02, 0x00, { 0x00 , 0x00 }, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0500, 0x5c, 0x02, 0x00, { 0x00 , 0x00 }, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x36, 0x00, 0x00, { 0x0c , 0x00 }, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x36, 0x00, 0x02, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x10, 0x38 }, { 0x00, 0x00 }, },
{ 0x0000, 0x36, 0x01, 0x00, { 0x0d , 0x00 }, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x36, 0x01, 0x02, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x18, 0x38 }, { 0x00, 0x00 }, },
{ 0x0000, 0x37, 0x00, 0x00, { 0x0c , 0x00 }, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x37, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x37, 0x00, 0x02, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x20, 0x38 }, { 0x00, 0x00 }, },
{ 0x0000, 0x37, 0x01, 0x00, { 0x0d , 0x00 }, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0201, 0x37, 0x01, 0x02, { 0x01 , 0x00 }, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x28, 0x38 }, { 0x00, 0x00 }, },
{ 0x0000, 0x38, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x38, 0x00, 0x00, { 0x09 , 0x00 }, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x39, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x39, 0x00, 0x00, { 0x09 , 0x00 }, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x40, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x48, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x3d, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x45, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x3a, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x42, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x3e, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x46, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x41, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x49, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x3f, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x47, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x3b, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x43, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x3c, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x44, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x4c, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x4b, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x4a, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x4d, 0x00, 0x00, { 0x0b , 0x00 }, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x4e, 0x00, 0x00, { 0x08 , 0x00 }, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x4f, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x50, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x51, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x52, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x53, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x54, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x55, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x56, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x57, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x58, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x59, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x5a, 0x00, 0x00, { 0x00 , 0x00 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0x00, 0x00 }, { 0x00, 0x00 }, },
{ 0x0000, 0x00, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x02, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x02, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x38}, {0x00, 0x00}, },
{ 0x0088, 0x02, 0x00, 0x00, {0x03, 0x07}, 2, 1, 0, 0, 3, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x000c, 0x02, 0x00, 0x00, {0x06, 0x0a}, 2, 4, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0205, 0x02, 0x00, 0x02, {0x01, 0x04}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x20}, {0x00, 0x00}, },
{ 0x0201, 0x0b, 0x00, 0x02, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x30, 0x38}, {0x00, 0x00}, },
{ 0x0080, 0x0b, 0x00, 0x02, {0x03, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0100, 0x0b, 0x00, 0x02, {0x05, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x0c, 0x00, 0x02, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x38}, {0x00, 0x00}, },
{ 0x0080, 0x0c, 0x00, 0x02, {0x03, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0100, 0x0c, 0x00, 0x02, {0x05, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x0d, 0x00, 0x00, {0x02, 0x01}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0080, 0x0d, 0x00, 0x02, {0x06, 0x03}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x0e, 0x00, 0x00, {0x06, 0x08}, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x0e, 0x00, 0x00, {0x06, 0x0e}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x0f, 0x00, 0x00, {0x08, 0x06}, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x0f, 0x00, 0x00, {0x0e, 0x06}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x10, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x11, 0x00, 0x02, {0x02, 0x01}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x12, 0x00, 0x02, {0x02, 0x01}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x13, 0x00, 0x02, {0x02, 0x01}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x14, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x15, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x16, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x17, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x03, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0219, 0x03, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, {0x00, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x03, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x04, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x04, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x08, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x04, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x05, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0219, 0x05, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, {0x10, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x05, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x06, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0219, 0x06, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, {0x18, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x06, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x07, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x07, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x20, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x07, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x08, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0219, 0x08, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, {0x28, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x08, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x09, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x09, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x30, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x09, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x020d, 0x0a, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0219, 0x0a, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, {0x38, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x0a, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x18, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x38}, {0x00, 0x00}, },
{ 0x0080, 0x18, 0x00, 0x02, {0x03, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x19, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x1a, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x1b, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x08, 0x38}, {0x00, 0x00}, },
{ 0x0080, 0x1b, 0x00, 0x02, {0x03, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x1c, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x18, 0x38}, {0x00, 0x00}, },
{ 0x0209, 0x1f, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x20, 0x38}, {0x00, 0x00}, },
{ 0x0209, 0x20, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x28, 0x38}, {0x00, 0x00}, },
{ 0x0209, 0x22, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x30, 0x38}, {0x00, 0x00}, },
{ 0x0209, 0x23, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x38, 0x38}, {0x00, 0x00}, },
{ 0x0209, 0x27, 0x00, 0x00, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x10, 0x38}, {0x00, 0x00}, },
{ 0x0000, 0x1d, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x1e, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0002, 0x21, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x0a, 0xff}, },
{ 0x0002, 0x24, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x0a, 0xff}, },
{ 0x0000, 0x25, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x26, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0229, 0x2b, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x00, 0x38}, {0x00, 0x00}, },
{ 0x0229, 0x2c, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x08, 0x38}, {0x00, 0x00}, },
{ 0x0229, 0x2d, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x10, 0x38}, {0x00, 0x00}, },
{ 0x0229, 0x2e, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x18, 0x38}, {0x00, 0x00}, },
{ 0x0229, 0x28, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x20, 0x38}, {0x00, 0x00}, },
{ 0x0229, 0x29, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x28, 0x38}, {0x00, 0x00}, },
{ 0x0229, 0x2a, 0x00, 0x00, {0x01, 0x0f}, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, {0x38, 0x38}, {0x00, 0x00}, },
{ 0x0209, 0x2f, 0x00, 0x00, {0x01, 0x02}, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0209, 0x2f, 0x00, 0x00, {0x01, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x38}, {0x00, 0x00}, },
{ 0x0008, 0x2f, 0x00, 0x00, {0x06, 0x07}, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0440, 0x30, 0x02, 0x00, {0x00, 0x00}, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x31, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x32, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x33, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x34, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0008, 0x35, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0400, 0x5b, 0x02, 0x00, {0x00, 0x00}, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0500, 0x5c, 0x02, 0x00, {0x00, 0x00}, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x36, 0x00, 0x00, {0x0c, 0x00}, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x36, 0x00, 0x02, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x10, 0x38}, {0x00, 0x00}, },
{ 0x0000, 0x36, 0x01, 0x00, {0x0d, 0x00}, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x36, 0x01, 0x02, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x18, 0x38}, {0x00, 0x00}, },
{ 0x0000, 0x37, 0x00, 0x00, {0x0c, 0x00}, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x37, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x37, 0x00, 0x02, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x20, 0x38}, {0x00, 0x00}, },
{ 0x0000, 0x37, 0x01, 0x00, {0x0d, 0x00}, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0201, 0x37, 0x01, 0x02, {0x01, 0x00}, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x28, 0x38}, {0x00, 0x00}, },
{ 0x0000, 0x38, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x38, 0x00, 0x00, {0x09, 0x00}, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x39, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x39, 0x00, 0x00, {0x09, 0x00}, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x40, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x48, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x3d, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x45, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x3a, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x42, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x3e, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x46, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x41, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x49, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x3f, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x47, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x3b, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x43, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x3c, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x44, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x4c, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x4b, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x4a, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x4d, 0x00, 0x00, {0x0b, 0x00}, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x4e, 0x00, 0x00, {0x08, 0x00}, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x4f, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x50, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x51, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x52, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x53, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x54, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x55, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x56, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x57, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x58, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x59, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
{ 0x0000, 0x5a, 0x00, 0x00, {0x00, 0x00}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0x00, 0x00}, {0x00, 0x00}, },
};
RO_ global U2 x8616_decode_dispatch[256] =