[FFmpeg-devel] [PATCH v2 116/162] avcodec/atrac9dec: Make tables used to initialize VLCs smaller

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Nov 20 09:32:41 EET 2020


The ATRAC9 decoder uses VLCs which are currently initialized with
static length tables of type uint8_t and code tables of type uint16_t.
Furthermore, in one case the actually desired symbols are in the range
-16..15 and in order to achieve this an ad-hoc symbols table of type
int16_t is calculated.

This commit modifies this process by replacing the codes tables by
symbols tables and switching to ff_init_vlc_from_lengths(); the signed
symbols are stored in the table after having been shifted by 16 to fit
into an uint8_t and are shifted back when the VLC is created. This makes
all symbols fit into an uint8_t, saving space. Furthermore, the earlier
tables had holes in them (entries with length zero that were inserted
because the actually used symbols were not contiguous); these holes are
unnecessary in the new approach, leading to further saving.

Finally, given that now both lengths as well as symbols are of the same
type, they can be combined; this saves a pointer for each VLC.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavcodec/atrac9dec.c |   31 +-
 libavcodec/atrac9tab.h | 2185 +++++++++++++++++++---------------------
 2 files changed, 1038 insertions(+), 1178 deletions(-)

diff --git a/libavcodec/atrac9dec.c b/libavcodec/atrac9dec.c
index 0477b304d2..9707077238 100644
--- a/libavcodec/atrac9dec.c
+++ b/libavcodec/atrac9dec.c
@@ -848,6 +848,7 @@ static av_cold int atrac9_decode_init(AVCodecContext *avctx)
     GetBitContext gb;
     ATRAC9Context *s = avctx->priv_data;
     int version, block_config_idx, superframe_idx, alloc_c_len;
+    int ret;
 
     s->avctx = avctx;
 
@@ -934,22 +935,25 @@ static av_cold int atrac9_decode_init(AVCodecContext *avctx)
     for (int i = 1; i < 7; i++) {
         const HuffmanCodebook *hf = &at9_huffman_sf_unsigned[i];
 
-        init_vlc(&s->sf_vlc[0][i], ATRAC9_SF_VLC_BITS, hf->size,
-                 hf->bits, 1, 1, hf->codes,
-                 2, 2, 0);
+        ret = ff_init_vlc_from_lengths(&s->sf_vlc[0][i], ATRAC9_SF_VLC_BITS,
+                                       hf->size, &hf->tab[0][1], 2,
+                                       &hf->tab[0][0], 2, 1, 0, 0, avctx);
+        if (ret < 0)
+            return ret;
     }
 
     /* Signed scalefactor VLCs */
     for (int i = 2; i < 6; i++) {
         const HuffmanCodebook *hf = &at9_huffman_sf_signed[i];
 
-        int nums = hf->size;
-        int16_t sym[32];
-        for (int j = 0; j < nums; j++)
-            sym[j] = sign_extend(j, hf->value_bits);
-
-        ff_init_vlc_sparse(&s->sf_vlc[1][i], ATRAC9_SF_VLC_BITS, hf->size, hf->bits, 1, 1,
-                           hf->codes, 2, 2, sym, sizeof(*sym), sizeof(*sym), 0);
+        /* The symbols are signed integers in the range -16..15;
+         * the values in the source table are offset by 16 to make
+         * them fit into an uint8_t; the -16 reverses this shift. */
+        ret = ff_init_vlc_from_lengths(&s->sf_vlc[1][i], ATRAC9_SF_VLC_BITS,
+                                       hf->size, &hf->tab[0][1], 2,
+                                       &hf->tab[0][0], 2, 1, -16, 0, avctx);
+        if (ret < 0)
+            return ret;
     }
 
     /* Coefficient VLCs */
@@ -957,8 +961,11 @@ static av_cold int atrac9_decode_init(AVCodecContext *avctx)
         for (int j = 0; j < 8; j++) {
             for (int k = 0; k < 4; k++) {
                 const HuffmanCodebook *hf = &at9_huffman_coeffs[i][j][k];
-                init_vlc(&s->coeff_vlc[i][j][k], 9, hf->size, hf->bits, 1, 1,
-                         hf->codes, 2, 2, 0);
+                ret = ff_init_vlc_from_lengths(&s->coeff_vlc[i][j][k], 9,
+                                               hf->size, &hf->tab[0][1], 2,
+                                               &hf->tab[0][0], 2, 1, 0, 0, avctx);
+                if (ret < 0)
+                    return ret;
             }
         }
     }
diff --git a/libavcodec/atrac9tab.h b/libavcodec/atrac9tab.h
index c25d0e2744..c62b8070d0 100644
--- a/libavcodec/atrac9tab.h
+++ b/libavcodec/atrac9tab.h
@@ -373,105 +373,70 @@ static const uint8_t at9_tab_b_dist[] = {
         27, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30,
 };
 
-static const uint8_t huff_sfb_a1_bits[] = {
-    1, 1,
+static const uint8_t huff_sfb_a1_tab[2][2] = {
+    {  0, 1 }, {  1, 1 },
 };
 
-static const uint16_t huff_sfb_a1_codes[] = {
-    0x00, 0x01,
+static const uint8_t huff_sfb_a2_tab[4][2] = {
+    {  0, 1 }, {  3, 2 }, {  1, 3 }, {  2, 3 },
 };
 
-static const uint8_t huff_sfb_a2_bits[] = {
-    1, 3, 3, 2,
+static const uint8_t huff_sfb_a3_tab[8][2] = {
+    {  0, 2 }, {  1, 2 }, {  7, 2 }, {  6, 3 }, {  2, 4 }, {  5, 5 }, {  3, 6 },
+    {  4, 6 },
 };
 
-static const uint16_t huff_sfb_a2_codes[] = {
-    0x00, 0x06, 0x07, 0x02,
+static const uint8_t huff_sfb_a4_tab[16][2] = {
+    {  2, 4 }, { 14, 4 }, { 11, 8 }, { 10, 8 }, {  9, 8 }, {  6, 8 }, {  7, 8 },
+    {  8, 8 }, {  5, 7 }, { 13, 5 }, {  3, 5 }, { 12, 6 }, {  4, 6 }, {  0, 2 },
+    {  1, 2 }, { 15, 2 },
 };
 
-static const uint8_t huff_sfb_a3_bits[] = {
-    2, 2, 4, 6, 6, 5, 3, 2,
+static const uint8_t huff_sfb_a5_tab[32][2] = {
+    { 31, 3 }, {  1, 3 }, { 26, 7 }, {  7, 7 }, { 20, 8 }, { 21, 8 }, { 23, 8 },
+    { 22, 8 }, { 29, 5 }, { 30, 4 }, {  4, 5 }, { 11, 8 }, { 24, 8 }, {  9, 8 },
+    { 10, 8 }, {  6, 6 }, { 25, 7 }, { 19, 8 }, { 12, 8 }, { 27, 6 }, { 18, 8 },
+    { 13, 8 }, { 16, 8 }, { 17, 8 }, { 14, 8 }, { 15, 8 }, {  8, 7 }, {  0, 2 },
+    {  5, 5 }, { 28, 5 }, {  3, 4 }, {  2, 3 },
 };
 
-static const uint16_t huff_sfb_a3_codes[] = {
-    0x00, 0x01, 0x0E, 0x3E, 0x3F, 0x1E, 0x06, 0x02,
+static const uint8_t huff_sfb_a6_tab[64][2] = {
+    {  0, 3 }, {  1, 3 }, {  2, 4 }, {  3, 4 }, { 61, 4 }, { 62, 4 }, { 63, 4 },
+    {  4, 5 }, {  5, 5 }, { 58, 5 }, { 59, 5 }, { 60, 5 }, {  6, 6 }, {  7, 6 },
+    {  8, 6 }, { 56, 6 }, { 57, 6 }, {  9, 7 }, { 10, 7 }, { 53, 7 }, { 54, 7 },
+    { 55, 7 }, { 11, 8 }, { 12, 8 }, { 13, 8 }, { 14, 8 }, { 15, 8 }, { 16, 8 },
+    { 17, 8 }, { 18, 8 }, { 19, 8 }, { 20, 8 }, { 21, 8 }, { 22, 8 }, { 23, 8 },
+    { 24, 8 }, { 25, 8 }, { 26, 8 }, { 27, 8 }, { 28, 8 }, { 29, 8 }, { 30, 8 },
+    { 31, 8 }, { 32, 8 }, { 33, 8 }, { 34, 8 }, { 35, 8 }, { 36, 8 }, { 37, 8 },
+    { 38, 8 }, { 39, 8 }, { 40, 8 }, { 41, 8 }, { 42, 8 }, { 43, 8 }, { 44, 8 },
+    { 45, 8 }, { 46, 8 }, { 47, 8 }, { 48, 8 }, { 49, 8 }, { 50, 8 }, { 51, 8 },
+    { 52, 8 },
 };
 
-static const uint8_t huff_sfb_a4_bits[] = {
-    2, 2, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 6, 5, 4, 2,
+static const uint8_t huff_sfb_b2_tab[3][2] = {
+    { 16, 1 }, { 15, 2 }, { 17, 2 },
 };
 
-static const uint16_t huff_sfb_a4_codes[] = {
-    0x01, 0x02, 0x00, 0x06, 0x0F, 0x13, 0x23, 0x24,
-    0x25, 0x22, 0x21, 0x20, 0x0E, 0x05, 0x01, 0x03,
+static const uint8_t huff_sfb_b3_tab[7][2] = {
+    { 17, 3 }, { 18, 5 }, { 13, 6 }, { 19, 6 }, { 14, 4 }, { 15, 2 }, { 16, 1 },
 };
 
-static const uint8_t huff_sfb_a5_bits[] = {
-    2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 6, 5, 5, 4, 3,
+static const uint8_t huff_sfb_b4_tab[15][2] = {
+    { 15, 3 }, { 17, 3 }, { 18, 4 }, { 13, 6 }, { 12, 6 }, { 21, 7 }, { 22, 8 },
+    { 10, 8 }, {  9, 8 }, { 23, 8 }, { 11, 7 }, { 14, 4 }, { 19, 5 }, { 20, 5 },
+    { 16, 1 },
 };
 
-static const uint16_t huff_sfb_a5_codes[] = {
-    0x02, 0x01, 0x07, 0x0D, 0x0C, 0x18, 0x1B, 0x21, 0x3F, 0x6A, 0x6B, 0x68,
-    0x73, 0x79, 0x7C, 0x7D, 0x7A, 0x7B, 0x78, 0x72, 0x44, 0x45, 0x47, 0x46,
-    0x69, 0x38, 0x20, 0x1D, 0x19, 0x09, 0x05, 0x00,
-};
-
-static const uint8_t huff_sfb_a6_bits[] = {
-    3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 8, 7, 7, 7, 6, 6, 5, 5, 5, 4, 4, 4,
-};
-
-static const uint16_t huff_sfb_a6_codes[] = {
-    0x00, 0x01, 0x04, 0x05, 0x12, 0x13, 0x2E, 0x2F, 0x30, 0x66, 0x67, 0xD6,
-    0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2,
-    0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE,
-    0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA,
-    0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x68, 0x69, 0x6A, 0x31, 0x32, 0x14, 0x15,
-    0x16, 0x06, 0x07, 0x08,
-};
-
-static const uint8_t huff_sfb_b2_bits[] = {
-    1, 2, 0, 2,
-};
-
-static const uint16_t huff_sfb_b2_codes[] = {
-    0x00, 0x03, 0x00, 0x02,
-};
-
-static const uint8_t huff_sfb_b3_bits[] = {
-    1, 3, 5, 6, 0, 6, 4, 2,
-};
-
-static const uint16_t huff_sfb_b3_codes[] = {
-    0x01, 0x00, 0x04, 0x0B, 0x00, 0x0A, 0x03, 0x01,
-};
-
-static const uint8_t huff_sfb_b4_bits[] = {
-    1, 3, 4, 5, 5, 7, 8, 8, 0, 8, 8, 7, 6, 6, 4, 3,
-};
-
-static const uint16_t huff_sfb_b4_codes[] = {
-    0x01, 0x01, 0x04, 0x0E, 0x0F, 0x2C, 0x5A, 0x5D, 0x00, 0x5C, 0x5B, 0x2F,
-    0x15, 0x14, 0x06, 0x00,
-};
-
-static const uint8_t huff_sfb_b5_bits[] = {
-    3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 6, 7, 7, 7, 8, 8,
-    8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 3,
-};
-
-static const uint16_t huff_sfb_b5_codes[] = {
-    0x00, 0x05, 0x07, 0x0C, 0x04, 0x02, 0x03, 0x05, 0x09, 0x10, 0x23, 0x33,
-    0x36, 0x6E, 0x60, 0x65, 0x62, 0x61, 0x63, 0x64, 0x6F, 0x6D, 0x6C, 0x6B,
-    0x6A, 0x68, 0x69, 0x45, 0x44, 0x37, 0x1A, 0x07,
+static const uint8_t huff_sfb_b5_tab[32][2] = {
+    { 16, 3 }, { 21, 4 }, { 22, 4 }, { 20, 4 }, { 23, 4 }, { 30, 8 }, {  1, 8 },
+    {  0, 8 }, {  2, 8 }, {  3, 8 }, { 31, 8 }, { 27, 7 }, { 14, 6 }, { 28, 7 },
+    { 13, 7 }, { 18, 4 }, { 25, 5 }, { 12, 7 }, { 11, 7 }, { 26, 6 }, { 24, 4 },
+    { 17, 3 }, { 19, 4 }, {  9, 7 }, { 10, 7 }, {  8, 7 }, {  7, 7 }, {  6, 7 },
+    {  5, 7 }, { 29, 7 }, {  4, 7 }, { 15, 3 },
 };
 
 typedef struct HuffmanCodebook {
-    const uint8_t *bits;
-    const uint16_t *codes;
+    const uint8_t (*tab)[2];
     const int size;
     const int value_cnt;
     const int value_cnt_pow;
@@ -480,1057 +445,945 @@ typedef struct HuffmanCodebook {
 
 static const HuffmanCodebook at9_huffman_sf_unsigned[] = {
     { 0 },
-    { huff_sfb_a1_bits, huff_sfb_a1_codes,  2,  1,  0,  1 },
-    { huff_sfb_a2_bits, huff_sfb_a2_codes,  4,  1,  0,  2 },
-    { huff_sfb_a3_bits, huff_sfb_a3_codes,  8,  1,  0,  3 },
-    { huff_sfb_a4_bits, huff_sfb_a4_codes, 16,  1,  0,  4 },
-    { huff_sfb_a5_bits, huff_sfb_a5_codes, 32,  1,  0,  5 },
-    { huff_sfb_a6_bits, huff_sfb_a6_codes, 64,  1,  0,  6 },
+    { huff_sfb_a1_tab,  2,  1,  0,  1 },
+    { huff_sfb_a2_tab,  4,  1,  0,  2 },
+    { huff_sfb_a3_tab,  8,  1,  0,  3 },
+    { huff_sfb_a4_tab, 16,  1,  0,  4 },
+    { huff_sfb_a5_tab, 32,  1,  0,  5 },
+    { huff_sfb_a6_tab, 64,  1,  0,  6 },
 };
 
 static const HuffmanCodebook at9_huffman_sf_signed[] = {
     { 0 },
     { 0 },
-    { huff_sfb_b2_bits, huff_sfb_b2_codes,  4,  1,  0,  2 },
-    { huff_sfb_b3_bits, huff_sfb_b3_codes,  8,  1,  0,  3 },
-    { huff_sfb_b4_bits, huff_sfb_b4_codes, 16,  1,  0,  4 },
-    { huff_sfb_b5_bits, huff_sfb_b5_codes, 32,  1,  0,  5 },
-};
-
-static const uint8_t huff_spec_a21_bits[] = {
-    0, 3, 0, 3, 3, 3, 0, 3, 0, 0, 0, 0, 3, 3, 0, 3,
-};
-
-static const uint16_t huff_spec_a21_codes[] = {
-    0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x00, 0x04,
-    0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x06,
-};
-
-static const uint8_t huff_spec_a22_bits[] = {
-    0, 4, 0, 4, 5, 6, 0, 6, 0, 0, 0, 0, 5, 6, 0, 6,
-    5, 6, 0, 6, 6, 7, 0, 7, 0, 0, 0, 0, 6, 7, 0, 7,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    5, 6, 0, 6, 6, 7, 0, 7, 0, 0, 0, 0, 6, 7, 0, 7,
-    5, 6, 0, 6, 7, 7, 0, 7, 0, 0, 0, 0, 6, 7, 0, 7,
-    6, 7, 0, 7, 7, 8, 0, 8, 0, 0, 0, 0, 7, 8, 0, 7,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    6, 7, 0, 7, 7, 8, 0, 8, 0, 0, 0, 0, 7, 7, 0, 8,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    5, 6, 0, 6, 6, 7, 0, 7, 0, 0, 0, 0, 7, 7, 0, 7,
-    6, 7, 0, 7, 7, 8, 0, 7, 0, 0, 0, 0, 7, 8, 0, 8,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    6, 7, 0, 7, 7, 7, 0, 8, 0, 0, 0, 0, 7, 8, 0, 8,
-};
-
-static const uint16_t huff_spec_a22_codes[] = {
-    0x00, 0x02, 0x00, 0x03, 0x10, 0x3C, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0x00, 0x3D,
-    0x0E, 0x00, 0x00, 0x39, 0x18, 0x26, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x24, 0x00, 0x6D,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x0F, 0x38, 0x00, 0x01, 0x1A, 0x6C, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x19, 0x74, 0x00, 0x27,
-    0x16, 0x14, 0x00, 0x17, 0x76, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x35, 0x64, 0x00, 0x6F,
-    0x26, 0x04, 0x00, 0x63, 0x22, 0xA2, 0x00, 0x97, 0x00, 0x00, 0x00, 0x00, 0x67, 0xA0, 0x00, 0x0D,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x2B, 0x52, 0x00, 0x0B, 0x20, 0x92, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x61, 0x0E, 0x00, 0x95,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x17, 0x16, 0x00, 0x15, 0x34, 0x6E, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x77, 0x08, 0x00, 0x07,
-    0x2A, 0x0A, 0x00, 0x53, 0x60, 0x94, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x21, 0x90, 0x00, 0x93,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x27, 0x62, 0x00, 0x05, 0x66, 0x0C, 0x00, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x23, 0x96, 0x00, 0xA3,
-};
-
-static const uint8_t huff_spec_a23_bits[] = {
-    3, 4, 0, 4, 5, 6, 0, 6, 0, 0, 0, 0, 5, 6, 0, 6,
-    5, 7, 0, 6, 6, 8, 0, 7, 0, 0, 0, 0, 6, 8, 0, 7,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    5, 6, 0, 7, 6, 7, 0, 8, 0, 0, 0, 0, 6, 7, 0, 8,
-    5, 6, 0, 6, 7, 8, 0, 8, 0, 0, 0, 0, 6, 7, 0, 7,
-    6, 8, 0, 7, 8, 9, 0, 9, 0, 0, 0, 0, 7, 9, 0, 8,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    6, 8, 0, 8, 8, 9, 0, 9, 0, 0, 0, 0, 7, 8, 0, 9,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    5, 6, 0, 6, 6, 7, 0, 7, 0, 0, 0, 0, 7, 8, 0, 8,
-    6, 8, 0, 8, 7, 9, 0, 8, 0, 0, 0, 0, 8, 9, 0, 9,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    6, 7, 0, 8, 7, 8, 0, 9, 0, 0, 0, 0, 8, 9, 0, 9,
-};
-
-static const uint16_t huff_spec_a23_codes[] = {
-    0x006, 0x002, 0x000, 0x003, 0x016, 0x01E, 0x000, 0x021, 0x000, 0x000, 0x000, 0x000,
-    0x017, 0x020, 0x000, 0x01F, 0x01C, 0x054, 0x000, 0x027, 0x010, 0x0A6, 0x000, 0x027,
-    0x000, 0x000, 0x000, 0x000, 0x015, 0x0A4, 0x000, 0x02D, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x01D, 0x026, 0x000, 0x055, 0x014, 0x02C, 0x000, 0x0A5, 0x000, 0x000, 0x000, 0x000,
-    0x011, 0x026, 0x000, 0x0A7, 0x01E, 0x000, 0x000, 0x003, 0x04A, 0x074, 0x000, 0x071,
-    0x000, 0x000, 0x000, 0x000, 0x023, 0x00A, 0x000, 0x009, 0x018, 0x072, 0x000, 0x00D,
-    0x0A2, 0x15A, 0x000, 0x123, 0x000, 0x000, 0x000, 0x000, 0x00F, 0x158, 0x000, 0x05D,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x01B, 0x0AE, 0x000, 0x077, 0x092, 0x140, 0x000, 0x121,
-    0x000, 0x000, 0x000, 0x000, 0x025, 0x05E, 0x000, 0x143, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x01F, 0x002, 0x000, 0x001, 0x022, 0x008, 0x000, 0x00B, 0x000, 0x000, 0x000, 0x000,
-    0x04B, 0x070, 0x000, 0x075, 0x01A, 0x076, 0x000, 0x0AF, 0x024, 0x142, 0x000, 0x05F,
-    0x000, 0x000, 0x000, 0x000, 0x093, 0x120, 0x000, 0x141, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x019, 0x00C, 0x000, 0x073, 0x00E, 0x05C, 0x000, 0x159, 0x000, 0x000, 0x000, 0x000,
-    0x0A3, 0x122, 0x000, 0x15B,
-};
-
-static const uint8_t huff_spec_a24_bits[] = {
-    2,  4,  0,  4,  5,  6,  0,  6,  0,  0,  0,  0,  5,  6,  0,  6,
-    5,  7,  0,  6,  6,  8,  0,  8,  0,  0,  0,  0,  6,  8,  0,  8,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    5,  6,  0,  7,  6,  8,  0,  8,  0,  0,  0,  0,  6,  8,  0,  8,
-    5,  7,  0,  7,  7,  9,  0,  9,  0,  0,  0,  0,  6,  8,  0,  8,
-    6,  9,  0,  8,  8, 10,  0, 10,  0,  0,  0,  0,  8, 10,  0,  9,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    6,  8,  0,  9,  9, 10,  0, 10,  0,  0,  0,  0,  8,  9,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    5,  7,  0,  7,  6,  8,  0,  8,  0,  0,  0,  0,  7,  9,  0,  9,
-    6,  9,  0,  8,  8, 10,  0,  9,  0,  0,  0,  0,  9, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    6,  8,  0,  9,  8,  9,  0, 10,  0,  0,  0,  0,  8, 10,  0, 10,
-};
-
-static const uint16_t huff_spec_a24_codes[] = {
-    0x002, 0x002, 0x000, 0x003, 0x01E, 0x010, 0x000, 0x013, 0x000, 0x000, 0x000, 0x000,
-    0x01F, 0x012, 0x000, 0x011, 0x01A, 0x030, 0x000, 0x01B, 0x000, 0x064, 0x000, 0x0C1,
-    0x000, 0x000, 0x000, 0x000, 0x003, 0x052, 0x000, 0x07D, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x01B, 0x01A, 0x000, 0x031, 0x002, 0x07C, 0x000, 0x053, 0x000, 0x000, 0x000, 0x000,
-    0x001, 0x0C0, 0x000, 0x065, 0x01C, 0x062, 0x000, 0x065, 0x02A, 0x198, 0x000, 0x19B,
-    0x000, 0x000, 0x000, 0x000, 0x017, 0x078, 0x000, 0x07B, 0x004, 0x0FE, 0x000, 0x077,
-    0x050, 0x33A, 0x000, 0x1F9, 0x000, 0x000, 0x000, 0x000, 0x073, 0x338, 0x000, 0x0E1,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x007, 0x066, 0x000, 0x187, 0x19E, 0x308, 0x000, 0x30B,
-    0x000, 0x000, 0x000, 0x000, 0x075, 0x0E2, 0x000, 0x1FB, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x01D, 0x064, 0x000, 0x063, 0x016, 0x07A, 0x000, 0x079, 0x000, 0x000, 0x000, 0x000,
-    0x02B, 0x19A, 0x000, 0x199, 0x006, 0x186, 0x000, 0x067, 0x074, 0x1FA, 0x000, 0x0E3,
-    0x000, 0x000, 0x000, 0x000, 0x19F, 0x30A, 0x000, 0x309, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x005, 0x076, 0x000, 0x0FF, 0x072, 0x0E0, 0x000, 0x339, 0x000, 0x000, 0x000, 0x000,
-    0x051, 0x1F8, 0x000, 0x33B,
-};
-
-static const uint8_t huff_spec_a31_bits[] = {
-    0, 0, 4, 5, 0, 5, 4, 0, 0, 0, 5, 5, 0, 5, 5, 0,
-    5, 5, 6, 6, 0, 6, 5, 5, 5, 6, 6, 7, 0, 7, 6, 6,
-    0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 7, 0, 7, 6, 6,
-    5, 5, 5, 6, 0, 6, 6, 5, 0, 0, 5, 5, 0, 5, 5, 0,
-};
-
-static const uint16_t huff_spec_a31_codes[] = {
-    0x00, 0x00, 0x02, 0x18, 0x00, 0x19, 0x03, 0x00, 0x00, 0x00, 0x12, 0x02, 0x00, 0x09, 0x15, 0x00,
-    0x1A, 0x0A, 0x3E, 0x2C, 0x00, 0x2F, 0x01, 0x0D, 0x0E, 0x38, 0x20, 0x78, 0x00, 0x7B, 0x23, 0x3B,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3A, 0x22, 0x7A, 0x00, 0x79, 0x21, 0x39,
-    0x1B, 0x0C, 0x00, 0x2E, 0x00, 0x2D, 0x3F, 0x0B, 0x00, 0x00, 0x14, 0x08, 0x00, 0x03, 0x13, 0x00,
-};
-
-static const uint8_t huff_spec_a32_bits[] = {
-    4, 5, 5, 6, 0, 6, 5, 5, 5, 6, 5, 6, 0, 6, 5, 5,
-    5, 5, 6, 7, 0, 7, 6, 5, 6, 6, 7, 7, 0, 7, 7, 6,
-    0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 7, 7, 0, 7, 7, 6,
-    5, 5, 6, 7, 0, 7, 6, 5, 5, 5, 5, 6, 0, 6, 5, 6,
-};
-
-static const uint16_t huff_spec_a32_codes[] = {
-    0x0D, 0x18, 0x16, 0x3A, 0x00, 0x3B, 0x17, 0x19, 0x12, 0x3E, 0x08, 0x1C, 0x00, 0x1B, 0x07, 0x01,
-    0x10, 0x02, 0x28, 0x78, 0x00, 0x7B, 0x1F, 0x05, 0x2A, 0x16, 0x72, 0x2A, 0x00, 0x29, 0x71, 0x19,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x18, 0x70, 0x28, 0x00, 0x2B, 0x73, 0x17,
-    0x11, 0x04, 0x1E, 0x7A, 0x00, 0x79, 0x29, 0x03, 0x13, 0x00, 0x06, 0x1A, 0x00, 0x1D, 0x09, 0x3F,
-};
-
-static const uint8_t huff_spec_a33_bits[] = {
-    3, 4, 5, 6, 0, 6, 5, 4, 4, 5, 6, 7, 0, 7, 6, 5,
-    5, 6, 6, 7, 0, 7, 6, 6, 6, 7, 8, 8, 0, 8, 8, 7,
-    0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 8, 0, 8, 8, 7,
-    5, 6, 6, 7, 0, 7, 6, 6, 4, 5, 6, 7, 0, 7, 6, 5,
-};
-
-static const uint16_t huff_spec_a33_codes[] = {
-    0x05, 0x06, 0x10, 0x08, 0x00, 0x09, 0x11, 0x07, 0x04, 0x12, 0x3E, 0x6A, 0x00, 0x6D, 0x3D, 0x19,
-    0x06, 0x3A, 0x06, 0x02, 0x00, 0x01, 0x05, 0x39, 0x02, 0x16, 0xDC, 0x2A, 0x00, 0x29, 0xDF, 0x69,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x68, 0xDE, 0x28, 0x00, 0x2B, 0xDD, 0x17,
-    0x07, 0x38, 0x04, 0x00, 0x00, 0x03, 0x07, 0x3B, 0x05, 0x18, 0x3C, 0x6C, 0x00, 0x6B, 0x3F, 0x13,
-};
-
-static const uint8_t huff_spec_a34_bits[] = {
-    2,  4,  5,  7,  0,  7,  5,  4,  4,  5,  6,  8,  0,  8,  6,  5,
-    5,  6,  7,  8,  0,  8,  7,  6,  7,  8,  8, 10,  0, 10,  9,  8,
-    0,  0,  0,  0,  0,  0,  0,  0,  7,  8,  9, 10,  0, 10,  8,  8,
-    5,  6,  7,  8,  0,  8,  7,  6,  4,  5,  6,  8,  0,  8,  6,  5,
-};
-
-static const uint16_t huff_spec_a34_codes[] = {
-    0x000, 0x00A, 0x00A, 0x034, 0x000, 0x035, 0x00B, 0x00B, 0x008, 0x01C, 0x032, 0x0DA,
-    0x000, 0x0DD, 0x035, 0x01F, 0x008, 0x01E, 0x03A, 0x06C, 0x000, 0x063, 0x039, 0x031,
-    0x032, 0x06E, 0x060, 0x37A, 0x000, 0x379, 0x1BF, 0x0D9, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x033, 0x0D8, 0x1BE, 0x378, 0x000, 0x37B, 0x061, 0x06F,
-    0x009, 0x030, 0x038, 0x062, 0x000, 0x06D, 0x03B, 0x01F, 0x009, 0x01E, 0x034, 0x0DC,
-    0x000, 0x0DB, 0x033, 0x01D,
-};
-
-static const uint8_t huff_spec_a41_bits[] = {
-    0, 0, 0, 0, 6, 6, 7, 7, 0, 7, 7, 6, 6, 0, 0, 0,
-    0, 0, 0, 0, 7, 7, 7, 7, 0, 7, 7, 7, 6, 0, 0, 0,
-    0, 0, 0, 0, 7, 7, 7, 8, 0, 8, 7, 7, 7, 0, 0, 0,
-    0, 0, 0, 0, 7, 7, 8, 8, 0, 8, 8, 7, 7, 0, 0, 0,
-    7, 7, 7, 8, 7, 8, 8, 8, 0, 8, 8, 8, 7, 8, 7, 7,
-    7, 7, 7, 7, 8, 8, 8, 9, 0, 8, 8, 8, 8, 7, 7, 7,
-    7, 7, 8, 8, 8, 8, 9, 9, 0, 9, 8, 8, 8, 8, 8, 7,
-    8, 8, 8, 8, 8, 9, 9, 9, 0, 9, 9, 9, 8, 8, 8, 8,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    8, 8, 8, 8, 8, 9, 9, 9, 0, 9, 9, 9, 8, 8, 8, 8,
-    7, 7, 8, 8, 8, 8, 8, 9, 0, 9, 9, 8, 8, 8, 8, 7,
-    7, 7, 7, 7, 8, 8, 8, 8, 0, 9, 8, 8, 8, 7, 7, 7,
-    7, 7, 7, 8, 7, 8, 8, 8, 0, 8, 8, 8, 7, 8, 7, 7,
-    0, 0, 0, 0, 7, 7, 8, 8, 0, 8, 8, 7, 7, 0, 0, 0,
-    0, 0, 0, 0, 7, 7, 7, 8, 0, 8, 7, 7, 7, 0, 0, 0,
-    0, 0, 0, 0, 6, 7, 7, 7, 0, 7, 7, 7, 7, 0, 0, 0,
-};
-
-static const uint16_t huff_spec_a41_codes[] = {
-    0x000, 0x000, 0x000, 0x000, 0x018, 0x00E, 0x05E, 0x028, 0x000, 0x029, 0x05F, 0x00F,
-    0x019, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x076, 0x06E, 0x03E, 0x004,
-    0x000, 0x017, 0x045, 0x07B, 0x013, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x04A, 0x048, 0x010, 0x0CE, 0x000, 0x0E1, 0x023, 0x055, 0x053, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x008, 0x018, 0x0D6, 0x09E, 0x000, 0x09D, 0x0E5, 0x02B,
-    0x01B, 0x000, 0x000, 0x000, 0x07C, 0x05C, 0x038, 0x0FC, 0x002, 0x0D2, 0x09A, 0x05C,
-    0x000, 0x06B, 0x0A3, 0x0D9, 0x00F, 0x0FF, 0x03D, 0x061, 0x074, 0x056, 0x036, 0x000,
-    0x0CC, 0x08C, 0x058, 0x1E2, 0x000, 0x00F, 0x05F, 0x0A1, 0x0D5, 0x00D, 0x03B, 0x059,
-    0x040, 0x014, 0x0DA, 0x0B6, 0x084, 0x040, 0x1E0, 0x196, 0x000, 0x1A1, 0x00D, 0x043,
-    0x087, 0x0C7, 0x0E3, 0x00B, 0x0F2, 0x0C4, 0x08E, 0x05A, 0x024, 0x1CC, 0x194, 0x168,
-    0x000, 0x16B, 0x1A3, 0x1CF, 0x027, 0x069, 0x099, 0x0C9, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x0F3, 0x0C8, 0x098, 0x068, 0x026, 0x1CE, 0x1A2, 0x16A, 0x000, 0x169, 0x195, 0x1CD,
-    0x025, 0x05B, 0x08F, 0x0C5, 0x041, 0x00A, 0x0E2, 0x0C6, 0x086, 0x042, 0x00C, 0x1A0,
-    0x000, 0x197, 0x1E1, 0x041, 0x085, 0x0B7, 0x0DB, 0x015, 0x075, 0x058, 0x03A, 0x00C,
-    0x0D4, 0x0A0, 0x05E, 0x00E, 0x000, 0x1E3, 0x059, 0x08D, 0x0CD, 0x001, 0x037, 0x057,
-    0x07D, 0x060, 0x03C, 0x0FE, 0x00E, 0x0D8, 0x0A2, 0x06A, 0x000, 0x05D, 0x09B, 0x0D3,
-    0x003, 0x0FD, 0x039, 0x05D, 0x000, 0x000, 0x000, 0x000, 0x01A, 0x02A, 0x0E4, 0x09C,
-    0x000, 0x09F, 0x0D7, 0x019, 0x009, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x052, 0x054, 0x022, 0x0E0, 0x000, 0x0CF, 0x011, 0x049, 0x04B, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x012, 0x07A, 0x044, 0x016, 0x000, 0x005, 0x03F, 0x06F,
-    0x077, 0x000, 0x000, 0x000,
-};
-
-static const uint8_t huff_spec_a42_bits[] = {
-    5,  6,  7,  7,  7,  7,  8,  8,  0,  8,  8,  7,  7,  7,  7,  6,
-    6,  7,  7,  8,  7,  7,  8,  8,  0,  8,  8,  7,  7,  8,  7,  7,
-    7,  7,  8,  8,  7,  8,  8,  9,  0,  9,  8,  8,  7,  8,  8,  7,
-    8,  8,  8,  8,  8,  8,  8,  9,  0,  9,  8,  8,  8,  8,  8,  8,
-    7,  7,  7,  8,  8,  8,  9,  9,  0,  9,  9,  8,  8,  8,  7,  7,
-    7,  7,  8,  8,  8,  9,  9,  9,  0,  9,  9,  9,  8,  8,  8,  7,
-    8,  8,  8,  8,  9,  9,  9, 10,  0, 10,  9,  9,  9,  8,  8,  8,
-    8,  8,  9,  9,  9,  9, 10, 10,  0, 10, 10,  9,  9,  9,  9,  9,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    8,  9,  9,  9,  9,  9, 10, 10,  0, 10, 10,  9,  9,  9,  9,  8,
-    8,  8,  8,  8,  9,  9,  9, 10,  0, 10,  9,  9,  9,  8,  8,  8,
-    7,  7,  8,  8,  8,  9,  9,  9,  0,  9,  9,  9,  8,  8,  8,  7,
-    7,  7,  7,  8,  8,  8,  9,  9,  0,  9,  9,  8,  8,  8,  7,  7,
-    8,  8,  8,  8,  8,  8,  8,  9,  0,  9,  8,  8,  8,  8,  8,  8,
-    7,  7,  8,  8,  7,  8,  8,  9,  0,  9,  8,  8,  7,  8,  8,  7,
-    6,  7,  7,  8,  7,  7,  8,  8,  0,  8,  8,  7,  7,  8,  7,  7,
-};
-
-static const uint16_t huff_spec_a42_codes[] = {
-    0x003, 0x018, 0x058, 0x000, 0x066, 0x03C, 0x0D6, 0x07C, 0x000, 0x07D, 0x0D7, 0x03D,
-    0x067, 0x001, 0x059, 0x019, 0x002, 0x064, 0x036, 0x0DA, 0x04C, 0x01C, 0x0BE, 0x02C,
-    0x000, 0x037, 0x0C5, 0x029, 0x04B, 0x0E7, 0x03B, 0x069, 0x044, 0x02E, 0x0FA, 0x092,
-    0x020, 0x0F8, 0x086, 0x1FC, 0x000, 0x1E7, 0x07F, 0x0F5, 0x023, 0x0AD, 0x0FD, 0x02D,
-    0x0F6, 0x0DC, 0x09C, 0x03E, 0x0F0, 0x0B6, 0x026, 0x186, 0x000, 0x18D, 0x02F, 0x0B5,
-    0x0E1, 0x03D, 0x0AF, 0x0D9, 0x054, 0x040, 0x014, 0x0EC, 0x0BC, 0x054, 0x1C6, 0x108,
-    0x000, 0x10B, 0x1C5, 0x069, 0x0B9, 0x0DF, 0x019, 0x047, 0x026, 0x008, 0x0E4, 0x0A2,
-    0x056, 0x1DC, 0x142, 0x06A, 0x000, 0x091, 0x123, 0x1DF, 0x04B, 0x0A7, 0x0EB, 0x00B,
-    0x0C0, 0x09E, 0x06A, 0x022, 0x1AA, 0x140, 0x092, 0x3CA, 0x000, 0x3A7, 0x04B, 0x121,
-    0x18F, 0x007, 0x071, 0x0A5, 0x020, 0x004, 0x1A8, 0x174, 0x0E4, 0x068, 0x3A4, 0x2EE,
-    0x000, 0x2ED, 0x3C9, 0x049, 0x0E7, 0x185, 0x1D1, 0x1FF, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x021, 0x1FE, 0x1D0, 0x184, 0x0E6, 0x048, 0x3C8, 0x2EC, 0x000, 0x2EF, 0x3A5, 0x069,
-    0x0E5, 0x175, 0x1A9, 0x005, 0x0C1, 0x0A4, 0x070, 0x006, 0x18E, 0x120, 0x04A, 0x3A6,
-    0x000, 0x3CB, 0x093, 0x141, 0x1AB, 0x023, 0x06B, 0x09F, 0x027, 0x00A, 0x0EA, 0x0A6,
-    0x04A, 0x1DE, 0x122, 0x090, 0x000, 0x06B, 0x143, 0x1DD, 0x057, 0x0A3, 0x0E5, 0x009,
-    0x055, 0x046, 0x018, 0x0DE, 0x0B8, 0x068, 0x1C4, 0x10A, 0x000, 0x109, 0x1C7, 0x055,
-    0x0BD, 0x0ED, 0x015, 0x041, 0x0F7, 0x0D8, 0x0AE, 0x03C, 0x0E0, 0x0B4, 0x02E, 0x18C,
-    0x000, 0x187, 0x027, 0x0B7, 0x0F1, 0x03F, 0x09D, 0x0DD, 0x045, 0x02C, 0x0FC, 0x0AC,
-    0x022, 0x0F4, 0x07E, 0x1E6, 0x000, 0x1FD, 0x087, 0x0F9, 0x021, 0x093, 0x0FB, 0x02F,
-    0x003, 0x068, 0x03A, 0x0E6, 0x04A, 0x028, 0x0C4, 0x036, 0x000, 0x02D, 0x0BF, 0x01D,
-    0x04D, 0x0DB, 0x037, 0x065,
-};
-
-static const uint8_t huff_spec_a43_bits[] = {
-    4,  6,  6,  7,  7,  8,  8,  9,  0,  9,  8,  8,  7,  7,  6,  6,
-    5,  6,  7,  7,  7,  8,  8,  9,  0,  9,  8,  8,  7,  7,  7,  6,
-    6,  7,  7,  7,  8,  8,  9,  9,  0,  9,  9,  8,  8,  7,  7,  7,
-    7,  7,  7,  8,  8,  8,  9, 10,  0, 10,  9,  9,  8,  8,  7,  7,
-    7,  7,  8,  8,  8,  9, 10, 10,  0, 10, 10,  9,  8,  8,  8,  7,
-    8,  8,  8,  9,  9,  9, 10, 10,  0, 10, 10,  9,  9,  9,  8,  8,
-    8,  9,  9,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  9,  9,
-    9,  9, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  9,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    9,  9, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  9,
-    8,  9,  9,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  9,  9,
-    8,  8,  8,  9,  9,  9, 10, 10,  0, 10, 10,  9,  9,  9,  8,  8,
-    7,  7,  8,  8,  8,  9, 10, 10,  0, 10, 10,  9,  8,  8,  8,  7,
-    7,  7,  7,  8,  8,  9,  9, 10,  0, 10,  9,  8,  8,  8,  7,  7,
-    6,  7,  7,  7,  8,  8,  9,  9,  0,  9,  9,  8,  8,  7,  7,  7,
-    5,  6,  7,  7,  7,  8,  8,  9,  0,  9,  8,  8,  7,  7,  7,  6,
-};
-
-static const uint16_t huff_spec_a43_codes[] = {
-    0x002, 0x03E, 0x016, 0x060, 0x04E, 0x0DC, 0x04A, 0x130, 0x000, 0x131, 0x04B, 0x0DD,
-    0x04F, 0x061, 0x017, 0x03F, 0x002, 0x02C, 0x076, 0x042, 0x034, 0x0CE, 0x002, 0x0E8,
-    0x000, 0x0CF, 0x001, 0x0D1, 0x037, 0x045, 0x07B, 0x02F, 0x014, 0x072, 0x052, 0x01A,
-    0x0E0, 0x080, 0x198, 0x01E, 0x000, 0x01D, 0x19B, 0x083, 0x0DF, 0x019, 0x055, 0x079,
-    0x050, 0x03C, 0x004, 0x0C4, 0x096, 0x00C, 0x0EA, 0x34A, 0x000, 0x34F, 0x0ED, 0x1D7,
-    0x095, 0x0AF, 0x003, 0x03F, 0x046, 0x026, 0x0D6, 0x092, 0x046, 0x15A, 0x3A8, 0x108,
-    0x000, 0x10F, 0x3A3, 0x135, 0x039, 0x091, 0x0D9, 0x031, 0x0D4, 0x0CA, 0x072, 0x1C6,
-    0x136, 0x090, 0x2B2, 0x104, 0x000, 0x103, 0x111, 0x08B, 0x133, 0x1D3, 0x071, 0x0C9,
-    0x03E, 0x1B4, 0x18C, 0x0CC, 0x38A, 0x2B0, 0x106, 0x0F2, 0x000, 0x0EF, 0x101, 0x113,
-    0x3A1, 0x0CB, 0x18F, 0x1B7, 0x0EE, 0x092, 0x388, 0x348, 0x10A, 0x0F4, 0x0F0, 0x0EA,
-    0x000, 0x0E9, 0x0ED, 0x0F7, 0x10D, 0x34D, 0x3AB, 0x0C9, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x0EF, 0x0C8, 0x3AA, 0x34C, 0x10C, 0x0F6, 0x0EC, 0x0E8, 0x000, 0x0EB, 0x0F1, 0x0F5,
-    0x10B, 0x349, 0x389, 0x093, 0x03F, 0x1B6, 0x18E, 0x0CA, 0x3A0, 0x112, 0x100, 0x0EE,
-    0x000, 0x0F3, 0x107, 0x2B1, 0x38B, 0x0CD, 0x18D, 0x1B5, 0x0D5, 0x0C8, 0x070, 0x1D2,
-    0x132, 0x08A, 0x110, 0x102, 0x000, 0x105, 0x2B3, 0x091, 0x137, 0x1C7, 0x073, 0x0CB,
-    0x047, 0x030, 0x0D8, 0x090, 0x038, 0x134, 0x3A2, 0x10E, 0x000, 0x109, 0x3A9, 0x15B,
-    0x047, 0x093, 0x0D7, 0x027, 0x051, 0x03E, 0x002, 0x0AE, 0x094, 0x1D6, 0x0EC, 0x34E,
-    0x000, 0x34B, 0x0EB, 0x00D, 0x097, 0x0C5, 0x005, 0x03D, 0x015, 0x078, 0x054, 0x018,
-    0x0DE, 0x082, 0x19A, 0x01C, 0x000, 0x01F, 0x199, 0x081, 0x0E1, 0x01B, 0x053, 0x073,
-    0x003, 0x02E, 0x07A, 0x044, 0x036, 0x0D0, 0x000, 0x0CE, 0x000, 0x0E9, 0x003, 0x0CF,
-    0x035, 0x043, 0x077, 0x02D,
-};
-
-static const uint8_t huff_spec_a44_bits[] = {
-    4,  5,  6,  7,  7,  8,  9, 10,  0, 10,  9,  8,  7,  7,  6,  5,
-    5,  6,  6,  7,  7,  8,  9, 10,  0, 10,  9,  8,  7,  7,  6,  6,
-    6,  6,  7,  7,  8,  9, 10, 10,  0, 10, 10,  9,  8,  7,  7,  6,
-    7,  7,  7,  8,  8,  9, 10, 10,  0, 10, 10,  9,  8,  8,  7,  7,
-    7,  8,  8,  8,  9, 10, 10, 10,  0, 10, 10, 10,  9,  8,  8,  7,
-    8,  8,  9,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  9,  8,
-    9,  9, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  9,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    9,  9, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  9,
-    8,  8,  9,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  9,  8,
-    7,  7,  8,  8,  9, 10, 10, 10,  0, 10, 10, 10,  9,  8,  8,  8,
-    7,  7,  7,  8,  8,  9, 10, 10,  0, 10, 10,  9,  8,  8,  7,  7,
-    6,  6,  7,  7,  8,  9, 10, 10,  0, 10, 10,  9,  8,  7,  7,  6,
-    5,  6,  6,  7,  7,  8,  9, 10,  0, 10,  9,  8,  7,  7,  6,  6,
-};
-
-static const uint16_t huff_spec_a44_codes[] = {
-    0x00A, 0x012, 0x030, 0x06E, 0x024, 0x074, 0x0EC, 0x07E, 0x000, 0x07F, 0x0ED, 0x075,
-    0x025, 0x06F, 0x031, 0x013, 0x010, 0x03C, 0x018, 0x05A, 0x002, 0x046, 0x09E, 0x07C,
-    0x000, 0x079, 0x0E5, 0x04D, 0x007, 0x065, 0x01B, 0x03F, 0x02E, 0x016, 0x072, 0x01A,
-    0x0D6, 0x1C6, 0x3B4, 0x066, 0x000, 0x06B, 0x3B7, 0x1D9, 0x0D5, 0x021, 0x075, 0x015,
-    0x06C, 0x03E, 0x01E, 0x0CC, 0x044, 0x0F2, 0x082, 0x05C, 0x000, 0x05F, 0x087, 0x0F5,
-    0x031, 0x0CF, 0x017, 0x059, 0x01C, 0x0EE, 0x0D0, 0x024, 0x1C0, 0x08E, 0x06E, 0x048,
-    0x000, 0x04D, 0x06D, 0x089, 0x0F7, 0x033, 0x0D3, 0x001, 0x070, 0x028, 0x1C2, 0x0F0,
-    0x08A, 0x074, 0x054, 0x040, 0x000, 0x043, 0x053, 0x073, 0x099, 0x0EF, 0x1C5, 0x02B,
-    0x0E6, 0x04E, 0x08C, 0x080, 0x068, 0x058, 0x046, 0x02A, 0x000, 0x029, 0x045, 0x051,
-    0x065, 0x085, 0x09B, 0x09D, 0x07A, 0x076, 0x060, 0x056, 0x04E, 0x02C, 0x024, 0x022,
-    0x000, 0x021, 0x027, 0x02F, 0x04B, 0x05B, 0x063, 0x071, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x07B, 0x070, 0x062, 0x05A, 0x04A, 0x02E, 0x026, 0x020, 0x000, 0x023, 0x025, 0x02D,
-    0x04F, 0x057, 0x061, 0x077, 0x0E7, 0x09C, 0x09A, 0x084, 0x064, 0x050, 0x044, 0x028,
-    0x000, 0x02B, 0x047, 0x059, 0x069, 0x081, 0x08D, 0x04F, 0x071, 0x02A, 0x1C4, 0x0EE,
-    0x098, 0x072, 0x052, 0x042, 0x000, 0x041, 0x055, 0x075, 0x08B, 0x0F1, 0x1C3, 0x029,
-    0x01D, 0x000, 0x0D2, 0x032, 0x0F6, 0x088, 0x06C, 0x04C, 0x000, 0x049, 0x06F, 0x08F,
-    0x1C1, 0x025, 0x0D1, 0x0EF, 0x06D, 0x058, 0x016, 0x0CE, 0x030, 0x0F4, 0x086, 0x05E,
-    0x000, 0x05D, 0x083, 0x0F3, 0x045, 0x0CD, 0x01F, 0x03F, 0x02F, 0x014, 0x074, 0x020,
-    0x0D4, 0x1D8, 0x3B6, 0x06A, 0x000, 0x067, 0x3B5, 0x1C7, 0x0D7, 0x01B, 0x073, 0x017,
-    0x011, 0x03E, 0x01A, 0x064, 0x006, 0x04C, 0x0E4, 0x078, 0x000, 0x07D, 0x09F, 0x047,
-    0x003, 0x05B, 0x019, 0x03D,
-};
-
-static const uint8_t huff_spec_a51_bits[] = {
-    5, 5, 5, 5, 5, 6, 6, 6, 4, 4, 5, 5, 5, 5, 5, 5,
-    0, 5, 5, 5, 5, 5, 5, 4, 4, 6, 6, 6, 5, 5, 5, 5,
-};
-
-static const uint16_t huff_spec_a51_codes[] = {
-    0x19, 0x16, 0x12, 0x0E, 0x06, 0x3A, 0x38, 0x30, 0x00, 0x04, 0x1E, 0x1A,
-    0x14, 0x10, 0x0C, 0x04, 0x00, 0x05, 0x0D, 0x11, 0x15, 0x1B, 0x1F, 0x05,
-    0x01, 0x31, 0x39, 0x3B, 0x07, 0x0F, 0x13, 0x17,
-};
-
-static const uint8_t huff_spec_a52_bits[] = {
-    4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6,
-    0, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4,
-};
-
-static const uint16_t huff_spec_a52_codes[] = {
-    0x09, 0x04, 0x00, 0x1E, 0x1A, 0x14, 0x0C, 0x06, 0x18, 0x16, 0x0E, 0x04,
-    0x3A, 0x38, 0x22, 0x20, 0x00, 0x21, 0x23, 0x39, 0x3B, 0x05, 0x0F, 0x17,
-    0x19, 0x07, 0x0D, 0x15, 0x1B, 0x1F, 0x01, 0x05,
-};
-
-static const uint8_t huff_spec_a53_bits[] = {
-    3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7,
-    0, 7, 7, 7, 7, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4,
-};
-
-static const uint16_t huff_spec_a53_codes[] = {
-    0x00, 0x0C, 0x08, 0x04, 0x1E, 0x16, 0x14, 0x06, 0x0C, 0x04, 0x38, 0x1E,
-    0x76, 0x74, 0x3A, 0x38, 0x00, 0x39, 0x3B, 0x75, 0x77, 0x1F, 0x39, 0x05,
-    0x0D, 0x07, 0x15, 0x17, 0x1F, 0x05, 0x09, 0x0D,
-};
-
-static const uint8_t huff_spec_a54_bits[] = {
-    3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8,
-    0, 8, 8, 7, 7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4,
-};
-
-static const uint16_t huff_spec_a54_codes[] = {
-    0x02, 0x0E, 0x0A, 0x08, 0x02, 0x1A, 0x0E, 0x02, 0x00, 0x30, 0x18, 0x66,
-    0x36, 0x34, 0xCA, 0xC8, 0x00, 0xC9, 0xCB, 0x35, 0x37, 0x67, 0x19, 0x31,
-    0x01, 0x03, 0x0F, 0x1B, 0x03, 0x09, 0x0B, 0x0F,
-};
-
-static const uint8_t huff_spec_a61_bits[] = {
-    6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7,
-    5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-    0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5,
-    5, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6,
-};
-
-static const uint16_t huff_spec_a61_codes[] = {
-    0x35, 0x30, 0x2A, 0x28, 0x24, 0x20, 0x18, 0x0E, 0x0C, 0x7E, 0x7C, 0x72,
-    0x70, 0x68, 0x5E, 0x5C, 0x04, 0x0E, 0x08, 0x00, 0x3C, 0x3A, 0x36, 0x32,
-    0x2C, 0x26, 0x22, 0x1A, 0x16, 0x14, 0x06, 0x04, 0x00, 0x05, 0x07, 0x15,
-    0x17, 0x1B, 0x23, 0x27, 0x2D, 0x33, 0x37, 0x3B, 0x3D, 0x01, 0x09, 0x0F,
-    0x05, 0x5D, 0x5F, 0x69, 0x71, 0x73, 0x7D, 0x7F, 0x0D, 0x0F, 0x19, 0x21,
-    0x25, 0x29, 0x2B, 0x31,
-};
-
-static const uint8_t huff_spec_a62_bits[] = {
-    5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-    6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7,
-    0, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6,
-    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5,
-};
-
-static const uint16_t huff_spec_a62_codes[] = {
-    0x14, 0x0E, 0x08, 0x04, 0x02, 0x3E, 0x3C, 0x38, 0x34, 0x30, 0x2A, 0x24,
-    0x1A, 0x18, 0x0E, 0x02, 0x32, 0x36, 0x2C, 0x26, 0x20, 0x16, 0x0C, 0x00,
-    0x76, 0x74, 0x5E, 0x5C, 0x46, 0x44, 0x2A, 0x28, 0x00, 0x29, 0x2B, 0x45,
-    0x47, 0x5D, 0x5F, 0x75, 0x77, 0x01, 0x0D, 0x17, 0x21, 0x27, 0x2D, 0x37,
-    0x33, 0x03, 0x0F, 0x19, 0x1B, 0x25, 0x2B, 0x31, 0x35, 0x39, 0x3D, 0x3F,
-    0x03, 0x05, 0x09, 0x0F,
-};
-
-static const uint8_t huff_spec_a63_bits[] = {
-    4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
-    6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,
-    0, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6,
-    6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5,
-};
-
-static const uint16_t huff_spec_a63_codes[] = {
-    0x00, 0x1C, 0x18, 0x14, 0x10, 0x0A, 0x08, 0x02, 0x3E, 0x36, 0x2E, 0x2C,
-    0x24, 0x1C, 0x0E, 0x08, 0x1E, 0x1A, 0x0C, 0x7A, 0x6A, 0x68, 0x4C, 0x32,
-    0x16, 0x14, 0xF2, 0xF0, 0x9E, 0x9C, 0x62, 0x60, 0x00, 0x61, 0x63, 0x9D,
-    0x9F, 0xF1, 0xF3, 0x15, 0x17, 0x33, 0x4D, 0x69, 0x6B, 0x7B, 0x0D, 0x1B,
-    0x1F, 0x09, 0x0F, 0x1D, 0x25, 0x2D, 0x2F, 0x37, 0x3F, 0x03, 0x09, 0x0B,
-    0x11, 0x15, 0x19, 0x1D,
-};
-
-static const uint8_t huff_spec_a64_bits[] = {
-    4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7,
-    6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
-    0, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,
-    6, 7, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4,
-};
-
-static const uint16_t huff_spec_a64_codes[] = {
-    0x006, 0x002, 0x01C, 0x01A, 0x016, 0x012, 0x00E, 0x00A, 0x002, 0x03E,
-    0x032, 0x02A, 0x022, 0x020, 0x010, 0x07A, 0x000, 0x078, 0x060, 0x050,
-    0x024, 0x006, 0x0C6, 0x0C4, 0x0A4, 0x04E, 0x00A, 0x008, 0x14E, 0x14C,
-    0x09A, 0x098, 0x000, 0x099, 0x09B, 0x14D, 0x14F, 0x009, 0x00B, 0x04F,
-    0x0A5, 0x0C5, 0x0C7, 0x007, 0x025, 0x051, 0x061, 0x079, 0x001, 0x07B,
-    0x011, 0x021, 0x023, 0x02B, 0x033, 0x03F, 0x003, 0x00B, 0x00F, 0x013,
-    0x017, 0x01B, 0x01D, 0x003,
-};
-
-static const uint8_t huff_spec_a71_bits[] = {
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6,
-    6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-};
-
-static const uint16_t huff_spec_a71_codes[] = {
-    0x6C, 0x66, 0x62, 0x5C, 0x56, 0x50, 0x52, 0x4E, 0x48, 0x3E, 0x36, 0x34, 0x2A, 0x26, 0x1E, 0x16,
-    0x0E, 0x08, 0x00, 0xF6, 0xF4, 0xEE, 0xEC, 0xE2, 0xE0, 0xDA, 0xD2, 0xD0, 0xBE, 0xBC, 0xB2, 0xB0,
-    0x0C, 0x20, 0x1C, 0x16, 0x10, 0x08, 0x02, 0x7E, 0x7C, 0x78, 0x74, 0x72, 0x6E, 0x6A, 0x64, 0x60,
-    0x5A, 0x54, 0x4C, 0x4A, 0x46, 0x44, 0x3C, 0x32, 0x30, 0x28, 0x24, 0x1C, 0x14, 0x0C, 0x0A, 0x02,
-    0x00, 0x03, 0x0B, 0x0D, 0x15, 0x1D, 0x25, 0x29, 0x31, 0x33, 0x3D, 0x45, 0x47, 0x4B, 0x4D, 0x55,
-    0x5B, 0x61, 0x65, 0x6B, 0x6F, 0x73, 0x75, 0x79, 0x7D, 0x7F, 0x03, 0x09, 0x11, 0x17, 0x1D, 0x21,
-    0x0D, 0xB1, 0xB3, 0xBD, 0xBF, 0xD1, 0xD3, 0xDB, 0xE1, 0xE3, 0xED, 0xEF, 0xF5, 0xF7, 0x01, 0x09,
-    0x0F, 0x17, 0x1F, 0x27, 0x2B, 0x35, 0x37, 0x3F, 0x49, 0x4F, 0x53, 0x51, 0x57, 0x5D, 0x63, 0x67,
-};
-
-static const uint8_t huff_spec_a72_bits[] = {
-    6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6,
-};
-
-static const uint16_t huff_spec_a72_codes[] = {
-    0x2A, 0x24, 0x1C, 0x18, 0x12, 0x0E, 0x0A, 0x06, 0x02, 0x7E, 0x7C, 0x7A, 0x76, 0x72, 0x70, 0x6A,
-    0x68, 0x62, 0x5C, 0x5A, 0x52, 0x4E, 0x46, 0x42, 0x3C, 0x34, 0x2A, 0x28, 0x20, 0x12, 0x10, 0x08,
-    0x66, 0x74, 0x6C, 0x64, 0x5E, 0x58, 0x50, 0x44, 0x40, 0x36, 0x2C, 0x22, 0x1A, 0x0A, 0x02, 0x00,
-    0xF2, 0xF0, 0xDE, 0xDC, 0xC2, 0xC0, 0xAE, 0xAC, 0x9A, 0x98, 0x7E, 0x7C, 0x5E, 0x5C, 0x32, 0x30,
-    0x00, 0x31, 0x33, 0x5D, 0x5F, 0x7D, 0x7F, 0x99, 0x9B, 0xAD, 0xAF, 0xC1, 0xC3, 0xDD, 0xDF, 0xF1,
-    0xF3, 0x01, 0x03, 0x0B, 0x1B, 0x23, 0x2D, 0x37, 0x41, 0x45, 0x51, 0x59, 0x5F, 0x65, 0x6D, 0x75,
-    0x67, 0x09, 0x11, 0x13, 0x21, 0x29, 0x2B, 0x35, 0x3D, 0x43, 0x47, 0x4F, 0x53, 0x5B, 0x5D, 0x63,
-    0x69, 0x6B, 0x71, 0x73, 0x77, 0x7B, 0x7D, 0x7F, 0x03, 0x07, 0x0B, 0x0F, 0x13, 0x19, 0x1D, 0x25,
-};
-
-static const uint8_t huff_spec_a73_bits[] = {
-    5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
-    0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8,
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-};
-
-static const uint16_t huff_spec_a73_codes[] = {
-    0x003, 0x03E, 0x038, 0x034, 0x030, 0x02C, 0x028, 0x024, 0x020, 0x01C, 0x016, 0x014,
-    0x00E, 0x00A, 0x004, 0x000, 0x07A, 0x076, 0x06E, 0x06C, 0x064, 0x05E, 0x056, 0x04E,
-    0x04C, 0x044, 0x036, 0x030, 0x022, 0x018, 0x012, 0x004, 0x03C, 0x03E, 0x032, 0x024,
-    0x020, 0x010, 0x0F2, 0x0F0, 0x0E8, 0x0CE, 0x0BA, 0x0B8, 0x0A8, 0x08C, 0x06A, 0x04E,
-    0x04C, 0x034, 0x00E, 0x00C, 0x1D6, 0x1D4, 0x19A, 0x198, 0x156, 0x154, 0x11E, 0x11C,
-    0x0D2, 0x0D0, 0x06E, 0x06C, 0x000, 0x06D, 0x06F, 0x0D1, 0x0D3, 0x11D, 0x11F, 0x155,
-    0x157, 0x199, 0x19B, 0x1D5, 0x1D7, 0x00D, 0x00F, 0x035, 0x04D, 0x04F, 0x06B, 0x08D,
-    0x0A9, 0x0B9, 0x0BB, 0x0CF, 0x0E9, 0x0F1, 0x0F3, 0x011, 0x021, 0x025, 0x033, 0x03F,
-    0x03D, 0x005, 0x013, 0x019, 0x023, 0x031, 0x037, 0x045, 0x04D, 0x04F, 0x057, 0x05F,
-    0x065, 0x06D, 0x06F, 0x077, 0x07B, 0x001, 0x005, 0x00B, 0x00F, 0x015, 0x017, 0x01D,
-    0x021, 0x025, 0x029, 0x02D, 0x031, 0x035, 0x039, 0x03F,
-};
-
-static const uint8_t huff_spec_a74_bits[] = {
-    5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
-    6,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,
-    7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,
-    9,  9,  9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,  9,  9,  9,  9,  9,
-    9,  9,  9,  9,  9,  9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
-    7,  8,  8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
-    6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,
-};
-
-static const uint16_t huff_spec_a74_codes[] = {
-    0x00D, 0x00A, 0x004, 0x000, 0x03A, 0x036, 0x032, 0x030, 0x02C, 0x028, 0x026, 0x022,
-    0x01E, 0x018, 0x012, 0x00E, 0x006, 0x07E, 0x07A, 0x070, 0x06A, 0x05E, 0x056, 0x054,
-    0x048, 0x040, 0x038, 0x022, 0x01A, 0x00A, 0x0F8, 0x0E6, 0x008, 0x0FA, 0x0F0, 0x0D2,
-    0x0BA, 0x0B8, 0x094, 0x084, 0x074, 0x042, 0x032, 0x1E6, 0x1CA, 0x1C8, 0x1A2, 0x12E,
-    0x10E, 0x10C, 0x0EC, 0x082, 0x062, 0x060, 0x3CA, 0x3C8, 0x342, 0x340, 0x25A, 0x258,
-    0x1DE, 0x1DC, 0x102, 0x100, 0x000, 0x101, 0x103, 0x1DD, 0x1DF, 0x259, 0x25B, 0x341,
-    0x343, 0x3C9, 0x3CB, 0x061, 0x063, 0x083, 0x0ED, 0x10D, 0x10F, 0x12F, 0x1A3, 0x1C9,
-    0x1CB, 0x1E7, 0x033, 0x043, 0x075, 0x085, 0x095, 0x0B9, 0x0BB, 0x0D3, 0x0F1, 0x0FB,
-    0x009, 0x0E7, 0x0F9, 0x00B, 0x01B, 0x023, 0x039, 0x041, 0x049, 0x055, 0x057, 0x05F,
-    0x06B, 0x071, 0x07B, 0x07F, 0x007, 0x00F, 0x013, 0x019, 0x01F, 0x023, 0x027, 0x029,
-    0x02D, 0x031, 0x033, 0x037, 0x03B, 0x001, 0x005, 0x00B,
-};
-
-static const uint8_t huff_spec_b22_bits[] = {
-    0,  4,  0,  4,  4,  5,  0,  5,  0,  0,  0,  0,  4,  5,  0,  5,
-    4,  7,  0,  6,  6,  9,  0,  7,  0,  0,  0,  0,  6,  9,  0,  7,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    4,  6,  0,  7,  6,  7,  0,  9,  0,  0,  0,  0,  6,  7,  0,  9,
-    4,  8,  0,  8,  8, 10,  0, 10,  0,  0,  0,  0,  6,  9,  0,  9,
-    5, 10,  0,  9,  9, 10,  0, 10,  0,  0,  0,  0,  7, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    6,  9,  0, 10,  9, 10,  0, 10,  0,  0,  0,  0,  7, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    4,  8,  0,  8,  6,  9,  0,  9,  0,  0,  0,  0,  8, 10,  0, 10,
-    6, 10,  0,  9,  7, 10,  0, 10,  0,  0,  0,  0,  9, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    5,  9,  0, 10,  7, 10,  0, 10,  0,  0,  0,  0,  9, 10,  0, 10,
-};
-
-static const uint16_t huff_spec_b22_codes[] = {
-    0x000, 0x00E, 0x000, 0x00F, 0x008, 0x006, 0x000, 0x00B, 0x000, 0x000, 0x000, 0x000,
-    0x009, 0x00A, 0x000, 0x007, 0x006, 0x00A, 0x000, 0x029, 0x006, 0x158, 0x000, 0x023,
-    0x000, 0x000, 0x000, 0x000, 0x013, 0x174, 0x000, 0x021, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x007, 0x028, 0x000, 0x00B, 0x012, 0x020, 0x000, 0x175, 0x000, 0x000, 0x000, 0x000,
-    0x007, 0x022, 0x000, 0x159, 0x00C, 0x0BC, 0x000, 0x0BF, 0x022, 0x2B8, 0x000, 0x2BB,
-    0x000, 0x000, 0x000, 0x000, 0x00B, 0x170, 0x000, 0x15B, 0x000, 0x04E, 0x000, 0x15F,
-    0x042, 0x04A, 0x000, 0x041, 0x000, 0x000, 0x000, 0x000, 0x055, 0x044, 0x000, 0x04D,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x02D, 0x172, 0x000, 0x2ED, 0x040, 0x042, 0x000, 0x047,
-    0x000, 0x000, 0x000, 0x000, 0x013, 0x2EE, 0x000, 0x049, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x00D, 0x0BE, 0x000, 0x0BD, 0x00A, 0x15A, 0x000, 0x171, 0x000, 0x000, 0x000, 0x000,
-    0x023, 0x2BA, 0x000, 0x2B9, 0x02C, 0x2EC, 0x000, 0x173, 0x012, 0x048, 0x000, 0x2EF,
-    0x000, 0x000, 0x000, 0x000, 0x041, 0x046, 0x000, 0x043, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x001, 0x15E, 0x000, 0x04F, 0x054, 0x04C, 0x000, 0x045, 0x000, 0x000, 0x000, 0x000,
-    0x043, 0x040, 0x000, 0x04B,
-};
-
-static const uint8_t huff_spec_b23_bits[] = {
-    2,  4,  0,  4,  4,  6,  0,  6,  0,  0,  0,  0,  4,  6,  0,  6,
-    4,  9,  0,  7,  7,  9,  0,  8,  0,  0,  0,  0,  7,  9,  0,  8,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    4,  7,  0,  9,  7,  8,  0,  9,  0,  0,  0,  0,  7,  8,  0,  9,
-    4,  8,  0,  8,  9, 10,  0, 10,  0,  0,  0,  0,  7, 10,  0, 10,
-    7, 10,  0, 10, 10, 10,  0, 10,  0,  0,  0,  0,  9, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    7, 10,  0, 10, 10, 10,  0, 10,  0,  0,  0,  0,  8, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    4,  8,  0,  8,  7, 10,  0, 10,  0,  0,  0,  0,  9, 10,  0, 10,
-    7, 10,  0, 10,  8, 10,  0, 10,  0,  0,  0,  0, 10, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    7, 10,  0, 10,  9, 10,  0, 10,  0,  0,  0,  0, 10, 10,  0, 10,
-};
-
-static const uint16_t huff_spec_b23_codes[] = {
-    0x003, 0x008, 0x000, 0x009, 0x002, 0x018, 0x000, 0x01B, 0x000, 0x000, 0x000, 0x000,
-    0x003, 0x01A, 0x000, 0x019, 0x000, 0x17C, 0x000, 0x055, 0x056, 0x0E8, 0x000, 0x07D,
-    0x000, 0x000, 0x000, 0x000, 0x059, 0x0F6, 0x000, 0x07F, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x001, 0x054, 0x000, 0x17D, 0x058, 0x07E, 0x000, 0x0F7, 0x000, 0x000, 0x000, 0x000,
-    0x057, 0x07C, 0x000, 0x0E9, 0x004, 0x0A2, 0x000, 0x0A1, 0x17A, 0x1DA, 0x000, 0x1D9,
-    0x000, 0x000, 0x000, 0x000, 0x053, 0x1E8, 0x000, 0x2F3, 0x05C, 0x1D6, 0x000, 0x1E7,
-    0x1EA, 0x1E2, 0x000, 0x1CF, 0x000, 0x000, 0x000, 0x000, 0x17F, 0x1CA, 0x000, 0x1DD,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x05B, 0x2F0, 0x000, 0x1DF, 0x1E4, 0x1CC, 0x000, 0x1D5,
-    0x000, 0x000, 0x000, 0x000, 0x071, 0x1E0, 0x000, 0x1C9, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x005, 0x0A0, 0x000, 0x0A3, 0x052, 0x2F2, 0x000, 0x1E9, 0x000, 0x000, 0x000, 0x000,
-    0x17B, 0x1D8, 0x000, 0x1DB, 0x05A, 0x1DE, 0x000, 0x2F1, 0x070, 0x1C8, 0x000, 0x1E1,
-    0x000, 0x000, 0x000, 0x000, 0x1E5, 0x1D4, 0x000, 0x1CD, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x05D, 0x1E6, 0x000, 0x1D7, 0x17E, 0x1DC, 0x000, 0x1CB, 0x000, 0x000, 0x000, 0x000,
-    0x1EB, 0x1CE, 0x000, 0x1E3,
-};
-
-static const uint8_t huff_spec_b24_bits[] = {
-    1,  4,  0,  4,  5,  7,  0,  7,  0,  0,  0,  0,  5,  7,  0,  7,
-    5,  9,  0,  7,  8, 10,  0,  9,  0,  0,  0,  0,  7, 10,  0,  9,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    5,  7,  0,  9,  7,  9,  0, 10,  0,  0,  0,  0,  8,  9,  0, 10,
-    5,  9,  0,  8,  9, 10,  0, 10,  0,  0,  0,  0,  7, 10,  0, 10,
-    7, 10,  0, 10, 10, 10,  0, 10,  0,  0,  0,  0, 10, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    7, 10,  0, 10, 10, 10,  0, 10,  0,  0,  0,  0, 10, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    5,  8,  0,  9,  7, 10,  0, 10,  0,  0,  0,  0,  9, 10,  0, 10,
-    7, 10,  0, 10, 10, 10,  0, 10,  0,  0,  0,  0, 10, 10,  0, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    7, 10,  0, 10, 10, 10,  0, 10,  0,  0,  0,  0, 10, 10,  0, 10,
-};
-
-static const uint16_t huff_spec_b24_codes[] = {
-    0x001, 0x000, 0x000, 0x001, 0x00A, 0x01C, 0x000, 0x033, 0x000, 0x000, 0x000, 0x000,
-    0x00B, 0x032, 0x000, 0x01D, 0x008, 0x0D8, 0x000, 0x031, 0x06E, 0x0FA, 0x000, 0x0D7,
-    0x000, 0x000, 0x000, 0x000, 0x011, 0x0F4, 0x000, 0x0D5, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x009, 0x030, 0x000, 0x0D9, 0x010, 0x0D4, 0x000, 0x0F5, 0x000, 0x000, 0x000, 0x000,
-    0x06F, 0x0D6, 0x000, 0x0FB, 0x00E, 0x0DA, 0x000, 0x025, 0x0D2, 0x0D4, 0x000, 0x0DB,
-    0x000, 0x000, 0x000, 0x000, 0x017, 0x0FE, 0x000, 0x0FD, 0x014, 0x0DC, 0x000, 0x0F9,
-    0x0F2, 0x0D6, 0x000, 0x09B, 0x000, 0x000, 0x000, 0x000, 0x1A3, 0x09C, 0x000, 0x0D3,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x019, 0x0F6, 0x000, 0x0D9, 0x0F0, 0x09E, 0x000, 0x0D1,
-    0x000, 0x000, 0x000, 0x000, 0x1A1, 0x0DE, 0x000, 0x099, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x00F, 0x024, 0x000, 0x0DB, 0x016, 0x0FC, 0x000, 0x0FF, 0x000, 0x000, 0x000, 0x000,
-    0x0D3, 0x0DA, 0x000, 0x0D5, 0x018, 0x0D8, 0x000, 0x0F7, 0x1A0, 0x098, 0x000, 0x0DF,
-    0x000, 0x000, 0x000, 0x000, 0x0F1, 0x0D0, 0x000, 0x09F, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x015, 0x0F8, 0x000, 0x0DD, 0x1A2, 0x0D2, 0x000, 0x09D, 0x000, 0x000, 0x000, 0x000,
-    0x0F3, 0x09A, 0x000, 0x0D7
-};
-
-static const uint8_t huff_spec_b32_bits[] = {
-    2, 4, 5, 6, 0, 6, 5, 4, 5, 6, 6, 7, 0, 6, 5, 6,
-    5, 6, 7, 7, 0, 8, 7, 6, 6, 7, 8, 9, 0, 9, 8, 7,
-    0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 0, 9, 8, 7,
-    5, 6, 7, 8, 0, 7, 7, 6, 5, 6, 5, 6, 0, 7, 6, 6,
-};
-
-static const uint16_t huff_spec_b32_codes[] = {
-    0x001, 0x002, 0x01E, 0x02A, 0x000, 0x02B, 0x01F, 0x003, 0x016, 0x020, 0x03A, 0x064,
-    0x000, 0x005, 0x001, 0x023, 0x01A, 0x026, 0x070, 0x00C, 0x000, 0x0CF, 0x073, 0x031,
-    0x024, 0x00E, 0x0CC, 0x146, 0x000, 0x145, 0x0A1, 0x053, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x025, 0x052, 0x0A0, 0x144, 0x000, 0x147, 0x0CD, 0x00F,
-    0x01B, 0x030, 0x072, 0x0CE, 0x000, 0x00D, 0x071, 0x027, 0x017, 0x022, 0x000, 0x004,
-    0x000, 0x065, 0x03B, 0x021,
-};
-
-static const uint8_t huff_spec_b33_bits[] = {
-    2,  4,  5,  7,  0,  7,  5,  4,  4,  5,  6,  8,  0,  7,  6,  5,
-    5,  6,  7,  9,  0,  8,  7,  6,  7,  8,  9, 10,  0, 10,  9,  8,
-    0,  0,  0,  0,  0,  0,  0,  0,  7,  8,  9, 10,  0, 10,  9,  8,
-    5,  6,  7,  8,  0,  9,  7,  6,  4,  5,  6,  7,  0,  8,  6,  5,
-};
-
-static const uint16_t huff_spec_b33_codes[] = {
-    0x003, 0x008, 0x014, 0x05E, 0x000, 0x05F, 0x015, 0x009, 0x004, 0x002, 0x01C, 0x0BA,
-    0x000, 0x011, 0x01F, 0x001, 0x00C, 0x00C, 0x014, 0x166, 0x000, 0x02D, 0x013, 0x00F,
-    0x05A, 0x0B0, 0x05E, 0x0B8, 0x000, 0x0BB, 0x165, 0x0B9, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x05B, 0x0B8, 0x164, 0x0BA, 0x000, 0x0B9, 0x05F, 0x0B1,
-    0x00D, 0x00E, 0x012, 0x02C, 0x000, 0x167, 0x015, 0x00D, 0x005, 0x000, 0x01E, 0x010,
-    0x000, 0x0BB, 0x01D, 0x003
-};
-
-static const uint8_t huff_spec_b34_bits[] = {
-    1,  4,  6,  8,  0,  8,  6,  4,  4,  6,  7,  9,  0,  8,  7,  6,
-    6,  7,  8, 10,  0, 10,  8,  7,  8,  9, 10, 10,  0, 10, 10,  9,
-    0,  0,  0,  0,  0,  0,  0,  0,  8,  9, 10, 10,  0, 10, 10,  9,
-    6,  7,  8, 10,  0, 10,  8,  7,  4,  6,  7,  8,  0,  9,  7,  6,
-};
-
-static const uint16_t huff_spec_b34_codes[] = {
-    0x000, 0x00A, 0x038, 0x0EE, 0x000, 0x0EF, 0x039, 0x00B, 0x008, 0x03C, 0x06E, 0x1D8,
-    0x000, 0x0C1, 0x075, 0x03F, 0x032, 0x068, 0x0C4, 0x358, 0x000, 0x30F, 0x0C7, 0x06D,
-    0x0D4, 0x1AE, 0x30C, 0x308, 0x000, 0x30B, 0x35B, 0x1DB, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x0D5, 0x1DA, 0x35A, 0x30A, 0x000, 0x309, 0x30D, 0x1AF,
-    0x033, 0x06C, 0x0C6, 0x30E, 0x000, 0x359, 0x0C5, 0x069, 0x009, 0x03E, 0x074, 0x0C0,
-    0x000, 0x1D9, 0x06F, 0x03D,
-};
-
-static const uint8_t huff_spec_b42_bits[] = {
-    4,  5,  6,  8,  6,  7,  8,  8,  0,  8,  8,  7,  6,  8,  6,  5,
-    5,  6,  7,  8,  7,  7,  8,  9,  0,  8,  8,  7,  7,  8,  7,  6,
-    7,  7,  8,  9,  7,  8,  9,  9,  0,  9,  9,  8,  7,  9,  8,  7,
-    8,  9,  9, 10,  8,  8,  9, 10,  0, 10,  9,  8,  8, 10,  9,  8,
-    6,  7,  8,  8,  9,  9, 10, 10,  0, 10, 10,  9,  9,  8,  8,  7,
-    7,  7,  8,  9,  9, 10, 10, 10,  0, 10, 10, 10,  9,  9,  8,  7,
-    8,  8,  9,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  9,  8,
-    8,  9,  9, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10,  9,  9,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    8,  9,  9, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10,  9,  9,
-    8,  8,  9,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  9,  8,
-    7,  7,  8,  9,  9, 10, 10, 10,  0, 10, 10, 10,  9,  9,  8,  7,
-    6,  7,  8,  8,  9,  9, 10, 10,  0, 10, 10,  9,  9,  8,  8,  7,
-    8,  8,  9, 10,  8,  8,  9, 10,  0, 10,  9,  8,  8, 10,  9,  9,
-    7,  7,  8,  9,  7,  8,  9,  9,  0,  9,  9,  8,  7,  9,  8,  7,
-    5,  6,  7,  8,  7,  7,  8,  8,  0,  9,  8,  7,  7,  8,  7,  6,
-};
-
-static const uint16_t huff_spec_b42_codes[] = {
-    0x00E, 0x018, 0x010, 0x0F0, 0x024, 0x05A, 0x0F6, 0x078, 0x000, 0x079, 0x0F7, 0x05B,
-    0x025, 0x0F1, 0x011, 0x019, 0x00C, 0x014, 0x01C, 0x036, 0x05C, 0x012, 0x09E, 0x1E4,
-    0x000, 0x00B, 0x0A9, 0x03B, 0x05F, 0x071, 0x019, 0x017, 0x06E, 0x000, 0x03E, 0x114,
-    0x002, 0x0B0, 0x1AA, 0x07A, 0x000, 0x099, 0x1E7, 0x0B3, 0x00B, 0x131, 0x07F, 0x00D,
-    0x0D8, 0x1FE, 0x112, 0x22E, 0x086, 0x010, 0x134, 0x35C, 0x000, 0x35F, 0x133, 0x013,
-    0x081, 0x22D, 0x119, 0x07B, 0x00A, 0x050, 0x0F8, 0x04E, 0x1B4, 0x154, 0x3EC, 0x0D2,
-    0x000, 0x0D7, 0x3D7, 0x137, 0x1FD, 0x073, 0x0FD, 0x057, 0x052, 0x010, 0x08E, 0x1E8,
-    0x11A, 0x3EE, 0x0F2, 0x03C, 0x000, 0x03F, 0x0F1, 0x3D5, 0x111, 0x1F5, 0x09D, 0x025,
-    0x0D2, 0x082, 0x1A0, 0x0F8, 0x36E, 0x0D4, 0x072, 0x03A, 0x000, 0x027, 0x071, 0x07D,
-    0x36D, 0x0FB, 0x1AD, 0x085, 0x00C, 0x1A8, 0x03C, 0x346, 0x0D0, 0x076, 0x024, 0x020,
-    0x000, 0x023, 0x039, 0x075, 0x07F, 0x345, 0x09B, 0x157, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x00D, 0x156, 0x09A, 0x344, 0x07E, 0x074, 0x038, 0x022, 0x000, 0x021, 0x025, 0x077,
-    0x0D1, 0x347, 0x03D, 0x1A9, 0x0D3, 0x084, 0x1AC, 0x0FA, 0x36C, 0x07C, 0x070, 0x026,
-    0x000, 0x03B, 0x073, 0x0D5, 0x36F, 0x0F9, 0x1A1, 0x083, 0x053, 0x024, 0x09C, 0x1F4,
-    0x110, 0x3D4, 0x0F0, 0x03E, 0x000, 0x03D, 0x0F3, 0x3EF, 0x11B, 0x1E9, 0x08F, 0x011,
-    0x00B, 0x056, 0x0FC, 0x072, 0x1FC, 0x136, 0x3D6, 0x0D6, 0x000, 0x0D3, 0x3ED, 0x155,
-    0x1B5, 0x04F, 0x0F9, 0x051, 0x0D9, 0x07A, 0x118, 0x22C, 0x080, 0x012, 0x132, 0x35E,
-    0x000, 0x35D, 0x135, 0x011, 0x087, 0x22F, 0x113, 0x1FF, 0x06F, 0x00C, 0x07E, 0x130,
-    0x00A, 0x0B2, 0x1E6, 0x098, 0x000, 0x07B, 0x1AB, 0x0B1, 0x003, 0x115, 0x03F, 0x001,
-    0x00D, 0x016, 0x018, 0x070, 0x05E, 0x03A, 0x0A8, 0x00A, 0x000, 0x1E5, 0x09F, 0x013,
-    0x05D, 0x037, 0x01D, 0x015,
-};
-
-static const uint8_t huff_spec_b43_bits[] = {
-    2,  5,  6,  7,  7,  8,  8,  9,  0,  9,  8,  8,  7,  7,  6,  5,
-    5,  6,  7,  8,  7,  8,  9, 10,  0, 10,  9,  8,  7,  8,  7,  6,
-    6,  7,  8,  9,  8,  9, 10, 10,  0, 10, 10,  9,  8,  9,  8,  7,
-    7,  8,  9, 10,  9,  9, 10, 10,  0, 10, 10, 10,  9, 10,  9,  8,
-    7,  8,  8,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  8,  7,
-    8,  8,  9, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10,  9,  8,
-    9,  9, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  9,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    9,  9, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  9,
-    8,  8,  9, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10,  9,  8,
-    7,  7,  8,  9, 10, 10, 10, 10,  0, 10, 10, 10, 10,  9,  8,  8,
-    7,  8,  9, 10,  9, 10, 10, 10,  0, 10, 10,  9,  9, 10,  9,  8,
-    6,  7,  8,  9,  8,  9, 10, 10,  0, 10, 10,  9,  8,  9,  8,  7,
-    5,  6,  7,  8,  7,  8,  9, 10,  0, 10,  9,  8,  7,  8,  7,  6,
-};
-
-static const uint16_t huff_spec_b43_codes[] = {
-    0x001, 0x01E, 0x022, 0x018, 0x064, 0x0EC, 0x008, 0x100, 0x000, 0x101, 0x009, 0x0ED,
-    0x065, 0x019, 0x023, 0x01F, 0x01A, 0x030, 0x056, 0x09A, 0x00A, 0x090, 0x12C, 0x0A6,
-    0x000, 0x0A9, 0x12F, 0x093, 0x00F, 0x09F, 0x059, 0x039, 0x00E, 0x054, 0x0BC, 0x19E,
-    0x082, 0x176, 0x0AC, 0x088, 0x000, 0x08B, 0x0AF, 0x19D, 0x095, 0x1D1, 0x0BF, 0x051,
-    0x002, 0x098, 0x1D4, 0x0B8, 0x170, 0x046, 0x090, 0x060, 0x000, 0x067, 0x095, 0x0BD,
-    0x173, 0x0B5, 0x1D3, 0x09D, 0x052, 0x0EE, 0x034, 0x174, 0x0BA, 0x09C, 0x080, 0x044,
-    0x000, 0x047, 0x06D, 0x099, 0x0BF, 0x16F, 0x085, 0x001, 0x0CC, 0x036, 0x16C, 0x0B0,
-    0x09A, 0x084, 0x04E, 0x03E, 0x000, 0x037, 0x04B, 0x06B, 0x0A1, 0x0B3, 0x16B, 0x087,
-    0x1D6, 0x102, 0x0A4, 0x092, 0x068, 0x04C, 0x034, 0x030, 0x000, 0x02D, 0x03D, 0x049,
-    0x083, 0x097, 0x0AB, 0x169, 0x0B6, 0x09E, 0x06E, 0x064, 0x040, 0x038, 0x02E, 0x02A,
-    0x000, 0x029, 0x033, 0x03B, 0x043, 0x063, 0x087, 0x0A3, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x0B7, 0x0A2, 0x086, 0x062, 0x042, 0x03A, 0x032, 0x028, 0x000, 0x02B, 0x02F, 0x039,
-    0x041, 0x065, 0x06F, 0x09F, 0x1D7, 0x168, 0x0AA, 0x096, 0x082, 0x048, 0x03C, 0x02C,
-    0x000, 0x031, 0x035, 0x04D, 0x069, 0x093, 0x0A5, 0x103, 0x0CD, 0x086, 0x16A, 0x0B2,
-    0x0A0, 0x06A, 0x04A, 0x036, 0x000, 0x03F, 0x04F, 0x085, 0x09B, 0x0B1, 0x16D, 0x037,
-    0x053, 0x000, 0x084, 0x16E, 0x0BE, 0x098, 0x06C, 0x046, 0x000, 0x045, 0x081, 0x09D,
-    0x0BB, 0x175, 0x035, 0x0EF, 0x003, 0x09C, 0x1D2, 0x0B4, 0x172, 0x0BC, 0x094, 0x066,
-    0x000, 0x061, 0x091, 0x047, 0x171, 0x0B9, 0x1D5, 0x099, 0x00F, 0x050, 0x0BE, 0x1D0,
-    0x094, 0x19C, 0x0AE, 0x08A, 0x000, 0x089, 0x0AD, 0x177, 0x083, 0x19F, 0x0BD, 0x055,
-    0x01B, 0x038, 0x058, 0x09E, 0x00E, 0x092, 0x12E, 0x0A8, 0x000, 0x0A7, 0x12D, 0x091,
-    0x00B, 0x09B, 0x057, 0x031,
-};
-
-static const uint8_t huff_spec_b44_bits[] = {
-    2,  4,  6,  7,  7,  8, 10, 10,  0, 10, 10,  8,  7,  7,  6,  4,
-    5,  5,  7,  8,  8, 10, 10, 10,  0, 10, 10, 10,  8,  8,  7,  5,
-    6,  7,  8,  9,  9, 10, 10, 10,  0, 10, 10, 10, 10,  9,  8,  7,
-    8,  8,  9, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  8,
-    8,  8, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  8,
-    9, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    9, 10, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10, 10,
-    8,  8, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10, 10,  8,
-    8,  8, 10, 10, 10, 10, 10, 10,  0, 10, 10, 10, 10, 10,  9,  8,
-    6,  7,  8,  9, 10, 10, 10, 10,  0, 10, 10, 10,  9,  9,  8,  7,
-    5,  5,  7,  8,  8, 10, 10, 10,  0, 10, 10, 10,  8,  8,  7,  5,
-};
-
-static const uint16_t huff_spec_b44_codes[] = {
-    0x002, 0x002, 0x030, 0x000, 0x002, 0x00C, 0x1D2, 0x1AE, 0x000, 0x1AF, 0x1D3, 0x00D,
-    0x003, 0x001, 0x031, 0x003, 0x01E, 0x002, 0x070, 0x0C8, 0x07E, 0x1E8, 0x1C0, 0x176,
-    0x000, 0x17F, 0x1C3, 0x1EB, 0x0CF, 0x0D3, 0x073, 0x009, 0x018, 0x06A, 0x0EC, 0x1DE,
-    0x1A2, 0x1CA, 0x1AA, 0x164, 0x000, 0x16D, 0x1AD, 0x1D1, 0x1EF, 0x1DD, 0x0EB, 0x06D,
-    0x0E8, 0x0CA, 0x1BE, 0x1CE, 0x1DA, 0x1B6, 0x170, 0x154, 0x000, 0x153, 0x173, 0x1B1,
-    0x1D7, 0x1D5, 0x343, 0x0CD, 0x0DC, 0x078, 0x340, 0x1CC, 0x1BA, 0x1A8, 0x156, 0x148,
-    0x000, 0x145, 0x15F, 0x1A1, 0x1BD, 0x1D9, 0x1ED, 0x07D, 0x1BC, 0x1DC, 0x1C4, 0x1B2,
-    0x17C, 0x15A, 0x14A, 0x03A, 0x000, 0x039, 0x147, 0x16B, 0x17B, 0x1B5, 0x1C9, 0x1DF,
-    0x1C6, 0x1B8, 0x1A2, 0x168, 0x160, 0x14C, 0x02E, 0x024, 0x000, 0x027, 0x03D, 0x151,
-    0x15D, 0x16F, 0x1A7, 0x1BF, 0x1A4, 0x174, 0x162, 0x14E, 0x140, 0x02C, 0x02A, 0x022,
-    0x000, 0x021, 0x029, 0x03F, 0x143, 0x159, 0x167, 0x179, 0x000, 0x000, 0x000, 0x000,
-    0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
-    0x1A5, 0x178, 0x166, 0x158, 0x142, 0x03E, 0x028, 0x020, 0x000, 0x023, 0x02B, 0x02D,
-    0x141, 0x14F, 0x163, 0x175, 0x1C7, 0x1BE, 0x1A6, 0x16E, 0x15C, 0x150, 0x03C, 0x026,
-    0x000, 0x025, 0x02F, 0x14D, 0x161, 0x169, 0x1A3, 0x1B9, 0x1BD, 0x1DE, 0x1C8, 0x1B4,
-    0x17A, 0x16A, 0x146, 0x038, 0x000, 0x03B, 0x14B, 0x15B, 0x17D, 0x1B3, 0x1C5, 0x1DD,
-    0x0DD, 0x07C, 0x1EC, 0x1D8, 0x1BC, 0x1A0, 0x15E, 0x144, 0x000, 0x149, 0x157, 0x1A9,
-    0x1BB, 0x1CD, 0x341, 0x079, 0x0E9, 0x0CC, 0x342, 0x1D4, 0x1D6, 0x1B0, 0x172, 0x152,
-    0x000, 0x155, 0x171, 0x1B7, 0x1DB, 0x1CF, 0x1BF, 0x0CB, 0x019, 0x06C, 0x0EA, 0x1DC,
-    0x1EE, 0x1D0, 0x1AC, 0x16C, 0x000, 0x165, 0x1AB, 0x1CB, 0x1A3, 0x1DF, 0x0ED, 0x06B,
-    0x01F, 0x008, 0x072, 0x0D2, 0x0CE, 0x1EA, 0x1C2, 0x17E, 0x000, 0x177, 0x1C1, 0x1E9,
-    0x07F, 0x0C9, 0x071, 0x003,
-};
-
-static const uint8_t huff_spec_b52_bits[] = {
-    3, 4, 4, 4, 5, 5, 6, 6, 5, 5, 5, 6, 6, 6, 7, 7,
-    0, 7, 7, 6, 6, 6, 5, 5, 5, 6, 6, 5, 5, 4, 4, 4,
-};
-
-static const uint16_t huff_spec_b52_codes[] = {
-    0x06, 0x0E, 0x06, 0x00, 0x0A, 0x04, 0x2C, 0x12, 0x14, 0x10, 0x06, 0x2E, 0x24, 0x10, 0x4E, 0x4C,
-    0x00, 0x4D, 0x4F, 0x11, 0x25, 0x2F, 0x07, 0x11, 0x15, 0x13, 0x2D, 0x05, 0x0B, 0x01, 0x07, 0x0F,
-};
-
-static const uint8_t huff_spec_b53_bits[] = {
-    2, 3, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8,
-    0, 8, 8, 7, 7, 7, 6, 6, 6, 6, 6, 6, 5, 5, 4, 3,
-};
-
-static const uint16_t huff_spec_b53_codes[] = {
-    0x02, 0x00, 0x06, 0x1C, 0x18, 0x3E, 0x16, 0x10, 0x3C, 0x36, 0x14, 0x6A, 0x26, 0x24, 0xD2, 0xD0,
-    0x00, 0xD1, 0xD3, 0x25, 0x27, 0x6B, 0x15, 0x37, 0x3D, 0x11, 0x17, 0x3F, 0x19, 0x1D, 0x07, 0x01,
-};
-
-static const uint8_t huff_spec_b54_bits[] = {
-    2, 3, 4, 4, 5, 6, 6, 7, 6, 6, 7, 8, 8, 8, 9, 9,
-    0, 9, 9, 8, 8, 8, 7, 6, 6, 7, 6, 6, 5, 4, 4, 3,
-};
-
-static const uint16_t huff_spec_b54_codes[] = {
-    0x003, 0x002, 0x008, 0x000, 0x014, 0x02E, 0x00E, 0x05A, 0x00A, 0x008, 0x01A, 0x0B2,
-    0x032, 0x030, 0x162, 0x160, 0x000, 0x161, 0x163, 0x031, 0x033, 0x0B3, 0x01B, 0x009,
-    0x00B, 0x05B, 0x00F, 0x02F, 0x015, 0x001, 0x009, 0x003,
-};
-
-static const uint8_t huff_spec_b62_bits[] = {
-    4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7,
-    6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
-    0, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6,
-    6, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 4,
-};
-
-static const uint16_t huff_spec_b62_codes[] = {
-    0x0D, 0x06, 0x1C, 0x14, 0x0A, 0x04, 0x3E, 0x2E, 0x22, 0x0E, 0x06, 0x00, 0x5A, 0x4E, 0x40, 0x20,
-    0x30, 0x32, 0x24, 0x12, 0x0C, 0x02, 0x78, 0x58, 0x42, 0x22, 0x0A, 0x08, 0xF6, 0xF4, 0x9A, 0x98,
-    0x00, 0x99, 0x9B, 0xF5, 0xF7, 0x09, 0x0B, 0x23, 0x43, 0x59, 0x79, 0x03, 0x0D, 0x13, 0x25, 0x33,
-    0x31, 0x21, 0x41, 0x4F, 0x5B, 0x01, 0x07, 0x0F, 0x23, 0x2F, 0x3F, 0x05, 0x0B, 0x15, 0x1D, 0x07,
-};
-
-static const uint8_t huff_spec_b63_bits[] = {
-    3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8,
-    6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
-    0, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6,
-    6, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4,
-};
-
-static const uint16_t huff_spec_b63_codes[] = {
-    0x006, 0x00E, 0x004, 0x014, 0x010, 0x006, 0x000, 0x026, 0x01C, 0x018, 0x004, 0x05C,
-    0x04A, 0x03C, 0x016, 0x0BC, 0x006, 0x008, 0x058, 0x03E, 0x036, 0x014, 0x0B6, 0x0B4,
-    0x090, 0x068, 0x17E, 0x17C, 0x126, 0x124, 0x0D6, 0x0D4, 0x000, 0x0D5, 0x0D7, 0x125,
-    0x127, 0x17D, 0x17F, 0x069, 0x091, 0x0B5, 0x0B7, 0x015, 0x037, 0x03F, 0x059, 0x009,
-    0x007, 0x0BD, 0x017, 0x03D, 0x04B, 0x05D, 0x005, 0x019, 0x01D, 0x027, 0x001, 0x007,
-    0x011, 0x015, 0x005, 0x00F,
-};
-
-static const uint8_t huff_spec_b64_bits[] = {
-    3,  3,  4,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,  7,  8,
-    7,  7,  7,  8,  8,  8,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10,
-    0, 10, 10, 10, 10,  9,  9,  9,  9,  9,  9,  8,  8,  8,  7,  7,
-    7,  8,  7,  7,  7,  7,  7,  6,  6,  6,  6,  5,  5,  5,  4,  3,
-};
-
-static const uint16_t huff_spec_b64_codes[] = {
-    0x007, 0x000, 0x008, 0x01A, 0x014, 0x00C, 0x032, 0x02E, 0x01E, 0x014, 0x062, 0x05A,
-    0x03A, 0x026, 0x020, 0x0B2, 0x038, 0x02C, 0x022, 0x0C0, 0x05E, 0x04A, 0x186, 0x184,
-    0x160, 0x0BA, 0x092, 0x090, 0x2C6, 0x2C4, 0x172, 0x170, 0x000, 0x171, 0x173, 0x2C5,
-    0x2C7, 0x091, 0x093, 0x0BB, 0x161, 0x185, 0x187, 0x04B, 0x05F, 0x0C1, 0x023, 0x02D,
-    0x039, 0x0B3, 0x021, 0x027, 0x03B, 0x05B, 0x063, 0x015, 0x01F, 0x02F, 0x033, 0x00D,
-    0x015, 0x01B, 0x009, 0x001,
-};
-
-static const uint8_t huff_spec_b72_bits[] = {
-    5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
-    0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8,
-    8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-    7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7,
-    7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5,
-};
-
-static const uint16_t huff_spec_b72_codes[] = {
-    0x01E, 0x016, 0x00C, 0x000, 0x038, 0x032, 0x028, 0x022, 0x01C, 0x012, 0x00E, 0x006,
-    0x076, 0x06C, 0x060, 0x04E, 0x03E, 0x02A, 0x022, 0x01A, 0x012, 0x00A, 0x0FC, 0x0DC,
-    0x0C6, 0x0A8, 0x094, 0x086, 0x058, 0x042, 0x040, 0x02A, 0x068, 0x07C, 0x06A, 0x056,
-    0x048, 0x040, 0x02E, 0x028, 0x016, 0x010, 0x008, 0x0EA, 0x0DE, 0x0AA, 0x09A, 0x096,
-    0x07A, 0x078, 0x05A, 0x032, 0x030, 0x028, 0x1FE, 0x1FC, 0x1D2, 0x1D0, 0x18A, 0x188,
-    0x132, 0x130, 0x10A, 0x108, 0x000, 0x109, 0x10B, 0x131, 0x133, 0x189, 0x18B, 0x1D1,
-    0x1D3, 0x1FD, 0x1FF, 0x029, 0x031, 0x033, 0x05B, 0x079, 0x07B, 0x097, 0x09B, 0x0AB,
-    0x0DF, 0x0EB, 0x009, 0x011, 0x017, 0x029, 0x02F, 0x041, 0x049, 0x057, 0x06B, 0x07D,
-    0x069, 0x02B, 0x041, 0x043, 0x059, 0x087, 0x095, 0x0A9, 0x0C7, 0x0DD, 0x0FD, 0x00B,
-    0x013, 0x01B, 0x023, 0x02B, 0x03F, 0x04F, 0x061, 0x06D, 0x077, 0x007, 0x00F, 0x013,
-    0x01D, 0x023, 0x029, 0x033, 0x039, 0x001, 0x00D, 0x017,
-};
-
-static const uint8_t huff_spec_b73_bits[] = {
-    3,  4,  5,  5,  5,  6,  6,  6,  6,  6,  6,  7,  7,  7,  7,  7,
-    7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,
-    8,  7,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9,
-    9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,  9,  9,  9,
-    9,  9,  9,  9,  9,  9,  9,  8,  8,  8,  8,  8,  8,  8,  8,  7,
-    8,  9,  9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,
-    7,  7,  7,  7,  7,  7,  6,  6,  6,  6,  6,  6,  5,  5,  5,  4,
-};
-
-static const uint16_t huff_spec_b73_codes[] = {
-    0x000, 0x006, 0x018, 0x010, 0x004, 0x03A, 0x034, 0x02A, 0x026, 0x014, 0x010, 0x07E,
-    0x072, 0x06E, 0x05C, 0x052, 0x04A, 0x02C, 0x024, 0x018, 0x0F4, 0x0E0, 0x0DA, 0x0B6,
-    0x0B2, 0x0A0, 0x05E, 0x04E, 0x038, 0x034, 0x1E6, 0x1B2, 0x0FA, 0x01E, 0x0F8, 0x0F0,
-    0x0BE, 0x0B4, 0x0A2, 0x090, 0x04C, 0x03A, 0x1EE, 0x1E4, 0x1C6, 0x1B0, 0x178, 0x162,
-    0x126, 0x124, 0x0B8, 0x06C, 0x3DA, 0x3D8, 0x38A, 0x388, 0x2F6, 0x2F4, 0x2C2, 0x2C0,
-    0x176, 0x174, 0x0DC, 0x0DE, 0x000, 0x0DF, 0x0DD, 0x175, 0x177, 0x2C1, 0x2C3, 0x2F5,
-    0x2F7, 0x389, 0x38B, 0x3D9, 0x3DB, 0x06D, 0x0B9, 0x125, 0x127, 0x163, 0x179, 0x1B1,
-    0x1C7, 0x1E5, 0x1EF, 0x03B, 0x04D, 0x091, 0x0A3, 0x0B5, 0x0BF, 0x0F1, 0x0F9, 0x01F,
-    0x0FB, 0x1B3, 0x1E7, 0x035, 0x039, 0x04F, 0x05F, 0x0A1, 0x0B3, 0x0B7, 0x0DB, 0x0E1,
-    0x0F5, 0x019, 0x025, 0x02D, 0x04B, 0x053, 0x05D, 0x06F, 0x073, 0x07F, 0x011, 0x015,
-    0x027, 0x02B, 0x035, 0x03B, 0x005, 0x011, 0x019, 0x007,
-};
-
-static const uint8_t huff_spec_b74_bits[] = {
-    3,  4,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  7,  7,  7,  7,
-    7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,  9,
-    8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10,  9,  9,  9,  9,  9,  9,  9,  8,  8,  8,  8,
-    8,  9,  9,  9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,
-    7,  7,  7,  7,  7,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  4,
-};
-
-static const uint16_t huff_spec_b74_codes[] = {
-    0x001, 0x008, 0x01E, 0x018, 0x00C, 0x002, 0x03A, 0x034, 0x02C, 0x01E, 0x016, 0x012,
-    0x072, 0x06E, 0x05E, 0x056, 0x050, 0x038, 0x022, 0x004, 0x0E2, 0x0DA, 0x0BA, 0x0A8,
-    0x076, 0x054, 0x050, 0x002, 0x000, 0x1C0, 0x1B0, 0x156, 0x0A4, 0x0A6, 0x074, 0x052,
-    0x004, 0x1C2, 0x1B2, 0x170, 0x154, 0x0AE, 0x0AC, 0x086, 0x2E6, 0x2E4, 0x10A, 0x108,
-    0x106, 0x104, 0x102, 0x100, 0x03E, 0x03A, 0x03C, 0x038, 0x036, 0x034, 0x032, 0x030,
-    0x01E, 0x01A, 0x01C, 0x018, 0x000, 0x019, 0x01D, 0x01B, 0x01F, 0x031, 0x033, 0x035,
-    0x037, 0x039, 0x03D, 0x03B, 0x03F, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x2E5,
-    0x2E7, 0x087, 0x0AD, 0x0AF, 0x155, 0x171, 0x1B3, 0x1C3, 0x005, 0x053, 0x075, 0x0A7,
-    0x0A5, 0x157, 0x1B1, 0x1C1, 0x001, 0x003, 0x051, 0x055, 0x077, 0x0A9, 0x0BB, 0x0DB,
-    0x0E3, 0x005, 0x023, 0x039, 0x051, 0x057, 0x05F, 0x06F, 0x073, 0x013, 0x017, 0x01F,
-    0x02D, 0x035, 0x03B, 0x003, 0x00D, 0x019, 0x01F, 0x009,
+    { huff_sfb_b2_tab,  3,  1,  0,  2 },
+    { huff_sfb_b3_tab,  7,  1,  0,  3 },
+    { huff_sfb_b4_tab, 15,  1,  0,  4 },
+    { huff_sfb_b5_tab, 32,  1,  0,  5 },
+};
+
+static const uint8_t huff_spec_a21_tab[8][2] = {
+    {   1,  3 }, {   3,  3 }, {  12,  3 }, {   4,  3 }, {   7,  3 },
+    {  13,  3 }, {  15,  3 }, {   5,  3 },
+};
+
+static const uint8_t huff_spec_a22_tab[80][2] = {
+    {  17,  6 }, {  51,  6 }, {  81,  7 }, { 243,  7 }, {  69,  7 },
+    { 207,  7 }, { 205,  7 }, {  71,  7 }, { 209,  7 }, { 115,  7 },
+    { 245,  7 }, {  95,  7 }, { 125,  7 }, { 215,  7 }, {   1,  4 },
+    {   3,  4 }, { 116,  7 }, { 220,  7 }, {  84,  7 }, { 252,  7 },
+    {  29,  7 }, {  55,  7 }, {  21,  7 }, {  63,  7 }, {  65,  6 },
+    { 195,  6 }, { 193,  6 }, {  67,  6 }, {  20,  6 }, {  60,  6 },
+    {  52,  6 }, {  28,  6 }, {  16,  5 }, {  48,  5 }, {   4,  5 },
+    {  12,  5 }, { 221,  8 }, { 119,  8 }, { 117,  8 }, { 223,  8 },
+    { 213,  8 }, { 127,  8 }, { 253,  8 }, {  87,  8 }, {  80,  6 },
+    { 240,  6 }, {  93,  8 }, { 247,  8 }, {  85,  8 }, { 255,  8 },
+    { 113,  7 }, { 211,  7 }, { 208,  6 }, { 112,  6 }, {  64,  5 },
+    { 192,  5 }, { 212,  7 }, { 124,  7 }, { 241,  7 }, {  83,  7 },
+    {  77,  7 }, { 199,  7 }, { 244,  7 }, {  92,  7 }, { 196,  6 },
+    {  76,  6 }, {  53,  7 }, {  31,  7 }, { 197,  7 }, {  79,  7 },
+    {  49,  6 }, {  19,  6 }, {  61,  7 }, {  23,  7 }, {  68,  7 },
+    { 204,  7 }, {   5,  6 }, {  15,  6 }, {  13,  6 }, {   7,  6 },
+};
+
+static const uint8_t huff_spec_a23_tab[81][2] = {
+    {  65,  6 }, { 195,  6 }, { 193,  6 }, {  67,  6 }, { 197,  7 },
+    {  79,  7 }, {  77,  7 }, { 199,  7 }, { 241,  7 }, {  83,  7 },
+    { 244,  7 }, {  92,  7 }, {   1,  4 }, {   3,  4 }, {  20,  6 },
+    {  60,  6 }, { 212,  7 }, { 124,  7 }, {  61,  7 }, {  23,  7 },
+    {  52,  6 }, {  28,  6 }, {  53,  7 }, {  31,  7 }, { 245,  8 },
+    {  95,  8 }, { 125,  8 }, { 215,  8 }, {  80,  6 }, { 240,  6 },
+    { 208,  6 }, { 112,  6 }, { 205,  8 }, {  71,  8 }, {  81,  8 },
+    { 243,  8 }, {  69,  8 }, { 207,  8 }, { 209,  8 }, { 115,  8 },
+    {   5,  6 }, {  15,  6 }, {  13,  6 }, {   7,  6 }, { 196,  6 },
+    {  76,  6 }, { 221,  9 }, { 119,  9 }, { 253,  9 }, {  87,  9 },
+    { 116,  8 }, { 220,  8 }, {  68,  7 }, { 204,  7 }, {  49,  6 },
+    {  19,  6 }, { 117,  9 }, { 223,  9 }, { 213,  9 }, { 127,  9 },
+    {  84,  8 }, { 252,  8 }, {  29,  8 }, {  55,  8 }, {  21,  8 },
+    {  63,  8 }, {  17,  7 }, {  51,  7 }, {  93,  9 }, { 247,  9 },
+    {  85,  9 }, { 255,  9 }, { 113,  8 }, { 211,  8 }, {   4,  5 },
+    {  12,  5 }, {   0,  3 }, {  16,  5 }, {  48,  5 }, {  64,  5 },
+    { 192,  5 },
+};
+
+static const uint8_t huff_spec_a24_tab[81][2] = {
+    {  20,  6 }, {  60,  6 }, {  52,  6 }, {  28,  6 }, {  80,  6 },
+    { 240,  6 }, { 208,  6 }, { 112,  6 }, {   1,  4 }, {   3,  4 },
+    {   5,  6 }, {  15,  6 }, {  13,  6 }, {   7,  6 }, {  84,  8 },
+    { 252,  8 }, {  29,  8 }, {  55,  8 }, {  68,  7 }, { 204,  7 },
+    { 196,  6 }, {  76,  6 }, {  17,  7 }, {  51,  7 }, {  21,  8 },
+    {  63,  8 }, { 113,  8 }, { 211,  8 }, {  49,  6 }, {  19,  6 },
+    { 245,  9 }, {  95,  9 }, { 125,  9 }, { 215,  9 }, { 244,  8 },
+    {  92,  8 }, { 212,  8 }, { 124,  8 }, { 241,  8 }, {  83,  8 },
+    {  77,  8 }, { 199,  8 }, { 197,  8 }, {  79,  8 }, {  53,  8 },
+    {  31,  8 }, { 253, 10 }, {  87, 10 }, { 213, 10 }, { 127, 10 },
+    {  81,  9 }, { 243,  9 }, {   0,  2 }, {  61,  8 }, {  23,  8 },
+    { 117, 10 }, { 223, 10 }, { 221, 10 }, { 119, 10 }, { 209,  9 },
+    { 115,  9 }, {  65,  7 }, { 195,  7 }, { 193,  7 }, {  67,  7 },
+    {  69,  9 }, { 207,  9 }, { 205,  9 }, {  71,  9 }, {  93, 10 },
+    { 247, 10 }, {  85, 10 }, { 255, 10 }, { 116,  9 }, { 220,  9 },
+    {  16,  5 }, {  48,  5 }, {  64,  5 }, { 192,  5 }, {   4,  5 },
+    {  12,  5 },
+};
+
+static const uint8_t huff_spec_a31_tab[40][2] = {
+    {  50,  5 }, {  22,  5 }, {  11,  5 }, {  61,  5 }, {   2,  4 },
+    {   6,  4 }, {  59,  5 }, {  13,  5 }, {  17,  5 }, {  55,  5 },
+    {  49,  5 }, {  23,  5 }, {  24,  5 }, {  40,  5 }, {  26,  6 },
+    {  46,  6 }, {  42,  6 }, {  30,  6 }, {  10,  5 }, {  62,  5 },
+    {  58,  5 }, {  14,  5 }, {  19,  6 }, {  53,  6 }, {  51,  6 },
+    {  21,  6 }, {   3,  5 }, {   5,  5 }, {  16,  5 }, {  48,  5 },
+    {  25,  6 }, {  47,  6 }, {  41,  6 }, {  31,  6 }, {  27,  7 },
+    {  45,  7 }, {  43,  7 }, {  29,  7 }, {  18,  6 }, {  54,  6 },
+};
+
+static const uint8_t huff_spec_a32_tab[49][2] = {
+    {  57,  5 }, {  15,  5 }, {  17,  5 }, {  55,  5 }, {  49,  5 },
+    {  23,  5 }, {  58,  5 }, {  14,  5 }, {  10,  5 }, {  62,  5 },
+    {  43,  7 }, {  29,  7 }, {  27,  7 }, {  45,  7 }, {  25,  6 },
+    {  47,  6 }, {  41,  6 }, {  31,  6 }, {  59,  6 }, {  13,  6 },
+    {  11,  6 }, {  61,  6 }, {  50,  6 }, {  22,  6 }, {  16,  5 },
+    {  48,  5 }, {   8,  5 }, {  56,  5 }, {  18,  6 }, {  54,  6 },
+    {  24,  6 }, {  40,  6 }, {   2,  5 }, {   6,  5 }, {   1,  5 },
+    {   7,  5 }, {   0,  4 }, {  42,  7 }, {  30,  7 }, {  26,  7 },
+    {  46,  7 }, {   3,  6 }, {   5,  6 }, {  19,  7 }, {  53,  7 },
+    {  51,  7 }, {  21,  7 }, {   9,  6 }, {  63,  6 },
+};
+
+static const uint8_t huff_spec_a33_tab[49][2] = {
+    {  51,  7 }, {  21,  7 }, {  19,  7 }, {  53,  7 }, {  24,  6 },
+    {  40,  6 }, {  50,  6 }, {  22,  6 }, {  18,  6 }, {  54,  6 },
+    {   3,  6 }, {   5,  6 }, {  43,  8 }, {  29,  8 }, {  27,  8 },
+    {  45,  8 }, {  25,  7 }, {  47,  7 }, {  16,  5 }, {  48,  5 },
+    {   8,  4 }, {  56,  4 }, {   1,  4 }, {   7,  4 }, {   2,  5 },
+    {   6,  5 }, {   9,  5 }, {  63,  5 }, {   0,  3 }, {  57,  5 },
+    {  15,  5 }, {  41,  7 }, {  31,  7 }, {  11,  7 }, {  61,  7 },
+    {  59,  7 }, {  13,  7 }, {  26,  8 }, {  46,  8 }, {  42,  8 },
+    {  30,  8 }, {  49,  6 }, {  23,  6 }, {  17,  6 }, {  55,  6 },
+    {  58,  6 }, {  14,  6 }, {  10,  6 }, {  62,  6 },
+};
+
+static const uint8_t huff_spec_a34_tab[49][2] = {
+    {   0,  2 }, {  16,  5 }, {  48,  5 }, {   2,  5 }, {   6,  5 },
+    {  26,  8 }, {  46,  8 }, {  51,  8 }, {  21,  8 }, {  24,  7 },
+    {  40,  7 }, {   3,  7 }, {   5,  7 }, {  19,  8 }, {  53,  8 },
+    {  25,  8 }, {  47,  8 }, {  50,  7 }, {  22,  7 }, {  18,  7 },
+    {  54,  7 }, {  17,  6 }, {  55,  6 }, {   8,  4 }, {  56,  4 },
+    {   1,  4 }, {   7,  4 }, {  49,  6 }, {  23,  6 }, {  10,  6 },
+    {  62,  6 }, {  58,  6 }, {  14,  6 }, {  41,  8 }, {  31,  8 },
+    {  11,  8 }, {  61,  8 }, {  59,  8 }, {  13,  8 }, {  43, 10 },
+    {  29, 10 }, {  27, 10 }, {  45, 10 }, {  42,  9 }, {  30,  9 },
+    {   9,  5 }, {  63,  5 }, {  57,  5 }, {  15,  5 },
+};
+
+static const uint8_t huff_spec_a41_tab[176][2] = {
+    {  83,  7 }, { 189,  7 }, {  68,  7 }, { 204,  7 }, {  23,  7 },
+    { 249,  7 }, { 166,  8 }, { 106,  8 }, { 183,  8 }, {  89,  8 },
+    {  52,  7 }, { 220,  7 }, { 161,  7 }, { 111,  7 }, { 179,  7 },
+    {  93,  7 }, { 196,  7 }, {  76,  7 }, {  38,  7 }, { 234,  7 },
+    { 116,  8 }, { 156,  8 }, { 148,  8 }, { 124,  8 }, {  97,  7 },
+    { 175,  7 }, { 247,  7 }, {  25,  7 }, {  53,  7 }, { 219,  7 },
+    { 212,  7 }, {  60,  7 }, {   5,  6 }, {  11,  6 }, { 101,  8 },
+    { 171,  8 }, { 165,  8 }, { 107,  8 }, { 230,  7 }, {  42,  7 },
+    { 244,  6 }, {  28,  6 }, {   7,  7 }, {   9,  7 }, { 213,  7 },
+    {  59,  7 }, {  86,  8 }, { 186,  8 }, { 115,  8 }, { 157,  8 },
+    {  71,  8 }, { 201,  8 }, { 182,  8 }, {  90,  8 }, {   4,  6 },
+    {  12,  6 }, { 147,  8 }, { 125,  8 }, { 199,  8 }, {  73,  8 },
+    {  82,  7 }, { 190,  7 }, {  66,  7 }, { 206,  7 }, { 178,  7 },
+    {  94,  7 }, { 194,  7 }, {  78,  7 }, {  22,  7 }, { 250,  7 },
+    {  96,  7 }, { 160,  7 }, { 100,  8 }, { 172,  8 }, { 164,  8 },
+    { 108,  8 }, { 246,  7 }, {  26,  7 }, {  85,  8 }, { 187,  8 },
+    { 114,  8 }, { 158,  8 }, {  37,  7 }, { 235,  7 }, {  36,  7 },
+    { 236,  7 }, { 146,  8 }, { 126,  8 }, {  70,  8 }, { 202,  8 },
+    { 215,  8 }, {  57,  8 }, {  55,  8 }, { 217,  8 }, { 181,  8 },
+    {  91,  8 }, { 198,  8 }, {  74,  8 }, { 228,  7 }, {  44,  7 },
+    { 229,  7 }, {  43,  7 }, {  81,  7 }, { 191,  7 }, { 177,  7 },
+    {  95,  7 }, { 119,  9 }, { 153,  9 }, { 151,  9 }, { 121,  9 },
+    {  99,  8 }, { 173,  8 }, {  65,  7 }, { 207,  7 }, {   6,  7 },
+    {  10,  7 }, { 193,  7 }, {  79,  7 }, { 113,  8 }, { 159,  8 },
+    { 163,  8 }, { 109,  8 }, { 145,  8 }, { 127,  8 }, { 118,  9 },
+    { 154,  9 }, { 103,  9 }, { 169,  9 }, {  84,  8 }, { 188,  8 },
+    {  39,  8 }, { 233,  8 }, { 167,  9 }, { 105,  9 }, { 150,  9 },
+    { 122,  9 }, {  69,  8 }, { 203,  8 }, { 180,  8 }, {  92,  8 },
+    {  54,  8 }, { 218,  8 }, { 197,  8 }, {  75,  8 }, {  98,  8 },
+    { 174,  8 }, {  21,  7 }, { 251,  7 }, { 231,  8 }, {  41,  8 },
+    { 162,  8 }, { 110,  8 }, { 214,  8 }, {  58,  8 }, { 117,  9 },
+    { 155,  9 }, { 149,  9 }, { 123,  9 }, {  80,  7 }, { 176,  7 },
+    {  20,  7 }, { 252,  7 }, { 102,  9 }, { 170,  9 }, {  87,  9 },
+    { 185,  9 }, { 112,  8 }, { 144,  8 }, { 245,  7 }, {  27,  7 },
+    {  64,  7 }, { 192,  7 }, {  67,  8 }, { 205,  8 }, { 195,  8 },
+    {  77,  8 },
+};
+
+static const uint8_t huff_spec_a42_tab[225][2] = {
+    {   3,  7 }, {  13,  7 }, { 113,  8 }, { 159,  8 }, { 163,  8 },
+    { 109,  8 }, {  16,  6 }, { 240,  6 }, {  81,  7 }, { 191,  7 },
+    { 177,  7 }, {  95,  7 }, {   0,  5 }, { 112,  8 }, { 144,  8 },
+    {  99,  8 }, { 173,  8 }, { 149,  9 }, { 123,  9 }, { 166,  9 },
+    { 106,  9 }, {  54,  8 }, { 218,  8 }, {  66,  7 }, { 206,  7 },
+    {  23,  8 }, { 249,  8 }, { 214,  8 }, {  58,  8 }, { 194,  7 },
+    {  78,  7 }, { 117,  9 }, { 155,  9 }, {  87,  9 }, { 185,  9 },
+    { 247,  8 }, {  25,  8 }, {  21,  7 }, { 251,  7 }, { 211,  8 },
+    {  61,  8 }, {  51,  8 }, { 221,  8 }, {  36,  7 }, { 236,  7 },
+    { 228,  7 }, {  44,  7 }, { 183,  9 }, {  89,  9 }, { 102,  9 },
+    { 170,  9 }, { 180,  8 }, {  92,  8 }, {  80,  7 }, { 176,  7 },
+    { 245,  7 }, {  27,  7 }, {  69,  8 }, { 203,  8 }, {  84,  8 },
+    { 188,  8 }, { 225,  7 }, {  47,  7 }, {  33,  7 }, { 239,  7 },
+    {   1,  6 }, {  15,  6 }, { 197,  8 }, {  75,  8 }, {  98,  8 },
+    { 174,  8 }, {  18,  7 }, { 254,  7 }, { 162,  8 }, { 110,  8 },
+    { 116,  9 }, { 156,  9 }, { 148,  9 }, { 124,  9 }, { 242,  7 },
+    {  30,  7 }, {   5,  7 }, {  11,  7 }, {   7,  8 }, {   9,  8 },
+    { 230,  8 }, {  42,  8 }, {  65,  7 }, { 207,  7 }, {  71,  9 },
+    { 201,  9 }, { 199,  9 }, {  73,  9 }, {  38,  8 }, { 234,  8 },
+    {  32,  7 }, { 224,  7 }, { 193,  7 }, {  79,  7 }, { 165,  9 },
+    { 107,  9 }, { 182,  9 }, {  90,  9 }, {  35,  8 }, { 237,  8 },
+    { 244,  7 }, {  28,  7 }, {  20,  7 }, { 252,  7 }, {  50,  8 },
+    { 222,  8 }, {  97,  8 }, { 175,  8 }, { 101,  9 }, { 171,  9 },
+    {  86,  9 }, { 186,  9 }, {  83,  8 }, { 189,  8 }, { 161,  8 },
+    { 111,  8 }, { 179,  8 }, {  93,  8 }, {  64,  7 }, { 192,  7 },
+    { 227,  8 }, {  45,  8 }, { 210,  8 }, {  62,  8 }, {   2,  7 },
+    {  14,  7 }, { 213,  8 }, {  59,  8 }, {  53,  8 }, { 219,  8 },
+    { 196,  8 }, {  76,  8 }, { 115,  9 }, { 157,  9 }, { 151, 10 },
+    { 121, 10 }, { 119, 10 }, { 153, 10 }, {  68,  8 }, { 204,  8 },
+    {  22,  8 }, { 250,  8 }, {  96,  8 }, { 160,  8 }, { 147,  9 },
+    { 125,  9 }, {  55,  9 }, { 217,  9 }, { 246,  8 }, {  26,  8 },
+    { 215,  9 }, {  57,  9 }, { 164,  9 }, { 108,  9 }, {  17,  7 },
+    { 255,  7 }, {   4,  7 }, {  12,  7 }, { 241,  7 }, {  31,  7 },
+    { 114,  9 }, { 158,  9 }, { 100,  9 }, { 172,  9 }, {   6,  8 },
+    {  10,  8 }, { 209,  8 }, {  63,  8 }, {  19,  8 }, { 253,  8 },
+    {  49,  8 }, { 223,  8 }, { 195,  8 }, {  77,  8 }, { 212,  8 },
+    {  60,  8 }, { 198,  9 }, {  74,  9 }, {  70,  9 }, { 202,  9 },
+    {  82,  8 }, { 190,  8 }, { 243,  8 }, {  29,  8 }, { 146,  9 },
+    { 126,  9 }, { 118, 10 }, { 154, 10 }, { 167, 10 }, { 105, 10 },
+    { 178,  8 }, {  94,  8 }, {  67,  8 }, { 205,  8 }, {  85,  9 },
+    { 187,  9 }, { 181,  9 }, {  91,  9 }, {  52,  8 }, { 220,  8 },
+    { 150, 10 }, { 122, 10 }, { 103, 10 }, { 169, 10 }, { 231,  9 },
+    {  41,  9 }, { 229,  8 }, {  43,  8 }, {  48,  8 }, { 208,  8 },
+    {  37,  8 }, { 235,  8 }, {  34,  8 }, { 238,  8 }, { 226,  8 },
+    {  46,  8 }, {  39,  9 }, { 233,  9 }, { 145,  9 }, { 127,  9 },
+};
+
+static const uint8_t huff_spec_a43_tab[225][2] = {
+    { 246,  8 }, {  26,  8 }, {  22,  8 }, { 250,  8 }, { 210,  7 },
+    {  62,  7 }, {  50,  7 }, { 222,  7 }, {  53,  8 }, { 219,  8 },
+    { 231,  9 }, {  41,  9 }, {  39,  9 }, { 233,  9 }, {  16,  5 },
+    { 240,  5 }, {   0,  4 }, { 227,  7 }, {  45,  7 }, {  35,  7 },
+    { 237,  7 }, { 196,  8 }, {  76,  8 }, { 151, 10 }, { 121, 10 },
+    { 119, 10 }, { 153, 10 }, { 150, 10 }, { 122, 10 }, { 167, 10 },
+    { 105, 10 }, { 118, 10 }, { 154, 10 }, { 103, 10 }, { 169, 10 },
+    { 117, 10 }, { 155, 10 }, { 149, 10 }, { 123, 10 }, {  96,  8 },
+    { 160,  8 }, { 166, 10 }, { 106, 10 }, { 183, 10 }, {  89, 10 },
+    {  87, 10 }, { 185, 10 }, { 102, 10 }, { 170, 10 }, {  71, 10 },
+    { 201, 10 }, { 116, 10 }, { 156, 10 }, { 148, 10 }, { 124, 10 },
+    { 199, 10 }, {  73, 10 }, { 182, 10 }, {  90, 10 }, { 165, 10 },
+    { 107, 10 }, { 181,  9 }, {  91,  9 }, {  68,  8 }, { 204,  8 },
+    {  85,  9 }, { 187,  9 }, { 113,  9 }, { 159,  9 }, {   6,  8 },
+    {  10,  8 }, {  65,  7 }, { 207,  7 }, {  32,  6 }, { 224,  6 },
+    {   2,  6 }, {  14,  6 }, { 193,  7 }, {  79,  7 }, { 145,  9 },
+    { 127,  9 }, { 163,  9 }, { 109,  9 }, {  99,  9 }, { 173,  9 },
+    { 247,  9 }, {  25,  9 }, {  20,  7 }, { 252,  7 }, { 244,  7 },
+    {  28,  7 }, { 178,  8 }, {  94,  8 }, {  82,  8 }, { 190,  8 },
+    {  23,  9 }, { 249,  9 }, {  54,  9 }, { 218,  9 }, { 214,  9 },
+    {  58,  9 }, { 112,  9 }, { 144,  9 }, {  49,  7 }, { 223,  7 },
+    { 209,  7 }, {  63,  7 }, {  37,  8 }, { 235,  8 }, { 229,  8 },
+    {  43,  8 }, {  19,  7 }, { 253,  7 }, { 243,  7 }, {  29,  7 },
+    {  64,  7 }, { 192,  7 }, { 195,  8 }, {  77,  8 }, {  67,  8 },
+    { 205,  8 }, { 212,  8 }, {  60,  8 }, {  52,  8 }, { 220,  8 },
+    {   7,  9 }, {   9,  9 }, { 180,  9 }, {  92,  9 }, { 197,  9 },
+    {  75,  9 }, {  84,  9 }, { 188,  9 }, {   4,  7 }, {  12,  7 },
+    {  48,  7 }, { 208,  7 }, {  34,  7 }, { 238,  7 }, { 226,  7 },
+    {  46,  7 }, { 101, 10 }, { 171, 10 }, {  86, 10 }, { 186, 10 },
+    {  69,  9 }, { 203,  9 }, { 211,  8 }, {  61,  8 }, {  17,  6 },
+    { 255,  6 }, { 241,  6 }, {  31,  6 }, {   3,  7 }, {  13,  7 },
+    {  51,  8 }, { 221,  8 }, {  98,  9 }, { 174,  9 }, { 162,  9 },
+    { 110,  9 }, { 177,  8 }, {  95,  8 }, {  81,  8 }, { 191,  8 },
+    {  38,  9 }, { 234,  9 }, { 230,  9 }, {  42,  9 }, {  21,  8 },
+    { 251,  8 }, { 245,  8 }, {  27,  8 }, { 115, 10 }, { 157, 10 },
+    {  55, 10 }, { 217, 10 }, { 147, 10 }, { 125, 10 }, { 215, 10 },
+    {  57, 10 }, {  80,  8 }, { 176,  8 }, {  66,  8 }, { 206,  8 },
+    { 194,  8 }, {  78,  8 }, {  97,  9 }, { 175,  9 }, { 161,  9 },
+    { 111,  9 }, {   5,  8 }, {  11,  8 }, { 228,  8 }, {  44,  8 },
+    {  36,  8 }, { 236,  8 }, { 114, 10 }, { 158, 10 }, { 100, 10 },
+    { 172, 10 }, {  83,  9 }, { 189,  9 }, {  33,  7 }, { 239,  7 },
+    { 164, 10 }, { 108, 10 }, { 198, 10 }, {  74, 10 }, { 179,  9 },
+    {  93,  9 }, {  70, 10 }, { 202, 10 }, { 146, 10 }, { 126, 10 },
+    { 213,  9 }, {  59,  9 }, {  18,  7 }, { 254,  7 }, { 225,  7 },
+    {  47,  7 }, { 242,  7 }, {  30,  7 }, {   1,  6 }, {  15,  6 },
+};
+
+static const uint8_t huff_spec_a44_tab[225][2] = {
+    { 193,  7 }, {  79,  7 }, {  20,  7 }, { 252,  7 }, { 151, 10 },
+    { 121, 10 }, { 119, 10 }, { 153, 10 }, { 118, 10 }, { 154, 10 },
+    { 150, 10 }, { 122, 10 }, { 167, 10 }, { 105, 10 }, { 103, 10 },
+    { 169, 10 }, { 117, 10 }, { 155, 10 }, { 149, 10 }, { 123, 10 },
+    { 244,  7 }, {  28,  7 }, {  87, 10 }, { 185, 10 }, { 183, 10 },
+    {  89, 10 }, { 166, 10 }, { 106, 10 }, { 102, 10 }, { 170, 10 },
+    {  71, 10 }, { 201, 10 }, { 148, 10 }, { 124, 10 }, { 199, 10 },
+    {  73, 10 }, { 116, 10 }, { 156, 10 }, { 165, 10 }, { 107, 10 },
+    { 182, 10 }, {  90, 10 }, {  86, 10 }, { 186, 10 }, { 115, 10 },
+    { 157, 10 }, { 101, 10 }, { 171, 10 }, { 147, 10 }, { 125, 10 },
+    {  55, 10 }, { 217, 10 }, { 215, 10 }, {  57, 10 }, { 114, 10 },
+    { 158, 10 }, { 146, 10 }, { 126, 10 }, { 164, 10 }, { 108, 10 },
+    {  39, 10 }, { 233, 10 }, { 100, 10 }, { 172, 10 }, { 231, 10 },
+    {  41, 10 }, { 198, 10 }, {  74, 10 }, {  70, 10 }, { 202, 10 },
+    { 145, 10 }, { 127, 10 }, { 181, 10 }, {  91, 10 }, {  85, 10 },
+    { 187, 10 }, { 113, 10 }, { 159, 10 }, { 247, 10 }, {  25, 10 },
+    { 112, 10 }, { 144, 10 }, {  23, 10 }, { 249, 10 }, {   7, 10 },
+    {   9, 10 }, {  99, 10 }, { 173, 10 }, {  54, 10 }, { 218, 10 },
+    { 163, 10 }, { 109, 10 }, { 214, 10 }, {  58, 10 }, { 197, 10 },
+    {  75, 10 }, {  84, 10 }, { 188, 10 }, {  98, 10 }, { 174, 10 },
+    {  69, 10 }, { 203, 10 }, {  67,  8 }, { 205,  8 }, { 180, 10 },
+    {  92, 10 }, { 162, 10 }, { 110, 10 }, {  97,  9 }, { 175,  9 },
+    {  81,  8 }, { 191,  8 }, { 177,  8 }, {  95,  8 }, { 210,  7 },
+    {  62,  7 }, { 212,  8 }, {  60,  8 }, { 195,  8 }, {  77,  8 },
+    {  35,  7 }, { 237,  7 }, {  64,  7 }, { 192,  7 }, {  50,  7 },
+    { 222,  7 }, { 227,  7 }, {  45,  7 }, {  52,  8 }, { 220,  8 },
+    {  21,  8 }, { 251,  8 }, {   4,  7 }, {  12,  7 }, { 245,  8 },
+    {  27,  8 }, { 161,  9 }, { 111,  9 }, {  22,  9 }, { 250,  9 },
+    { 225,  6 }, {  47,  6 }, {  33,  6 }, { 239,  6 }, {  18,  6 },
+    { 254,  6 }, { 242,  6 }, {  30,  6 }, {  80,  8 }, { 176,  8 },
+    { 246,  9 }, {  26,  9 }, {  96,  9 }, { 160,  9 }, {   5,  8 },
+    {  11,  8 }, {   6,  9 }, {  10,  9 }, { 179,  9 }, {  93,  9 },
+    {  83,  9 }, { 189,  9 }, {  53,  9 }, { 219,  9 }, { 213,  9 },
+    {  59,  9 }, { 196,  9 }, {  76,  9 }, {  49,  7 }, { 223,  7 },
+    {  16,  5 }, { 240,  5 }, {   1,  5 }, {  15,  5 }, {   0,  4 },
+    { 209,  7 }, {  63,  7 }, {  19,  7 }, { 253,  7 }, {  32,  6 },
+    { 224,  6 }, {   2,  6 }, {  14,  6 }, { 243,  7 }, {  29,  7 },
+    {  51,  8 }, { 221,  8 }, { 211,  8 }, {  61,  8 }, {  66,  8 },
+    { 206,  8 }, { 194,  8 }, {  78,  8 }, { 228,  8 }, {  44,  8 },
+    {  36,  8 }, { 236,  8 }, {  48,  7 }, { 208,  7 }, {   3,  7 },
+    {  13,  7 }, {  68,  9 }, { 204,  9 }, {  82,  9 }, { 190,  9 },
+    { 178,  9 }, {  94,  9 }, {  37,  9 }, { 235,  9 }, {  34,  7 },
+    { 238,  7 }, { 226,  7 }, {  46,  7 }, { 229,  9 }, {  43,  9 },
+    {  38, 10 }, { 234, 10 }, { 230, 10 }, {  42, 10 }, {  65,  8 },
+    { 207,  8 }, {  17,  6 }, { 255,  6 }, { 241,  6 }, {  31,  6 },
+};
+
+static const uint8_t huff_spec_a51_tab[31][2] = {
+    {   8,  4 }, {  24,  4 }, {  15,  5 }, {  17,  5 }, {   4,  5 },
+    {  28,  5 }, {   9,  4 }, {  23,  4 }, {  14,  5 }, {  18,  5 },
+    {   3,  5 }, {  29,  5 }, {  13,  5 }, {  19,  5 }, {   2,  5 },
+    {  30,  5 }, {  12,  5 }, {  20,  5 }, {   1,  5 }, {  31,  5 },
+    {   7,  6 }, {  25,  6 }, {   0,  5 }, {  11,  5 }, {  21,  5 },
+    {   6,  6 }, {  26,  6 }, {   5,  6 }, {  27,  6 }, {  10,  5 },
+    {  22,  5 },
+};
+
+static const uint8_t huff_spec_a52_tab[31][2] = {
+    {   2,  4 }, {  30,  4 }, {  11,  5 }, {  21,  5 }, {   7,  5 },
+    {  25,  5 }, {   1,  4 }, {  31,  4 }, {   6,  5 }, {  26,  5 },
+    {  10,  5 }, {  22,  5 }, {  15,  6 }, {  17,  6 }, {  14,  6 },
+    {  18,  6 }, {   0,  4 }, {   5,  5 }, {  27,  5 }, {   9,  5 },
+    {  23,  5 }, {   8,  5 }, {  24,  5 }, {   4,  5 }, {  28,  5 },
+    {  13,  6 }, {  19,  6 }, {  12,  6 }, {  20,  6 }, {   3,  5 },
+    {  29,  5 },
+};
+
+static const uint8_t huff_spec_a53_tab[31][2] = {
+    {   0,  3 }, {   9,  5 }, {  23,  5 }, {   7,  5 }, {  25,  5 },
+    {   3,  4 }, {  29,  4 }, {   8,  5 }, {  24,  5 }, {  15,  7 },
+    {  17,  7 }, {  14,  7 }, {  18,  7 }, {  11,  6 }, {  21,  6 },
+    {   2,  4 }, {  30,  4 }, {   6,  5 }, {  26,  5 }, {   5,  5 },
+    {  27,  5 }, {   1,  4 }, {  31,  4 }, {  10,  6 }, {  22,  6 },
+    {  13,  7 }, {  19,  7 }, {  12,  7 }, {  20,  7 }, {   4,  5 },
+    {  28,  5 },
+};
+
+static const uint8_t huff_spec_a54_tab[31][2] = {
+    {   8,  5 }, {  24,  5 }, {   7,  5 }, {  25,  5 }, {   4,  4 },
+    {  28,  4 }, {   0,  3 }, {  10,  6 }, {  22,  6 }, {  13,  7 },
+    {  19,  7 }, {  12,  7 }, {  20,  7 }, {   6,  5 }, {  26,  5 },
+    {   3,  4 }, {  29,  4 }, {   2,  4 }, {  30,  4 }, {   9,  6 },
+    {  23,  6 }, {  15,  8 }, {  17,  8 }, {  14,  8 }, {  18,  8 },
+    {  11,  7 }, {  21,  7 }, {   5,  5 }, {  27,  5 }, {   1,  4 },
+    {  31,  4 },
+};
+
+static const uint8_t huff_spec_a61_tab[63][2] = {
+    {  19,  5 }, {  45,  5 }, {  31,  6 }, {  33,  6 }, {  30,  6 },
+    {  34,  6 }, {  16,  5 }, {  48,  5 }, {   8,  6 }, {  56,  6 },
+    {   7,  6 }, {  57,  6 }, {  18,  5 }, {  46,  5 }, {  29,  6 },
+    {  35,  6 }, {  28,  6 }, {  36,  6 }, {   6,  6 }, {  58,  6 },
+    {  27,  6 }, {  37,  6 }, {  17,  5 }, {  47,  5 }, {   5,  6 },
+    {  59,  6 }, {  26,  6 }, {  38,  6 }, {   4,  6 }, {  60,  6 },
+    {  25,  6 }, {  39,  6 }, {   3,  6 }, {  61,  6 }, {   2,  6 },
+    {  62,  6 }, {  24,  6 }, {  40,  6 }, {  15,  7 }, {  49,  7 },
+    {  14,  7 }, {  50,  7 }, {   1,  6 }, {  63,  6 }, {  23,  6 },
+    {  41,  6 }, {  13,  7 }, {  51,  7 }, {   0,  6 }, {  22,  6 },
+    {  42,  6 }, {  12,  7 }, {  52,  7 }, {  11,  7 }, {  53,  7 },
+    {  21,  6 }, {  43,  6 }, {  20,  6 }, {  44,  6 }, {  10,  7 },
+    {  54,  7 }, {   9,  7 }, {  55,  7 },
+};
+
+static const uint8_t huff_spec_a62_tab[63][2] = {
+    {  23,  6 }, {  41,  6 }, {  15,  6 }, {  49,  6 }, {   4,  5 },
+    {  60,  5 }, {   3,  5 }, {  61,  5 }, {  22,  6 }, {  42,  6 },
+    {  14,  6 }, {  50,  6 }, {   2,  5 }, {  62,  5 }, {  31,  7 },
+    {  33,  7 }, {  30,  7 }, {  34,  7 }, {  21,  6 }, {  43,  6 },
+    {  13,  6 }, {  51,  6 }, {  12,  6 }, {  52,  6 }, {   1,  5 },
+    {  63,  5 }, {  20,  6 }, {  44,  6 }, {  29,  7 }, {  35,  7 },
+    {  28,  7 }, {  36,  7 }, {  11,  6 }, {  53,  6 }, {  19,  6 },
+    {  45,  6 }, {   0,  5 }, {  10,  6 }, {  54,  6 }, {  18,  6 },
+    {  46,  6 }, {  27,  7 }, {  37,  7 }, {  26,  7 }, {  38,  7 },
+    {   9,  6 }, {  55,  6 }, {  16,  6 }, {  48,  6 }, {   8,  6 },
+    {  56,  6 }, {  17,  6 }, {  47,  6 }, {   7,  6 }, {  57,  6 },
+    {  25,  7 }, {  39,  7 }, {  24,  7 }, {  40,  7 }, {   6,  6 },
+    {  58,  6 }, {   5,  6 }, {  59,  6 },
+};
+
+static const uint8_t huff_spec_a63_tab[63][2] = {
+    {   0,  4 }, {   7,  5 }, {  57,  5 }, {  15,  6 }, {  49,  6 },
+    {  25,  7 }, {  39,  7 }, {  24,  7 }, {  40,  7 }, {  18,  6 },
+    {  46,  6 }, {  14,  6 }, {  50,  6 }, {   6,  5 }, {  58,  5 },
+    {   5,  5 }, {  59,  5 }, {  31,  8 }, {  33,  8 }, {  30,  8 },
+    {  34,  8 }, {  23,  7 }, {  41,  7 }, {  17,  6 }, {  47,  6 },
+    {  13,  6 }, {  51,  6 }, {  16,  6 }, {  48,  6 }, {   4,  5 },
+    {  60,  5 }, {  12,  6 }, {  52,  6 }, {  22,  7 }, {  42,  7 },
+    {  29,  8 }, {  35,  8 }, {  28,  8 }, {  36,  8 }, {   3,  5 },
+    {  61,  5 }, {  11,  6 }, {  53,  6 }, {  10,  6 }, {  54,  6 },
+    {   2,  5 }, {  62,  5 }, {  21,  7 }, {  43,  7 }, {  20,  7 },
+    {  44,  7 }, {   9,  6 }, {  55,  6 }, {   1,  5 }, {  63,  5 },
+    {  27,  8 }, {  37,  8 }, {  26,  8 }, {  38,  8 }, {  19,  7 },
+    {  45,  7 }, {   8,  6 }, {  56,  6 },
+};
+
+static const uint8_t huff_spec_a64_tab[63][2] = {
+    {  16,  6 }, {  48,  6 }, {  27,  8 }, {  37,  8 }, {  26,  8 },
+    {  38,  8 }, {  21,  7 }, {  43,  7 }, {   8,  5 }, {  56,  5 },
+    {   1,  4 }, {  63,  4 }, {  14,  6 }, {  50,  6 }, {  20,  7 },
+    {  44,  7 }, {  31,  9 }, {  33,  9 }, {  30,  9 }, {  34,  9 },
+    {  25,  8 }, {  39,  8 }, {   7,  5 }, {  57,  5 }, {   0,  4 },
+    {   6,  5 }, {  58,  5 }, {  13,  6 }, {  51,  6 }, {  12,  6 },
+    {  52,  6 }, {   5,  5 }, {  59,  5 }, {  19,  7 }, {  45,  7 },
+    {  24,  8 }, {  40,  8 }, {  29,  9 }, {  35,  9 }, {  28,  9 },
+    {  36,  9 }, {  11,  6 }, {  53,  6 }, {   4,  5 }, {  60,  5 },
+    {  18,  7 }, {  46,  7 }, {  23,  8 }, {  41,  8 }, {  22,  8 },
+    {  42,  8 }, {  10,  6 }, {  54,  6 }, {   3,  5 }, {  61,  5 },
+    {   2,  5 }, {  62,  5 }, {  17,  7 }, {  47,  7 }, {  15,  7 },
+    {  49,  7 }, {   9,  6 }, {  55,  6 },
+};
+
+static const uint8_t huff_spec_a71_tab[127][2] = {
+    {  18,  7 }, { 110,  7 }, {  63,  7 }, {  65,  7 }, {  38,  6 },
+    {  90,  6 }, {  17,  7 }, { 111,  7 }, {  62,  7 }, {  66,  7 },
+    {  61,  7 }, {  67,  7 }, {  16,  7 }, { 112,  7 }, {  37,  6 },
+    {  91,  6 }, {  60,  7 }, {  68,  7 }, {  15,  7 }, { 113,  7 },
+    {  32,  6 }, {  96,  6 }, {  59,  7 }, {  69,  7 }, {  14,  7 },
+    { 114,  7 }, {  36,  6 }, {  92,  6 }, {  58,  7 }, {  70,  7 },
+    {  13,  7 }, { 115,  7 }, {  57,  7 }, {  71,  7 }, {  12,  7 },
+    { 116,  7 }, {  35,  6 }, {  93,  6 }, {  56,  7 }, {  72,  7 },
+    {  55,  7 }, {  73,  7 }, {  11,  7 }, { 117,  7 }, {  10,  7 },
+    { 118,  7 }, {  34,  6 }, {  94,  6 }, {  54,  7 }, {  74,  7 },
+    {   9,  7 }, { 119,  7 }, {  33,  6 }, {  95,  6 }, {  53,  7 },
+    {  75,  7 }, {  52,  7 }, {  76,  7 }, {   8,  7 }, { 120,  7 },
+    {  51,  7 }, {  77,  7 }, {  50,  7 }, {  78,  7 }, {   7,  7 },
+    { 121,  7 }, {   5,  7 }, { 123,  7 }, {   6,  7 }, { 122,  7 },
+    {  49,  7 }, {  79,  7 }, {   4,  7 }, { 124,  7 }, {  31,  8 },
+    {  97,  8 }, {  30,  8 }, {  98,  8 }, {  48,  7 }, {  80,  7 },
+    {   3,  7 }, { 125,  7 }, {  29,  8 }, {  99,  8 }, {  28,  8 },
+    { 100,  8 }, {  47,  7 }, {  81,  7 }, {   2,  7 }, { 126,  7 },
+    {  46,  7 }, {  82,  7 }, {   1,  7 }, { 127,  7 }, {  27,  8 },
+    { 101,  8 }, {  26,  8 }, { 102,  8 }, {  45,  7 }, {  83,  7 },
+    {   0,  7 }, {  25,  8 }, { 103,  8 }, {  44,  7 }, {  84,  7 },
+    {  24,  8 }, { 104,  8 }, {  23,  8 }, { 105,  8 }, {  43,  7 },
+    {  85,  7 }, {  42,  7 }, {  86,  7 }, {  22,  8 }, { 106,  8 },
+    {  21,  8 }, { 107,  8 }, {  41,  7 }, {  87,  7 }, {  20,  8 },
+    { 108,  8 }, {  19,  8 }, { 109,  8 }, {  40,  7 }, {  88,  7 },
+    {  39,  7 }, {  89,  7 },
+};
+
+static const uint8_t huff_spec_a72_tab[127][2] = {
+    {  47,  7 }, {  81,  7 }, {  46,  7 }, {  82,  7 }, {   8,  6 },
+    { 120,  6 }, {  31,  7 }, {  97,  7 }, {  45,  7 }, {  83,  7 },
+    {   7,  6 }, { 121,  6 }, {  30,  7 }, {  98,  7 }, {  29,  7 },
+    {  99,  7 }, {   6,  6 }, { 122,  6 }, {  63,  8 }, {  65,  8 },
+    {  62,  8 }, {  66,  8 }, {  44,  7 }, {  84,  7 }, {   5,  6 },
+    { 123,  6 }, {  28,  7 }, { 100,  7 }, {  43,  7 }, {  85,  7 },
+    {   4,  6 }, { 124,  6 }, {  27,  7 }, { 101,  7 }, {  26,  7 },
+    { 102,  7 }, {  42,  7 }, {  86,  7 }, {  61,  8 }, {  67,  8 },
+    {  60,  8 }, {  68,  8 }, {   3,  6 }, { 125,  6 }, {  25,  7 },
+    { 103,  7 }, {  41,  7 }, {  87,  7 }, {   2,  6 }, { 126,  6 },
+    {  24,  7 }, { 104,  7 }, {  59,  8 }, {  69,  8 }, {  58,  8 },
+    {  70,  8 }, {  40,  7 }, {  88,  7 }, {  23,  7 }, { 105,  7 },
+    {  39,  7 }, {  89,  7 }, {  22,  7 }, { 106,  7 }, {   1,  6 },
+    { 127,  6 }, {  57,  8 }, {  71,  8 }, {  56,  8 }, {  72,  8 },
+    {  21,  7 }, { 107,  7 }, {  38,  7 }, {  90,  7 }, {  20,  7 },
+    { 108,  7 }, {   0,  6 }, {  55,  8 }, {  73,  8 }, {  54,  8 },
+    {  74,  8 }, {  37,  7 }, {  91,  7 }, {  19,  7 }, { 109,  7 },
+    {  18,  7 }, { 110,  7 }, {  36,  7 }, {  92,  7 }, {  53,  8 },
+    {  75,  8 }, {  52,  8 }, {  76,  8 }, {  17,  7 }, { 111,  7 },
+    {  35,  7 }, {  93,  7 }, {  32,  7 }, {  96,  7 }, {  16,  7 },
+    { 112,  7 }, {  15,  7 }, { 113,  7 }, {  34,  7 }, {  94,  7 },
+    {  51,  8 }, {  77,  8 }, {  50,  8 }, {  78,  8 }, {  14,  7 },
+    { 114,  7 }, {  13,  7 }, { 115,  7 }, {  33,  7 }, {  95,  7 },
+    {  12,  7 }, { 116,  7 }, {  49,  8 }, {  79,  8 }, {  48,  8 },
+    {  80,  8 }, {  11,  7 }, { 117,  7 }, {  10,  7 }, { 118,  7 },
+    {   9,  7 }, { 119,  7 },
+};
+
+static const uint8_t huff_spec_a73_tab[127][2] = {
+    {  15,  6 }, { 113,  6 }, {  31,  7 }, {  97,  7 }, {  51,  8 },
+    {  77,  8 }, {  50,  8 }, {  78,  8 }, {  14,  6 }, { 114,  6 },
+    {   0,  5 }, {  37,  7 }, {  91,  7 }, {  30,  7 }, {  98,  7 },
+    {  13,  6 }, { 115,  6 }, {  29,  7 }, {  99,  7 }, {  49,  8 },
+    {  79,  8 }, {  63,  9 }, {  65,  9 }, {  62,  9 }, {  66,  9 },
+    {  12,  6 }, { 116,  6 }, {  36,  7 }, {  92,  7 }, {  28,  7 },
+    { 100,  7 }, {  35,  7 }, {  93,  7 }, {  48,  8 }, {  80,  8 },
+    {  47,  8 }, {  81,  8 }, {  11,  6 }, { 117,  6 }, {  10,  6 },
+    { 118,  6 }, {  27,  7 }, { 101,  7 }, {  34,  7 }, {  94,  7 },
+    {  61,  9 }, {  67,  9 }, {  60,  9 }, {  68,  9 }, {  46,  8 },
+    {  82,  8 }, {  26,  7 }, { 102,  7 }, {   9,  6 }, { 119,  6 },
+    {  32,  7 }, {  96,  7 }, {  33,  7 }, {  95,  7 }, {   8,  6 },
+    { 120,  6 }, {  25,  7 }, { 103,  7 }, {  45,  8 }, {  83,  8 },
+    {  59,  9 }, {  69,  9 }, {  58,  9 }, {  70,  9 }, {   7,  6 },
+    { 121,  6 }, {  24,  7 }, { 104,  7 }, {  23,  7 }, { 105,  7 },
+    {   6,  6 }, { 122,  6 }, {  44,  8 }, {  84,  8 }, {  57,  9 },
+    {  71,  9 }, {  56,  9 }, {  72,  9 }, {  22,  7 }, { 106,  7 },
+    {   5,  6 }, { 123,  6 }, {  43,  8 }, {  85,  8 }, {  42,  8 },
+    {  86,  8 }, {  21,  7 }, { 107,  7 }, {   4,  6 }, { 124,  6 },
+    {  20,  7 }, { 108,  7 }, {  55,  9 }, {  73,  9 }, {  54,  9 },
+    {  74,  9 }, {  41,  8 }, {  87,  8 }, {   3,  6 }, { 125,  6 },
+    {  19,  7 }, { 109,  7 }, {  18,  7 }, { 110,  7 }, {   2,  6 },
+    { 126,  6 }, {  40,  8 }, {  88,  8 }, {  53,  9 }, {  75,  9 },
+    {  52,  9 }, {  76,  9 }, {  17,  7 }, { 111,  7 }, {  39,  8 },
+    {  89,  8 }, {  38,  8 }, {  90,  8 }, {  16,  7 }, { 112,  7 },
+    {   1,  6 }, { 127,  6 },
+};
+
+static const uint8_t huff_spec_a74_tab[127][2] = {
+    {   3,  5 }, { 125,  5 }, {  32,  7 }, {  96,  7 }, {  29,  7 },
+    {  99,  7 }, {  16,  6 }, { 112,  6 }, {   2,  5 }, { 126,  5 },
+    {  53,  9 }, {  75,  9 }, {  52,  9 }, {  76,  9 }, {  42,  8 },
+    {  86,  8 }, {  28,  7 }, { 100,  7 }, {  15,  6 }, { 113,  6 },
+    {  63, 10 }, {  65, 10 }, {  62, 10 }, {  66, 10 }, {  51,  9 },
+    {  77,  9 }, {  41,  8 }, {  87,  8 }, {  27,  7 }, { 101,  7 },
+    {  14,  6 }, { 114,  6 }, {   1,  5 }, { 127,  5 }, {  13,  6 },
+    { 115,  6 }, {   0,  5 }, {  26,  7 }, { 102,  7 }, {  40,  8 },
+    {  88,  8 }, {  50,  9 }, {  78,  9 }, {  61, 10 }, {  67, 10 },
+    {  60, 10 }, {  68, 10 }, {  12,  6 }, { 116,  6 }, {  25,  7 },
+    { 103,  7 }, {  39,  8 }, {  89,  8 }, {  49,  9 }, {  79,  9 },
+    {  48,  9 }, {  80,  9 }, {  11,  6 }, { 117,  6 }, {  24,  7 },
+    { 104,  7 }, {  38,  8 }, {  90,  8 }, {  59, 10 }, {  69, 10 },
+    {  58, 10 }, {  70, 10 }, {  47,  9 }, {  81,  9 }, {  10,  6 },
+    { 118,  6 }, {   9,  6 }, { 119,  6 }, {  23,  7 }, { 105,  7 },
+    {  22,  7 }, { 106,  7 }, {   8,  6 }, { 120,  6 }, {  37,  8 },
+    {  91,  8 }, {  36,  8 }, {  92,  8 }, {  21,  7 }, { 107,  7 },
+    {   7,  6 }, { 121,  6 }, {   6,  6 }, { 122,  6 }, {  57, 10 },
+    {  71, 10 }, {  56, 10 }, {  72, 10 }, {  46,  9 }, {  82,  9 },
+    {  35,  8 }, {  93,  8 }, {  20,  7 }, { 108,  7 }, {   5,  6 },
+    { 123,  6 }, {  19,  7 }, { 109,  7 }, {  45,  9 }, {  83,  9 },
+    {  44,  9 }, {  84,  9 }, {  31,  8 }, {  97,  8 }, {   4,  6 },
+    { 124,  6 }, {  34,  8 }, {  94,  8 }, {  55, 10 }, {  73, 10 },
+    {  54, 10 }, {  74, 10 }, {  43,  9 }, {  85,  9 }, {  18,  7 },
+    { 110,  7 }, {  30,  8 }, {  98,  8 }, {  33,  8 }, {  95,  8 },
+    {  17,  7 }, { 111,  7 },
+};
+
+static const uint8_t huff_spec_b22_tab[80][2] = {
+    {  80,  5 }, { 240,  5 }, { 253, 10 }, {  87, 10 }, { 117, 10 },
+    { 223, 10 }, {  93, 10 }, { 247, 10 }, { 221, 10 }, { 119, 10 },
+    { 213, 10 }, { 127, 10 }, {  85, 10 }, { 255, 10 }, { 245, 10 },
+    {  95, 10 }, {  81, 10 }, { 243, 10 }, {  17,  7 }, {  51,  7 },
+    {  20,  6 }, {  60,  6 }, { 116,  9 }, { 220,  9 }, {  84,  9 },
+    { 252,  9 }, {  68,  8 }, { 204,  8 }, { 212,  7 }, { 124,  7 },
+    { 196,  6 }, {  76,  6 }, {   5,  5 }, {  15,  5 }, {  53,  7 },
+    {  31,  7 }, {  61,  7 }, {  23,  7 }, {  52,  6 }, {  28,  6 },
+    {  13,  5 }, {   7,  5 }, {  16,  4 }, {  48,  4 }, {   4,  4 },
+    {  12,  4 }, {  49,  6 }, {  19,  6 }, { 244,  7 }, {  92,  7 },
+    {  21,  9 }, {  63,  9 }, { 197,  9 }, {  79,  9 }, {  69, 10 },
+    { 207, 10 }, { 205, 10 }, {  71, 10 }, { 241,  9 }, {  83,  9 },
+    { 208,  6 }, { 112,  6 }, {  77,  9 }, { 199,  9 }, { 113,  9 },
+    { 211,  9 }, {  29,  9 }, {  55,  9 }, { 209, 10 }, { 115, 10 },
+    { 125, 10 }, { 215, 10 }, {  65,  8 }, { 195,  8 }, { 193,  8 },
+    {  67,  8 }, {  64,  4 }, { 192,  4 }, {   1,  4 }, {   3,  4 },
+};
+
+static const uint8_t huff_spec_b23_tab[81][2] = {
+    {  16,  4 }, {  48,  4 }, {   4,  4 }, {  12,  4 }, {  64,  4 },
+    { 192,  4 }, {   5,  6 }, {  15,  6 }, {  13,  6 }, {   7,  6 },
+    { 212,  8 }, { 124,  8 }, { 213, 10 }, { 127, 10 }, {  93, 10 },
+    { 247, 10 }, { 117, 10 }, { 223, 10 }, { 253, 10 }, {  87, 10 },
+    {  21,  9 }, {  63,  9 }, { 221, 10 }, { 119, 10 }, {  81, 10 },
+    { 243, 10 }, { 205, 10 }, {  71, 10 }, {  69, 10 }, { 207, 10 },
+    { 245, 10 }, {  95, 10 }, { 209, 10 }, { 115, 10 }, { 125, 10 },
+    { 215, 10 }, {  85, 10 }, { 255, 10 }, { 116, 10 }, { 220, 10 },
+    { 241, 10 }, {  83, 10 }, {  77, 10 }, { 199, 10 }, {  84, 10 },
+    { 252, 10 }, {  29,  9 }, {  55,  9 }, {  61,  8 }, {  23,  8 },
+    {  53,  8 }, {  31,  8 }, {   1,  4 }, {   3,  4 }, { 193,  8 },
+    {  67,  8 }, {  65,  8 }, { 195,  8 }, { 196,  7 }, {  76,  7 },
+    {  49,  7 }, {  19,  7 }, {  20,  7 }, {  60,  7 }, {  52,  7 },
+    {  28,  7 }, { 208,  7 }, { 112,  7 }, {  80,  7 }, { 240,  7 },
+    { 113, 10 }, { 211, 10 }, { 197, 10 }, {  79, 10 }, {  68,  9 },
+    { 204,  9 }, {  17,  9 }, {  51,  9 }, { 244,  9 }, {  92,  9 },
+    {   0,  2 },
+};
+
+static const uint8_t huff_spec_b24_tab[81][2] = {
+    {   1,  4 }, {   3,  4 }, {  52,  7 }, {  28,  7 }, { 193,  8 },
+    {  67,  8 }, { 213, 10 }, { 127, 10 }, { 253, 10 }, {  87, 10 },
+    {  93, 10 }, { 247, 10 }, { 117, 10 }, { 223, 10 }, {  80,  7 },
+    { 240,  7 }, { 196,  7 }, {  76,  7 }, { 208,  7 }, { 112,  7 },
+    { 221, 10 }, { 119, 10 }, { 245, 10 }, {  95, 10 }, {  69, 10 },
+    { 207, 10 }, {  85, 10 }, { 255, 10 }, { 209, 10 }, { 115, 10 },
+    { 205, 10 }, {  71, 10 }, {  81, 10 }, { 243, 10 }, { 125, 10 },
+    { 215, 10 }, {   5,  7 }, {  15,  7 }, { 116, 10 }, { 220, 10 },
+    {  84, 10 }, { 252, 10 }, {  29, 10 }, {  55, 10 }, { 113, 10 },
+    { 211, 10 }, { 241, 10 }, {  83, 10 }, {  21, 10 }, {  63, 10 },
+    { 197, 10 }, {  79, 10 }, {  77, 10 }, { 199, 10 }, {  16,  5 },
+    {  48,  5 }, {   4,  5 }, {  12,  5 }, {  49,  7 }, {  19,  7 },
+    {  13,  7 }, {   7,  7 }, { 212, 10 }, { 124, 10 }, { 244, 10 },
+    {  92, 10 }, {  68,  9 }, { 204,  9 }, {  53,  9 }, {  31,  9 },
+    {  61,  9 }, {  23,  9 }, {  17,  9 }, {  51,  9 }, {  65,  9 },
+    { 195,  9 }, {  20,  8 }, {  60,  8 }, {  64,  5 }, { 192,  5 },
+    {   0,  1 },
+};
+
+static const uint8_t huff_spec_b32_tab[49][2] = {
+    {  58,  5 }, {  14,  5 }, {  59,  6 }, {  13,  6 }, {  19,  7 },
+    {  53,  7 }, {  25,  7 }, {  47,  7 }, {   1,  4 }, {   7,  4 },
+    {   0,  2 }, {   9,  6 }, {  63,  6 }, {  57,  6 }, {  15,  6 },
+    {  24,  6 }, {  40,  6 }, {  17,  6 }, {  55,  6 }, {  42,  8 },
+    {  30,  8 }, {  43,  9 }, {  29,  9 }, {  27,  9 }, {  45,  9 },
+    {  41,  7 }, {  31,  7 }, {   3,  6 }, {   5,  6 }, {   8,  5 },
+    {  56,  5 }, {  49,  6 }, {  23,  6 }, {  11,  7 }, {  61,  7 },
+    {  26,  8 }, {  46,  8 }, {  51,  8 }, {  21,  8 }, {  16,  5 },
+    {  48,  5 }, {  18,  7 }, {  54,  7 }, {  50,  7 }, {  22,  7 },
+    {  10,  6 }, {  62,  6 }, {   2,  5 }, {   6,  5 },
+};
+
+static const uint8_t huff_spec_b33_tab[49][2] = {
+    {  57,  5 }, {  15,  5 }, {   9,  5 }, {  63,  5 }, {  59,  7 },
+    {  13,  7 }, {  50,  7 }, {  22,  7 }, {  18,  7 }, {  54,  7 },
+    {  51,  8 }, {  21,  8 }, {  27, 10 }, {  45, 10 }, {  43, 10 },
+    {  29, 10 }, {  26,  9 }, {  46,  9 }, {  17,  6 }, {  55,  6 },
+    {  49,  6 }, {  23,  6 }, {   8,  4 }, {  56,  4 }, {  16,  5 },
+    {  48,  5 }, {  10,  6 }, {  62,  6 }, {  58,  6 }, {  14,  6 },
+    {   1,  4 }, {   7,  4 }, {   2,  5 }, {   6,  5 }, {  25,  8 },
+    {  47,  8 }, {  42,  9 }, {  30,  9 }, {  19,  9 }, {  53,  9 },
+    {  24,  7 }, {  40,  7 }, {  41,  8 }, {  31,  8 }, {  11,  8 },
+    {  61,  8 }, {   3,  7 }, {   5,  7 }, {   0,  2 },
+};
+
+static const uint8_t huff_spec_b34_tab[49][2] = {
+    {   0,  1 }, {   8,  4 }, {  56,  4 }, {   1,  4 }, {   7,  4 },
+    {  59,  8 }, {  13,  8 }, {  27, 10 }, {  45, 10 }, {  43, 10 },
+    {  29, 10 }, {  26, 10 }, {  46, 10 }, {  51, 10 }, {  21, 10 },
+    {  18,  8 }, {  54,  8 }, {  50,  8 }, {  22,  8 }, {  16,  6 },
+    {  48,  6 }, {  17,  7 }, {  55,  7 }, {  24,  8 }, {  40,  8 },
+    {  19, 10 }, {  53, 10 }, {  42, 10 }, {  30, 10 }, {  25,  9 },
+    {  47,  9 }, {  49,  7 }, {  23,  7 }, {  10,  7 }, {  62,  7 },
+    {   2,  6 }, {   6,  6 }, {  58,  7 }, {  14,  7 }, {  11,  9 },
+    {  61,  9 }, {  41,  9 }, {  31,  9 }, {   3,  8 }, {   5,  8 },
+    {   9,  6 }, {  63,  6 }, {  57,  6 }, {  15,  6 },
+};
+
+static const uint8_t huff_spec_b42_tab[225][2] = {
+    {  33,  7 }, { 239,  7 }, {  36,  7 }, { 236,  7 }, { 119, 10 },
+    { 153, 10 }, { 151, 10 }, { 121, 10 }, { 118, 10 }, { 154, 10 },
+    { 167, 10 }, { 105, 10 }, { 247,  8 }, {  25,  8 }, { 112,  8 },
+    { 144,  8 }, { 150, 10 }, { 122, 10 }, { 103, 10 }, { 169, 10 },
+    {  87, 10 }, { 185, 10 }, { 183, 10 }, {  89, 10 }, {  53,  8 },
+    { 219,  8 }, { 213,  8 }, {  59,  8 }, { 228,  7 }, {  44,  7 },
+    { 225,  7 }, {  47,  7 }, { 166, 10 }, { 106, 10 }, { 102, 10 },
+    { 170, 10 }, { 149, 10 }, { 123, 10 }, { 117, 10 }, { 155, 10 },
+    { 114,  9 }, { 158,  9 }, { 165, 10 }, { 107, 10 }, { 148, 10 },
+    { 124, 10 }, {  81,  7 }, { 191,  7 }, {  21,  7 }, { 251,  7 },
+    {  64,  6 }, { 192,  6 }, { 242,  7 }, {  30,  7 }, { 116, 10 },
+    { 156, 10 }, {  71, 10 }, { 201, 10 }, { 101, 10 }, { 171, 10 },
+    { 199, 10 }, {  73, 10 }, {  19,  8 }, { 253,  8 }, {  18,  7 },
+    { 254,  7 }, { 182, 10 }, {  90, 10 }, {  86, 10 }, { 186, 10 },
+    {  39,  9 }, { 233,  9 }, {  34,  8 }, { 238,  8 }, {   2,  6 },
+    {  14,  6 }, { 177,  7 }, {  95,  7 }, { 231,  9 }, {  41,  9 },
+    { 146,  9 }, { 126,  9 }, {  67,  8 }, { 205,  8 }, {  17,  6 },
+    { 255,  6 }, { 241,  6 }, {  31,  6 }, {  16,  5 }, { 240,  5 },
+    { 243,  8 }, {  29,  8 }, { 195,  8 }, {  77,  8 }, { 245,  7 },
+    {  27,  7 }, {   7,  8 }, {   9,  8 }, { 209,  8 }, {  63,  8 },
+    {  99,  9 }, { 173,  9 }, { 163,  9 }, { 109,  9 }, { 226,  8 },
+    {  46,  8 }, { 212,  8 }, {  60,  8 }, {  97,  8 }, { 175,  8 },
+    { 161,  8 }, { 111,  8 }, {  52,  8 }, { 220,  8 }, { 180,  9 },
+    {  92,  9 }, {  50,  9 }, { 222,  9 }, {  35,  9 }, { 237,  9 },
+    { 211, 10 }, {  61, 10 }, {  51, 10 }, { 221, 10 }, { 210,  9 },
+    {  62,  9 }, {  84,  9 }, { 188,  9 }, {  82,  8 }, { 190,  8 },
+    {   4,  6 }, {  12,  6 }, { 227,  9 }, {  45,  9 }, { 214,  9 },
+    {  58,  9 }, {  54,  9 }, { 218,  9 }, { 197,  9 }, {  75,  9 },
+    { 178,  8 }, {  94,  8 }, {  22,  8 }, { 250,  8 }, {  65,  7 },
+    { 207,  7 }, {  80,  7 }, { 176,  7 }, { 246,  8 }, {  26,  8 },
+    {  69,  9 }, { 203,  9 }, { 145,  9 }, { 127,  9 }, { 193,  7 },
+    {  79,  7 }, {  37,  8 }, { 235,  8 }, { 229,  8 }, {  43,  8 },
+    {   5,  7 }, {  11,  7 }, {  20,  7 }, { 252,  7 }, { 244,  7 },
+    {  28,  7 }, {   1,  5 }, {  15,  5 }, {  98,  9 }, { 174,  9 },
+    { 147, 10 }, { 125, 10 }, { 115, 10 }, { 157, 10 }, {  96,  8 },
+    { 160,  8 }, { 113,  9 }, { 159,  9 }, {  38,  9 }, { 234,  9 },
+    { 162,  9 }, { 110,  9 }, {  55, 10 }, { 217, 10 }, { 215, 10 },
+    {  57, 10 }, {  48,  8 }, { 208,  8 }, {  68,  9 }, { 204,  9 },
+    { 164, 10 }, { 108, 10 }, { 100, 10 }, { 172, 10 }, {  32,  7 },
+    { 224,  7 }, {   0,  4 }, {   3,  8 }, {  13,  8 }, {  23,  9 },
+    { 249,  9 }, { 230,  9 }, {  42,  9 }, {  83,  9 }, { 189,  9 },
+    { 181, 10 }, {  91, 10 }, { 198, 10 }, {  74, 10 }, {   6,  8 },
+    {  10,  8 }, {  66,  8 }, { 206,  8 }, { 179,  9 }, {  93,  9 },
+    {  70, 10 }, { 202, 10 }, {  85, 10 }, { 187, 10 }, { 194,  8 },
+    {  78,  8 }, { 196,  9 }, {  76,  9 }, {  49,  9 }, { 223,  9 },
+};
+
+static const uint8_t huff_spec_b43_tab[225][2] = {
+    { 193,  7 }, {  79,  7 }, {  48,  7 }, { 208,  7 }, {   6,  8 },
+    {  10,  8 }, { 151, 10 }, { 121, 10 }, { 119, 10 }, { 153, 10 },
+    { 167, 10 }, { 105, 10 }, { 118, 10 }, { 154, 10 }, { 103, 10 },
+    { 169, 10 }, { 150, 10 }, { 122, 10 }, { 102, 10 }, { 170, 10 },
+    { 183, 10 }, {  89, 10 }, { 117, 10 }, { 155, 10 }, { 149, 10 },
+    { 123, 10 }, { 166, 10 }, { 106, 10 }, {  87, 10 }, { 185, 10 },
+    { 116, 10 }, { 156, 10 }, { 148, 10 }, { 124, 10 }, {  71, 10 },
+    { 201, 10 }, { 199, 10 }, {  73, 10 }, { 165, 10 }, { 107, 10 },
+    { 182, 10 }, {  90, 10 }, { 101, 10 }, { 171, 10 }, {  86, 10 },
+    { 186, 10 }, {  20,  7 }, { 252,  7 }, {  55, 10 }, { 217, 10 },
+    { 147, 10 }, { 125, 10 }, { 115, 10 }, { 157, 10 }, { 215, 10 },
+    {  57, 10 }, { 100, 10 }, { 172, 10 }, { 181, 10 }, {  91, 10 },
+    { 198, 10 }, {  74, 10 }, { 114, 10 }, { 158, 10 }, { 244,  7 },
+    {  28,  7 }, {  70, 10 }, { 202, 10 }, { 164, 10 }, { 108, 10 },
+    {  85, 10 }, { 187, 10 }, { 146, 10 }, { 126, 10 }, {  39, 10 },
+    { 233, 10 }, { 231, 10 }, {  41, 10 }, {  53,  9 }, { 219,  9 },
+    {  54, 10 }, { 218, 10 }, {  99, 10 }, { 173, 10 }, { 214, 10 },
+    {  58, 10 }, { 163, 10 }, { 109, 10 }, { 197, 10 }, {  75, 10 },
+    {  84, 10 }, { 188, 10 }, {  69, 10 }, { 203, 10 }, { 113, 10 },
+    { 159, 10 }, { 180, 10 }, {  92, 10 }, { 145, 10 }, { 127, 10 },
+    {  98, 10 }, { 174, 10 }, {  23, 10 }, { 249, 10 }, { 247, 10 },
+    {  25, 10 }, { 162, 10 }, { 110, 10 }, {  38, 10 }, { 234, 10 },
+    { 230, 10 }, {  42, 10 }, {  83, 10 }, { 189, 10 }, { 179, 10 },
+    {  93, 10 }, { 211, 10 }, {  61, 10 }, { 112, 10 }, { 144, 10 },
+    {  51, 10 }, { 221, 10 }, {  68, 10 }, { 204, 10 }, { 213, 10 },
+    {  59, 10 }, { 196, 10 }, {  76, 10 }, {   3,  7 }, {  13,  7 },
+    {  66,  8 }, { 206,  8 }, {  81,  8 }, { 191,  8 }, {  32,  6 },
+    { 224,  6 }, {   0,  2 }, {   7,  9 }, {   9,  9 }, {  97,  9 },
+    { 175,  9 }, {  36,  8 }, { 236,  8 }, { 194,  8 }, {  78,  8 },
+    { 177,  8 }, {  95,  8 }, {   2,  6 }, {  14,  6 }, {  21,  8 },
+    { 251,  8 }, { 245,  8 }, {  27,  8 }, { 228,  8 }, {  44,  8 },
+    {  22,  9 }, { 250,  9 }, { 246,  9 }, {  26,  9 }, {  49,  8 },
+    { 223,  8 }, {  19,  8 }, { 253,  8 }, { 209,  8 }, {  63,  8 },
+    { 243,  8 }, {  29,  8 }, { 225,  7 }, {  47,  7 }, {  64,  7 },
+    { 192,  7 }, {  33,  7 }, { 239,  7 }, {  18,  7 }, { 254,  7 },
+    { 242,  7 }, {  30,  7 }, { 161,  9 }, { 111,  9 }, { 178,  9 },
+    {  94,  9 }, {  82,  9 }, { 190,  9 }, { 195,  9 }, {  77,  9 },
+    {  52,  9 }, { 220,  9 }, { 212,  9 }, {  60,  9 }, {  67,  9 },
+    { 205,  9 }, {  37,  9 }, { 235,  9 }, {  34,  8 }, { 238,  8 },
+    { 226,  8 }, {  46,  8 }, {  17,  6 }, { 255,  6 }, {   4,  7 },
+    {  12,  7 }, {  80,  8 }, { 176,  8 }, { 229,  9 }, {  43,  9 },
+    {  35,  9 }, { 237,  9 }, {  16,  5 }, { 240,  5 }, { 241,  6 },
+    {  31,  6 }, { 227,  9 }, {  45,  9 }, { 210,  9 }, {  62,  9 },
+    {  50,  9 }, { 222,  9 }, {  96,  9 }, { 160,  9 }, {   5,  8 },
+    {  11,  8 }, {  65,  8 }, { 207,  8 }, {   1,  5 }, {  15,  5 },
+};
+
+static const uint8_t huff_spec_b44_tab[225][2] = {
+    {   3,  7 }, {  13,  7 }, {   4,  7 }, {  12,  7 }, { 151, 10 },
+    { 121, 10 }, { 119, 10 }, { 153, 10 }, { 103, 10 }, { 169, 10 },
+    { 167, 10 }, { 105, 10 }, { 150, 10 }, { 122, 10 }, { 118, 10 },
+    { 154, 10 }, { 117, 10 }, { 155, 10 }, { 102, 10 }, { 170, 10 },
+    {   5,  8 }, {  11,  8 }, { 183, 10 }, {  89, 10 }, {  87, 10 },
+    { 185, 10 }, { 166, 10 }, { 106, 10 }, { 149, 10 }, { 123, 10 },
+    {  17,  5 }, { 255,  5 }, {   1,  4 }, {  15,  4 }, { 241,  5 },
+    {  31,  5 }, { 116, 10 }, { 156, 10 }, { 148, 10 }, { 124, 10 },
+    { 199, 10 }, {  73, 10 }, { 182, 10 }, {  90, 10 }, {  71, 10 },
+    { 201, 10 }, {  86, 10 }, { 186, 10 }, { 101, 10 }, { 171, 10 },
+    { 115, 10 }, { 157, 10 }, { 165, 10 }, { 107, 10 }, { 215, 10 },
+    {  57, 10 }, {  55, 10 }, { 217, 10 }, {  70, 10 }, { 202, 10 },
+    { 147, 10 }, { 125, 10 }, {  85, 10 }, { 187, 10 }, { 164, 10 },
+    { 108, 10 }, { 198, 10 }, {  74, 10 }, { 100, 10 }, { 172, 10 },
+    { 114, 10 }, { 158, 10 }, {  39, 10 }, { 233, 10 }, { 146, 10 },
+    { 126, 10 }, {  99, 10 }, { 173, 10 }, { 181, 10 }, {  91, 10 },
+    { 231, 10 }, {  41, 10 }, { 163, 10 }, { 109, 10 }, {  54, 10 },
+    { 218, 10 }, { 214, 10 }, {  58, 10 }, { 113, 10 }, { 159, 10 },
+    {  23, 10 }, { 249, 10 }, { 145, 10 }, { 127, 10 }, { 180, 10 },
+    {  92, 10 }, {  84, 10 }, { 188, 10 }, { 247, 10 }, {  25, 10 },
+    {  32,  6 }, { 224,  6 }, { 197, 10 }, {  75, 10 }, {  98, 10 },
+    { 174, 10 }, { 112, 10 }, { 144, 10 }, { 162, 10 }, { 110, 10 },
+    {  69, 10 }, { 203, 10 }, {  38, 10 }, { 234, 10 }, { 230, 10 },
+    {  42, 10 }, {   7, 10 }, {   9, 10 }, { 213, 10 }, {  59, 10 },
+    {  83, 10 }, { 189, 10 }, { 179, 10 }, {  93, 10 }, {  53, 10 },
+    { 219, 10 }, {  97, 10 }, { 175, 10 }, {  68, 10 }, { 204, 10 },
+    { 196, 10 }, {  76, 10 }, { 161, 10 }, { 111, 10 }, {  22, 10 },
+    { 250, 10 }, { 246, 10 }, {  26, 10 }, {  82, 10 }, { 190, 10 },
+    {  96, 10 }, { 160, 10 }, { 178, 10 }, {  94, 10 }, {  37, 10 },
+    { 235, 10 }, {  67, 10 }, { 205, 10 }, {  51, 10 }, { 221, 10 },
+    { 229, 10 }, {  43, 10 }, {   6, 10 }, {  10, 10 }, { 211, 10 },
+    {  61, 10 }, { 212, 10 }, {  60, 10 }, { 195, 10 }, {  77, 10 },
+    {  52, 10 }, { 220, 10 }, {  81, 10 }, { 191, 10 }, { 177, 10 },
+    {  95, 10 }, {  65,  8 }, { 207,  8 }, {  21, 10 }, { 251, 10 },
+    { 245, 10 }, {  27, 10 }, { 194, 10 }, {  78, 10 }, { 228, 10 },
+    {  44, 10 }, { 193,  8 }, {  79,  8 }, {  20,  8 }, { 252,  8 },
+    {   0,  2 }, {   2,  6 }, {  14,  6 }, {  19,  8 }, { 253,  8 },
+    {  49,  8 }, { 223,  8 }, { 209,  8 }, {  63,  8 }, { 244,  8 },
+    {  28,  8 }, {  66, 10 }, { 206, 10 }, { 210, 10 }, {  62, 10 },
+    {  36,  9 }, { 236,  9 }, { 243,  8 }, {  29,  8 }, {  33,  7 },
+    { 239,  7 }, { 225,  7 }, {  47,  7 }, {  64,  8 }, { 192,  8 },
+    {  80,  9 }, { 176,  9 }, {  50,  9 }, { 222,  9 }, {  18,  7 },
+    { 254,  7 }, { 242,  7 }, {  30,  7 }, {  48,  8 }, { 208,  8 },
+    { 226,  8 }, {  46,  8 }, {  34,  8 }, { 238,  8 }, { 227,  9 },
+    {  45,  9 }, {  35,  9 }, { 237,  9 }, {  16,  5 }, { 240,  5 },
+};
+
+static const uint8_t huff_spec_b52_tab[31][2] = {
+    {   3,  4 }, {  29,  4 }, {   5,  5 }, {  27,  5 }, {  10,  5 },
+    {  22,  5 }, {  13,  6 }, {  19,  6 }, {   7,  6 }, {  25,  6 },
+    {   4,  5 }, {  28,  5 }, {   2,  4 }, {  30,  4 }, {   9,  5 },
+    {  23,  5 }, {  12,  6 }, {  20,  6 }, {  15,  7 }, {  17,  7 },
+    {  14,  7 }, {  18,  7 }, {   8,  5 }, {  24,  5 }, {   6,  6 },
+    {  26,  6 }, {  11,  6 }, {  21,  6 }, {   0,  3 }, {   1,  4 },
+    {  31,  4 },
+};
+
+static const uint8_t huff_spec_b53_tab[31][2] = {
+    {   1,  3 }, {  31,  3 }, {   7,  6 }, {  25,  6 }, {  13,  7 },
+    {  19,  7 }, {  12,  7 }, {  20,  7 }, {  10,  6 }, {  22,  6 },
+    {   6,  6 }, {  26,  6 }, {   2,  4 }, {  30,  4 }, {   0,  2 },
+    {   4,  5 }, {  28,  5 }, {  15,  8 }, {  17,  8 }, {  14,  8 },
+    {  18,  8 }, {  11,  7 }, {  21,  7 }, {   9,  6 }, {  23,  6 },
+    {   3,  5 }, {  29,  5 }, {   8,  6 }, {  24,  6 }, {   5,  6 },
+    {  27,  6 },
+};
+
+static const uint8_t huff_spec_b54_tab[31][2] = {
+    {   3,  4 }, {  29,  4 }, {   9,  6 }, {  23,  6 }, {   8,  6 },
+    {  24,  6 }, {  13,  8 }, {  19,  8 }, {  12,  8 }, {  20,  8 },
+    {  10,  7 }, {  22,  7 }, {   6,  6 }, {  26,  6 }, {   1,  3 },
+    {  31,  3 }, {   2,  4 }, {  30,  4 }, {   4,  5 }, {  28,  5 },
+    {  15,  9 }, {  17,  9 }, {  14,  9 }, {  18,  9 }, {  11,  8 },
+    {  21,  8 }, {   7,  7 }, {  25,  7 }, {   5,  6 }, {  27,  6 },
+    {   0,  2 },
+};
+
+static const uint8_t huff_spec_b62_tab[63][2] = {
+    {  11,  6 }, {  53,  6 }, {  21,  6 }, {  43,  6 }, {  27,  7 },
+    {  37,  7 }, {  26,  7 }, {  38,  7 }, {  10,  6 }, {  54,  6 },
+    {   5,  5 }, {  59,  5 }, {  20,  6 }, {  44,  6 }, {   9,  6 },
+    {  55,  6 }, {  15,  7 }, {  49,  7 }, {  25,  7 }, {  39,  7 },
+    {  19,  6 }, {  45,  6 }, {   4,  5 }, {  60,  5 }, {   1,  4 },
+    {  63,  4 }, {  14,  7 }, {  50,  7 }, {  24,  7 }, {  40,  7 },
+    {   8,  6 }, {  56,  6 }, {  18,  6 }, {  46,  6 }, {  31,  8 },
+    {  33,  8 }, {  30,  8 }, {  34,  8 }, {  13,  7 }, {  51,  7 },
+    {   3,  5 }, {  61,  5 }, {  23,  7 }, {  41,  7 }, {  12,  7 },
+    {  52,  7 }, {   7,  6 }, {  57,  6 }, {  16,  6 }, {  48,  6 },
+    {  17,  6 }, {  47,  6 }, {   0,  4 }, {   2,  5 }, {  62,  5 },
+    {  22,  7 }, {  42,  7 }, {  29,  8 }, {  35,  8 }, {  28,  8 },
+    {  36,  8 }, {   6,  6 }, {  58,  6 },
+};
+
+static const uint8_t huff_spec_b63_tab[63][2] = {
+    {   6,  5 }, {  58,  5 }, {  10,  6 }, {  54,  6 }, {  16,  6 },
+    {  48,  6 }, {  17,  6 }, {  47,  6 }, {  21,  7 }, {  43,  7 },
+    {  14,  7 }, {  50,  7 }, {   5,  5 }, {  59,  5 }, {   2,  4 },
+    {  62,  4 }, {   9,  6 }, {  55,  6 }, {  25,  8 }, {  39,  8 },
+    {  31,  9 }, {  33,  9 }, {  30,  9 }, {  34,  9 }, {  20,  7 },
+    {  44,  7 }, {   8,  6 }, {  56,  6 }, {  13,  7 }, {  51,  7 },
+    {  19,  7 }, {  45,  7 }, {   4,  5 }, {  60,  5 }, {  24,  8 },
+    {  40,  8 }, {  29,  9 }, {  35,  9 }, {  28,  9 }, {  36,  9 },
+    {  12,  7 }, {  52,  7 }, {   7,  6 }, {  57,  6 }, {   3,  5 },
+    {  61,  5 }, {  18,  7 }, {  46,  7 }, {  23,  8 }, {  41,  8 },
+    {  22,  8 }, {  42,  8 }, {  11,  7 }, {  53,  7 }, {  15,  8 },
+    {  49,  8 }, {  27,  9 }, {  37,  9 }, {  26,  9 }, {  38,  9 },
+    {   0,  3 }, {   1,  4 }, {  63,  4 },
+};
+
+static const uint8_t huff_spec_b64_tab[63][2] = {
+    {   1,  3 }, {  63,  3 }, {  14,  7 }, {  50,  7 }, {  18,  7 },
+    {  46,  7 }, {  27,  9 }, {  37,  9 }, {  26,  9 }, {  38,  9 },
+    {  21,  8 }, {  43,  8 }, {  13,  7 }, {  51,  7 }, {   9,  6 },
+    {  55,  6 }, {  17,  7 }, {  47,  7 }, {  31, 10 }, {  33, 10 },
+    {  30, 10 }, {  34, 10 }, {  25,  9 }, {  39,  9 }, {  20,  8 },
+    {  44,  8 }, {   5,  5 }, {  59,  5 }, {  16,  7 }, {  48,  7 },
+    {  12,  7 }, {  52,  7 }, {   8,  6 }, {  56,  6 }, {   2,  4 },
+    {  62,  4 }, {   4,  5 }, {  60,  5 }, {  24,  9 }, {  40,  9 },
+    {  29, 10 }, {  35, 10 }, {  28, 10 }, {  36, 10 }, {  15,  8 },
+    {  49,  8 }, {  11,  7 }, {  53,  7 }, {   7,  6 }, {  57,  6 },
+    {  19,  8 }, {  45,  8 }, {  23,  9 }, {  41,  9 }, {  22,  9 },
+    {  42,  9 }, {  10,  7 }, {  54,  7 }, {   6,  6 }, {  58,  6 },
+    {   3,  5 }, {  61,  5 }, {   0,  3 },
+};
+
+static const uint8_t huff_spec_b72_tab[127][2] = {
+    {   3,  5 }, { 125,  5 }, {  42,  7 }, {  86,  7 }, {  21,  7 },
+    { 107,  7 }, {  11,  6 }, { 117,  6 }, {  41,  7 }, {  87,  7 },
+    {  20,  7 }, { 108,  7 }, {  53,  8 }, {  75,  8 }, {  31,  8 },
+    {  97,  8 }, {  40,  7 }, {  88,  7 }, {  52,  8 }, {  76,  8 },
+    {  51,  8 }, {  77,  8 }, {  19,  7 }, { 109,  7 }, {  10,  6 },
+    { 118,  6 }, {  30,  8 }, {  98,  8 }, {  29,  8 }, {  99,  8 },
+    {  18,  7 }, { 110,  7 }, {   9,  6 }, { 119,  6 }, {  39,  7 },
+    {  89,  7 }, {  17,  7 }, { 111,  7 }, {  28,  8 }, { 100,  8 },
+    {  50,  8 }, {  78,  8 }, {  38,  7 }, {  90,  7 }, {   2,  5 },
+    { 126,  5 }, {   8,  6 }, { 120,  6 }, {  49,  8 }, {  79,  8 },
+    {  48,  8 }, {  80,  8 }, {  16,  7 }, { 112,  7 }, {  37,  7 },
+    {  91,  7 }, {  63,  9 }, {  65,  9 }, {  62,  9 }, {  66,  9 },
+    {  27,  8 }, { 101,  8 }, {   7,  6 }, { 121,  6 }, {  36,  7 },
+    {  92,  7 }, {  26,  8 }, { 102,  8 }, {  47,  8 }, {  81,  8 },
+    {  61,  9 }, {  67,  9 }, {  60,  9 }, {  68,  9 }, {  46,  8 },
+    {  82,  8 }, {  15,  7 }, { 113,  7 }, {   6,  6 }, { 122,  6 },
+    {  25,  8 }, { 103,  8 }, {  45,  8 }, {  83,  8 }, {  35,  7 },
+    {  93,  7 }, {   1,  5 }, { 127,  5 }, {  14,  7 }, { 114,  7 },
+    {  59,  9 }, {  69,  9 }, {  58,  9 }, {  70,  9 }, {  24,  8 },
+    { 104,  8 }, {   5,  6 }, { 123,  6 }, {  32,  7 }, {  96,  7 },
+    {  34,  7 }, {  94,  7 }, {  13,  7 }, { 115,  7 }, {  23,  8 },
+    { 105,  8 }, {  44,  8 }, {  84,  8 }, {   4,  6 }, { 124,  6 },
+    {  57,  9 }, {  71,  9 }, {  56,  9 }, {  72,  9 }, {  43,  8 },
+    {  85,  8 }, {  12,  7 }, { 116,  7 }, {   0,  5 }, {  33,  7 },
+    {  95,  7 }, {  22,  8 }, { 106,  8 }, {  55,  9 }, {  73,  9 },
+    {  54,  9 }, {  74,  9 },
+};
+
+static const uint8_t huff_spec_b73_tab[127][2] = {
+    {   0,  3 }, {   4,  5 }, { 124,  5 }, {  19,  7 }, { 109,  7 },
+    {  29,  8 }, {  99,  8 }, {  51,  9 }, {  77,  9 }, {  62, 10 },
+    {  66, 10 }, {  63, 10 }, {  65, 10 }, {  28,  8 }, { 100,  8 },
+    {  41,  8 }, {  87,  8 }, {  33,  7 }, {  95,  7 }, {  10,  6 },
+    { 118,  6 }, {  18,  7 }, { 110,  7 }, {  40,  8 }, {  88,  8 },
+    {  27,  8 }, { 101,  8 }, {   9,  6 }, { 119,  6 }, {  17,  7 },
+    { 111,  7 }, {  50,  9 }, {  78,  9 }, {  61, 10 }, {  67, 10 },
+    {  60, 10 }, {  68, 10 }, {  26,  8 }, { 102,  8 }, {   1,  4 },
+    { 127,  4 }, {   3,  5 }, { 125,  5 }, {  39,  8 }, {  89,  8 },
+    {  49,  9 }, {  79,  9 }, {  48,  9 }, {  80,  9 }, {  16,  7 },
+    { 112,  7 }, {   8,  6 }, { 120,  6 }, {  25,  8 }, { 103,  8 },
+    {  38,  8 }, {  90,  8 }, {  15,  7 }, { 113,  7 }, {   7,  6 },
+    { 121,  6 }, {  59, 10 }, {  69, 10 }, {  58, 10 }, {  70, 10 },
+    {  47,  9 }, {  81,  9 }, {  24,  8 }, { 104,  8 }, {  37,  8 },
+    {  91,  8 }, {  23,  8 }, { 105,  8 }, {  14,  7 }, { 114,  7 },
+    {  46,  9 }, {  82,  9 }, {  57, 10 }, {  71, 10 }, {  56, 10 },
+    {  72, 10 }, {  36,  8 }, {  92,  8 }, {   2,  5 }, { 126,  5 },
+    {   6,  6 }, { 122,  6 }, {  45,  9 }, {  83,  9 }, {  31,  9 },
+    {  97,  9 }, {  22,  8 }, { 106,  8 }, {  13,  7 }, { 115,  7 },
+    {  21,  8 }, { 107,  8 }, {  55, 10 }, {  73, 10 }, {  54, 10 },
+    {  74, 10 }, {  44,  9 }, {  84,  9 }, {  12,  7 }, { 116,  7 },
+    {   5,  6 }, { 123,  6 }, {  35,  8 }, {  93,  8 }, {  43,  9 },
+    {  85,  9 }, {  30,  9 }, {  98,  9 }, {  20,  8 }, { 108,  8 },
+    {  53, 10 }, {  75, 10 }, {  52, 10 }, {  76, 10 }, {  42,  9 },
+    {  86,  9 }, {  34,  8 }, {  94,  8 }, {  32,  8 }, {  96,  8 },
+    {  11,  7 }, { 117,  7 },
+};
+
+static const uint8_t huff_spec_b74_tab[127][2] = {
+    {  28,  8 }, { 100,  8 }, {  27,  8 }, { 101,  8 }, {  36,  8 },
+    {  92,  8 }, {  63, 10 }, {  65, 10 }, {  61, 10 }, {  67, 10 },
+    {  62, 10 }, {  66, 10 }, {  60, 10 }, {  68, 10 }, {  19,  7 },
+    { 109,  7 }, {  59, 10 }, {  69, 10 }, {  58, 10 }, {  70, 10 },
+    {  57, 10 }, {  71, 10 }, {  56, 10 }, {  72, 10 }, {  55, 10 },
+    {  73, 10 }, {  53, 10 }, {  75, 10 }, {  54, 10 }, {  74, 10 },
+    {  52, 10 }, {  76, 10 }, {   5,  5 }, { 123,  5 }, {   0,  3 },
+    {  51, 10 }, {  77, 10 }, {  50, 10 }, {  78, 10 }, {  49, 10 },
+    {  79, 10 }, {  48, 10 }, {  80, 10 }, {  47, 10 }, {  81, 10 },
+    {  46, 10 }, {  82, 10 }, {  43,  9 }, {  85,  9 }, {  18,  7 },
+    { 110,  7 }, {  11,  6 }, { 117,  6 }, {  26,  8 }, { 102,  8 },
+    {  35,  8 }, {  93,  8 }, {  25,  8 }, { 103,  8 }, {  42,  9 },
+    {  86,  9 }, {  41,  9 }, {  87,  9 }, {  10,  6 }, { 118,  6 },
+    {   4,  5 }, { 124,  5 }, {  17,  7 }, { 111,  7 }, {  34,  8 },
+    {  94,  8 }, {  24,  8 }, { 104,  8 }, {   9,  6 }, { 119,  6 },
+    {   1,  4 }, { 127,  4 }, {  16,  7 }, { 112,  7 }, {  32,  8 },
+    {  96,  8 }, {  33,  8 }, {  95,  8 }, {  23,  8 }, { 105,  8 },
+    {  40,  9 }, {  88,  9 }, {  31,  9 }, {  97,  9 }, {  15,  7 },
+    { 113,  7 }, {   8,  6 }, { 120,  6 }, {  39,  9 }, {  89,  9 },
+    {  45, 10 }, {  83, 10 }, {  44, 10 }, {  84, 10 }, {  22,  8 },
+    { 106,  8 }, {  14,  7 }, { 114,  7 }, {   3,  5 }, { 125,  5 },
+    {   7,  6 }, { 121,  6 }, {  30,  9 }, {  98,  9 }, {  38,  9 },
+    {  90,  9 }, {  21,  8 }, { 107,  8 }, {  13,  7 }, { 115,  7 },
+    {  29,  9 }, {  99,  9 }, {  37,  9 }, {  91,  9 }, {  20,  8 },
+    { 108,  8 }, {  12,  7 }, { 116,  7 }, {   6,  6 }, { 122,  6 },
+    {   2,  5 }, { 126,  5 },
 };
 
 static const HuffmanCodebook at9_huffman_coeffs[][8][4] = {
@@ -1538,40 +1391,40 @@ static const HuffmanCodebook at9_huffman_coeffs[][8][4] = {
         { { 0 } },
         { { 0 } },
         {
-            { huff_spec_a21_bits, huff_spec_a21_codes,  16,   2,   1,   2 },
-            { huff_spec_a22_bits, huff_spec_a22_codes, 256,   4,   2,   2 },
-            { huff_spec_a23_bits, huff_spec_a23_codes, 256,   4,   2,   2 },
-            { huff_spec_a24_bits, huff_spec_a24_codes, 256,   4,   2,   2 },
+            { huff_spec_a21_tab,   8,   2,   1,   2 },
+            { huff_spec_a22_tab,  80,   4,   2,   2 },
+            { huff_spec_a23_tab,  81,   4,   2,   2 },
+            { huff_spec_a24_tab,  81,   4,   2,   2 },
         },
         {
-            { huff_spec_a31_bits, huff_spec_a31_codes,  64,   2,   1,   3 },
-            { huff_spec_a32_bits, huff_spec_a32_codes,  64,   2,   1,   3 },
-            { huff_spec_a33_bits, huff_spec_a33_codes,  64,   2,   1,   3 },
-            { huff_spec_a34_bits, huff_spec_a34_codes,  64,   2,   1,   3 },
+            { huff_spec_a31_tab,  40,   2,   1,   3 },
+            { huff_spec_a32_tab,  49,   2,   1,   3 },
+            { huff_spec_a33_tab,  49,   2,   1,   3 },
+            { huff_spec_a34_tab,  49,   2,   1,   3 },
         },
         {
-            { huff_spec_a41_bits, huff_spec_a41_codes, 256,   2,   1,   4 },
-            { huff_spec_a42_bits, huff_spec_a42_codes, 256,   2,   1,   4 },
-            { huff_spec_a43_bits, huff_spec_a43_codes, 256,   2,   1,   4 },
-            { huff_spec_a44_bits, huff_spec_a44_codes, 256,   2,   1,   4 },
+            { huff_spec_a41_tab, 176,   2,   1,   4 },
+            { huff_spec_a42_tab, 225,   2,   1,   4 },
+            { huff_spec_a43_tab, 225,   2,   1,   4 },
+            { huff_spec_a44_tab, 225,   2,   1,   4 },
         },
         {
-            { huff_spec_a51_bits, huff_spec_a51_codes,  32,   1,   0,   5 },
-            { huff_spec_a52_bits, huff_spec_a52_codes,  32,   1,   0,   5 },
-            { huff_spec_a53_bits, huff_spec_a53_codes,  32,   1,   0,   5 },
-            { huff_spec_a54_bits, huff_spec_a54_codes,  32,   1,   0,   5 },
+            { huff_spec_a51_tab,  31,   1,   0,   5 },
+            { huff_spec_a52_tab,  31,   1,   0,   5 },
+            { huff_spec_a53_tab,  31,   1,   0,   5 },
+            { huff_spec_a54_tab,  31,   1,   0,   5 },
         },
         {
-            { huff_spec_a61_bits, huff_spec_a61_codes,  64,   1,   0,   6 },
-            { huff_spec_a62_bits, huff_spec_a62_codes,  64,   1,   0,   6 },
-            { huff_spec_a63_bits, huff_spec_a63_codes,  64,   1,   0,   6 },
-            { huff_spec_a64_bits, huff_spec_a64_codes,  64,   1,   0,   6 },
+            { huff_spec_a61_tab,  63,   1,   0,   6 },
+            { huff_spec_a62_tab,  63,   1,   0,   6 },
+            { huff_spec_a63_tab,  63,   1,   0,   6 },
+            { huff_spec_a64_tab,  63,   1,   0,   6 },
         },
         {
-            { huff_spec_a71_bits, huff_spec_a71_codes, 128,   1,   0,   7 },
-            { huff_spec_a72_bits, huff_spec_a72_codes, 128,   1,   0,   7 },
-            { huff_spec_a73_bits, huff_spec_a73_codes, 128,   1,   0,   7 },
-            { huff_spec_a74_bits, huff_spec_a74_codes, 128,   1,   0,   7 },
+            { huff_spec_a71_tab, 127,   1,   0,   7 },
+            { huff_spec_a72_tab, 127,   1,   0,   7 },
+            { huff_spec_a73_tab, 127,   1,   0,   7 },
+            { huff_spec_a74_tab, 127,   1,   0,   7 },
         },
     },
     {
@@ -1579,39 +1432,39 @@ static const HuffmanCodebook at9_huffman_coeffs[][8][4] = {
         { { 0 } },
         {
             { 0 },
-            { huff_spec_b22_bits, huff_spec_b22_codes,  256,  4,   2,   2 },
-            { huff_spec_b23_bits, huff_spec_b23_codes,  256,  4,   2,   2 },
-            { huff_spec_b24_bits, huff_spec_b24_codes,  256,  4,   2,   2 },
+            { huff_spec_b22_tab,  80,   4,   2,   2 },
+            { huff_spec_b23_tab,  81,   4,   2,   2 },
+            { huff_spec_b24_tab,  81,   4,   2,   2 },
         },
         {
             { 0 },
-            { huff_spec_b32_bits, huff_spec_b32_codes,  64,   2,   1,   3 },
-            { huff_spec_b33_bits, huff_spec_b33_codes,  64,   2,   1,   3 },
-            { huff_spec_b34_bits, huff_spec_b34_codes,  64,   2,   1,   3 },
+            { huff_spec_b32_tab,  49,   2,   1,   3 },
+            { huff_spec_b33_tab,  49,   2,   1,   3 },
+            { huff_spec_b34_tab,  49,   2,   1,   3 },
         },
         {
             { 0 },
-            { huff_spec_b42_bits, huff_spec_b42_codes, 256,   2,   1,   4 },
-            { huff_spec_b43_bits, huff_spec_b43_codes, 256,   2,   1,   4 },
-            { huff_spec_b44_bits, huff_spec_b44_codes, 256,   2,   1,   4 },
+            { huff_spec_b42_tab, 225,   2,   1,   4 },
+            { huff_spec_b43_tab, 225,   2,   1,   4 },
+            { huff_spec_b44_tab, 225,   2,   1,   4 },
         },
         {
             { 0 },
-            { huff_spec_b52_bits, huff_spec_b52_codes,  32,   1,   0,   5 },
-            { huff_spec_b53_bits, huff_spec_b53_codes,  32,   1,   0,   5 },
-            { huff_spec_b54_bits, huff_spec_b54_codes,  32,   1,   0,   5 },
+            { huff_spec_b52_tab,  31,   1,   0,   5 },
+            { huff_spec_b53_tab,  31,   1,   0,   5 },
+            { huff_spec_b54_tab,  31,   1,   0,   5 },
         },
         {
             { 0 },
-            { huff_spec_b62_bits, huff_spec_b62_codes,  64,   1,   0,   6 },
-            { huff_spec_b63_bits, huff_spec_b63_codes,  64,   1,   0,   6 },
-            { huff_spec_b64_bits, huff_spec_b64_codes,  64,   1,   0,   6 },
+            { huff_spec_b62_tab,  63,   1,   0,   6 },
+            { huff_spec_b63_tab,  63,   1,   0,   6 },
+            { huff_spec_b64_tab,  63,   1,   0,   6 },
         },
         {
             { 0 },
-            { huff_spec_b72_bits, huff_spec_b72_codes, 128,   1,   0,   7 },
-            { huff_spec_b73_bits, huff_spec_b73_codes, 128,   1,   0,   7 },
-            { huff_spec_b74_bits, huff_spec_b74_codes, 128,   1,   0,   7 },
+            { huff_spec_b72_tab, 127,   1,   0,   7 },
+            { huff_spec_b73_tab, 127,   1,   0,   7 },
+            { huff_spec_b74_tab, 127,   1,   0,   7 },
         },
     },
 };
-- 
2.25.1



More information about the ffmpeg-devel mailing list