~ppsspp/ppsspp/ffmpeg

« back to all changes in this revision

Viewing changes to libavcodec/atrac3plus_data.c

  • Committer: Henrik Rydgård
  • Date: 2014-01-03 10:44:32 UTC
  • Revision ID: git-v1:87c6c126784b1718bfa448ecf2e6a9fef781eb4e
Update our ffmpeg snapshot to a clone of the official repository.

This is because Maxim's at3plus support has been officially merged!

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * ATRAC3+ compatible decoder
3
 
 *
4
 
 * Copyright (c) 2010-2013 Maxim Poliakovski
5
 
 *
6
 
 * This file is part of FFmpeg.
7
 
 *
8
 
 * FFmpeg is free software; you can redistribute it and/or
9
 
 * modify it under the terms of the GNU Lesser General Public
10
 
 * License as published by the Free Software Foundation; either
11
 
 * version 2.1 of the License, or (at your option) any later version.
12
 
 *
13
 
 * FFmpeg is distributed in the hope that it will be useful,
14
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
 
 * Lesser General Public License for more details.
17
 
 *
18
 
 * You should have received a copy of the GNU Lesser General Public
19
 
 * License along with FFmpeg; if not, write to the Free Software
20
 
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
 
 */
22
 
 
23
 
#include <stddef.h>
24
 
#include <stdint.h>
25
 
 
26
 
#include "atrac3plus_data.h"
27
 
 
28
 
/** VLC tables for wordlen */
29
 
const uint8_t ff_atrac3p_wl_huff_code1[3] = { 0, 2, 3 };
30
 
 
31
 
const uint8_t ff_atrac3p_wl_huff_bits1[3] = { 1, 2, 2 };
32
 
 
33
 
const uint8_t ff_atrac3p_wl_huff_xlat1[3] = { 0, 1, 7 };
34
 
 
35
 
const uint8_t ff_atrac3p_wl_huff_code2[5] = { 0, 4, 5, 6, 7 };
36
 
 
37
 
const uint8_t ff_atrac3p_wl_huff_bits2[5] = { 1, 3, 3, 3, 3 };
38
 
 
39
 
const uint8_t ff_atrac3p_wl_huff_xlat2[5] = { 0, 1, 2, 6, 7 };
40
 
 
41
 
const uint8_t ff_atrac3p_wl_huff_code3[8] = {
42
 
    0, 4, 0xC, 0x1E, 0x1F, 0xD, 0xE, 5
43
 
};
44
 
 
45
 
const uint8_t ff_atrac3p_wl_huff_bits3[8] = { 1, 3, 4, 5, 5, 4, 4, 3 };
46
 
 
47
 
const uint8_t ff_atrac3p_wl_huff_code4[8] = {
48
 
    0, 4, 0xC, 0xD, 0x1E, 0x1F, 0xE, 5
49
 
};
50
 
 
51
 
const uint8_t ff_atrac3p_wl_huff_bits4[8] = { 1, 3, 4, 4, 5, 5, 4, 3 };
52
 
 
53
 
/** VLC tables for scale factor indexes */
54
 
const uint16_t ff_atrac3p_sf_huff_code1[64] = {
55
 
        0,     2,     3,     4,     5,   0xC,   0xD,  0xE0,
56
 
     0xE1,  0xE2,  0xE3,  0xE4,  0xE5,  0xE6, 0x1CE, 0x1CF,
57
 
    0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7,
58
 
    0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF,
59
 
    0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7,
60
 
    0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF,
61
 
    0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7,
62
 
    0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF
63
 
};
64
 
 
65
 
const uint8_t ff_atrac3p_sf_huff_bits1[64] = {
66
 
    2, 3, 3, 3, 3, 4, 4, 8, 8, 8, 8, 8, 8, 8, 9, 9,
67
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
68
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
69
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
70
 
};
71
 
 
72
 
const uint8_t ff_atrac3p_sf_huff_xlat1[64] = {
73
 
     0,  1, 61, 62, 63,  2, 60,  3,  4,  5,  6, 57, 58, 59,  7,  8,
74
 
     9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
75
 
    25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
76
 
    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56
77
 
};
78
 
 
79
 
const uint8_t ff_atrac3p_sf_huff_xlat2[64] = {
80
 
    0,   1,  2, 62, 63,  3, 61,  4,  5,  6, 57, 58, 59, 60,  7,  8,
81
 
    9,  10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
82
 
    25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
83
 
    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56
84
 
};
85
 
 
86
 
const uint16_t ff_atrac3p_sf_huff_code2[64] = {
87
 
        0,     4,  0x18,  0x19,  0x70, 0x1CA, 0x1CB, 0x1CC,
88
 
    0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4,
89
 
    0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC,
90
 
    0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4,
91
 
    0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC,
92
 
    0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4,
93
 
    0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC,
94
 
    0x1FD, 0x1FE, 0x1FF,  0xE4,  0x71,  0x1A,  0x1B,     5
95
 
};
96
 
 
97
 
const uint8_t ff_atrac3p_sf_huff_bits2[64] = {
98
 
    1, 3, 5, 5, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
99
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
100
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
101
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 5, 5, 3
102
 
};
103
 
 
104
 
const uint16_t ff_atrac3p_sf_huff_code3[64] = {
105
 
        0,     2,     3,  0x18,  0x19,  0x70, 0x1CC, 0x1CD,
106
 
    0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5,
107
 
    0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD,
108
 
    0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5,
109
 
    0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED,
110
 
    0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5,
111
 
    0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD,
112
 
    0x1FE, 0x1FF,  0x71,  0x72,  0x1A,  0x1B,     4,     5
113
 
};
114
 
 
115
 
const uint8_t ff_atrac3p_sf_huff_bits3[64] = {
116
 
    2, 3, 3, 5, 5, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
117
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
118
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
119
 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 7, 7, 5, 5, 3, 3
120
 
};
121
 
 
122
 
const uint16_t ff_atrac3p_sf_huff_code4[16] = {
123
 
    0, 2, 3, 4, 5, 0xC, 0xD, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0, 0x3D, 0x3E, 0x3F
124
 
};
125
 
 
126
 
const uint8_t ff_atrac3p_sf_huff_bits4[16] = {
127
 
    2, 3, 3, 3, 3, 4, 4, 6, 6, 6, 6, 6, 0, 6, 6, 6
128
 
};
129
 
 
130
 
const uint8_t ff_atrac3p_sf_huff_xlat4[16] = {
131
 
    0, 1, 13, 14, 15, 2, 12, 3, 4, 5, 6, 7, 8, 9, 10, 11
132
 
};
133
 
 
134
 
const uint8_t ff_atrac3p_sf_huff_xlat5[16] = {
135
 
    0, 1, 2, 14, 15, 3, 13, 4, 5, 6, 7, 9, 8, 10, 11, 12
136
 
};
137
 
 
138
 
const uint16_t ff_atrac3p_sf_huff_code5[16] = {
139
 
    0,    4,  0xC, 0x1C, 0x78, 0x79, 0x7A, 0x7B,
140
 
    0, 0x7C, 0x7D, 0x7E, 0x7F, 0x1D, 0xD,     5
141
 
};
142
 
 
143
 
const uint8_t ff_atrac3p_sf_huff_bits5[16] = {
144
 
    1, 3, 4, 5, 7, 7, 7, 7, 0, 7, 7, 7, 7, 5, 4, 3
145
 
};
146
 
 
147
 
const uint16_t ff_atrac3p_sf_huff_code6[16] = {
148
 
    0, 2, 3, 0xC, 0x1C, 0x3C, 0x7C, 0x7D, 0, 0x7E, 0x7F, 0x3D, 0x1D, 0xD, 4, 5
149
 
};
150
 
 
151
 
const uint8_t ff_atrac3p_sf_huff_bits6[16] = {
152
 
    2, 3, 3, 4, 5, 6, 7, 7, 0, 7, 7, 6, 5, 4, 3, 3
153
 
};
154
 
 
155
 
/** VLC tables for code table indexes */
156
 
const uint8_t ff_atrac3p_ct_huff_code1[4] = { 0, 2, 6, 7 };
157
 
 
158
 
const uint8_t ff_atrac3p_ct_huff_bits1[4] = { 1, 2, 3, 3 };
159
 
 
160
 
const uint8_t ff_atrac3p_ct_huff_code2[8] = { 0, 2, 3, 4, 5, 6, 0xE, 0xF };
161
 
 
162
 
const uint8_t ff_atrac3p_ct_huff_bits2[8] = { 2, 3, 3, 3, 3, 3, 4, 4 };
163
 
 
164
 
const uint8_t ff_atrac3p_ct_huff_xlat1[8] = { 0, 1, 2, 3, 6, 7, 4, 5 };
165
 
 
166
 
const uint8_t ff_atrac3p_ct_huff_code3[8] = {
167
 
    0, 4, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF
168
 
};
169
 
 
170
 
const uint8_t ff_atrac3p_ct_huff_bits3[8] = { 1, 3, 4, 4, 4, 4, 4, 4 };
171
 
 
172
 
/* weights for quantized word lengths */
173
 
const int8_t ff_atrac3p_wl_weights[6][32] = {
174
 
    { 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0,
175
 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
176
 
    { 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0,
177
 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
178
 
    { 6, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 1, 1,
179
 
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
180
 
    { 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0,
181
 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
182
 
    { 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0,
183
 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
184
 
    { 6, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 2, 1, 1,
185
 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
186
 
};
187
 
 
188
 
/* weights for quantized scale factors
189
 
 * sf_weights[i] = i / (tab_idx + 1)
190
 
 * where tab_idx = [1,2] */
191
 
const int8_t ff_atrac3p_sf_weights[2][32] = {
192
 
    { 0, 0, 1, 1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7,  7,
193
 
      8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15 },
194
 
    { 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4,  4,  5,
195
 
      5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10 }
196
 
};
197
 
 
198
 
/** Ungroup table for word length segments.
199
 
 *  Numbers in this table tell which coeff belongs to which segment. */
200
 
const uint8_t ff_atrac3p_qu_num_to_seg[32] = {
201
 
    0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5,
202
 
    5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9
203
 
};
204
 
 
205
 
/**
206
 
 *  Map quant unit number to its position in the spectrum.
207
 
 *  To get the number of spectral lines in each quant unit do the following:
208
 
 *  num_specs = qu_to_spec_pos[i+1] - qu_to_spec_pos[i]
209
 
 */
210
 
const uint16_t ff_atrac3p_qu_to_spec_pos[33] = {
211
 
      0,    16,   32,   48,   64,   80,   96,  112,
212
 
    128,   160,  192,  224,  256,  288,  320,  352,
213
 
    384,   448,  512,  576,  640,  704,  768,  896,
214
 
    1024, 1152, 1280, 1408, 1536, 1664, 1792, 1920,
215
 
    2048
216
 
};
217
 
 
218
 
/** Map quant unit number to subband number */
219
 
const uint8_t ff_atrac3p_qu_to_subband[32] = {
220
 
    0, 0, 0, 0, 0, 0, 0, 0, 1, 1,  1,  1,  2,  2,  2, 2,
221
 
    3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
222
 
};
223
 
 
224
 
/** Map subband number to number of power compensation groups */
225
 
const int ff_atrac3p_subband_to_num_powgrps[16] = {
226
 
    1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5
227
 
};
228
 
 
229
 
/** 3D base shape tables. The values are grouped together as follows:
230
 
 *  [num_start_values = 8][num_shape_tables = 16][num_seg_coeffs = 9]
231
 
 *  For each of the 8 start values there are 16 different shapes each
232
 
 *  9 coefficients long. */
233
 
const int8_t ff_atrac3p_wl_shapes[8][16][9] = {
234
 
    { {  0,  0,  0,  0,  0,  0,  0, -2, -1 },
235
 
      {  0,  0,  0,  0,  0,  0,  0, -5, -1 },
236
 
      {  0,  0,  0, -7,  0,  0,  0,  0,  0 },
237
 
      {  0,  0,  0,  0,  0, -7,  0,  0,  0 },
238
 
      {  0,  0,  0,  0,  0,  0, -5,  0,  0 },
239
 
      {  0,  0,  0,  0, -5,  0,  0,  0,  0 },
240
 
      { -7, -7,  0,  0,  0,  0,  0,  0,  0 },
241
 
      {  0, -7,  0,  0,  0,  0,  0,  0,  0 },
242
 
      { -2, -2, -5,  0,  0,  0,  0,  0,  0 },
243
 
      {  0,  0,  0, -2, -5,  0,  0,  0,  0 },
244
 
      {  0,  0,  0,  0,  0, -2, -5,  0,  0 },
245
 
      {  0,  0,  0, -5,  0,  0,  0,  0,  0 },
246
 
      {  0, -2, -7, -2,  0,  0,  0,  0,  0 },
247
 
      {  0,  0,  0,  0, -2, -5,  0,  0,  0 },
248
 
      {  0,  0,  0, -5, -5,  0,  0,  0,  0 },
249
 
      {  0,  0,  0, -5, -2,  0,  0,  0,  0 } },
250
 
    { { -1, -5, -3, -2, -1, -1,  0,  0,  0 },
251
 
      { -2, -5, -3, -3, -2, -1, -1,  0,  0 },
252
 
      {  0, -1, -1, -1,  0,  0,  0,  0,  0 },
253
 
      { -1, -3,  0,  0,  0,  0,  0,  0,  0 },
254
 
      { -1, -2,  0,  0,  0,  0,  0,  0,  0 },
255
 
      { -1, -3, -1,  0,  0,  0,  0,  1,  1 },
256
 
      { -1, -5, -3, -3, -2, -1,  0,  0,  0 },
257
 
      { -1, -1, -4, -2, -2, -1, -1,  0,  0 },
258
 
      { -1, -1, -3, -2, -3, -1, -1, -1,  0 },
259
 
      { -1, -4, -2, -3, -1,  0,  0,  0,  0 },
260
 
      {  0, -1, -2, -2, -1, -1,  0,  0,  0 },
261
 
      {  0, -2, -1,  0,  0,  0,  0,  0,  0 },
262
 
      { -1, -1,  0,  0,  0,  0,  0,  0,  0 },
263
 
      { -1, -1, -3, -2, -2, -1, -1, -1,  0 },
264
 
      {  0,  0,  0,  0,  0,  0,  0,  0,  0 },
265
 
      {  0, -1, -3, -2, -2, -1, -1, -1,  0 }, },
266
 
    { { -1, -2,  0,  1,  1,  1,  1,  1,  1 },
267
 
      {  0, -1,  1,  1,  1,  1,  1,  1,  1 },
268
 
      {  0, -2,  1,  1,  1,  1,  1,  1,  1 },
269
 
      {  0, -2,  0,  1,  1,  1,  1,  1,  1 },
270
 
      { -1, -1,  0,  1,  1,  1,  1,  1,  1 },
271
 
      {  0,  0, -1,  0,  1,  1,  1,  1,  1 },
272
 
      { -1, -1,  1,  1,  1,  1,  1,  1,  1 },
273
 
      {  0,  0, -1,  1,  1,  1,  1,  1,  1 },
274
 
      {  0, -1,  0,  1,  1,  1,  1,  1,  1 },
275
 
      { -1, -1, -1,  1,  1,  1,  1,  1,  1 },
276
 
      {  0,  0,  0,  0,  1,  1,  1,  1,  1 },
277
 
      {  0,  0,  0,  1,  1,  1,  1,  1,  1 },
278
 
      {  0, -1, -1,  1,  1,  1,  1,  1,  1 },
279
 
      {  0,  1,  0,  1,  1,  1,  1,  1,  1 },
280
 
      {  0, -3, -2,  1,  1,  1,  1,  2,  2 },
281
 
      { -3, -5, -3,  2,  2,  2,  2,  2,  2 }, },
282
 
    { { -1, -2,  0,  2,  2,  2,  2,  2,  2 },
283
 
      { -1, -2,  0,  1,  2,  2,  2,  2,  2 },
284
 
      {  0, -2,  0,  2,  2,  2,  2,  2,  2 },
285
 
      { -1,  0,  1,  2,  2,  2,  2,  2,  2 },
286
 
      {  0,  0,  1,  2,  2,  2,  2,  2,  2 },
287
 
      {  0, -2,  0,  1,  2,  2,  2,  2,  2 },
288
 
      {  0, -1,  1,  2,  2,  2,  2,  2,  2 },
289
 
      { -1, -1,  0,  2,  2,  2,  2,  2,  2 },
290
 
      { -1, -1,  0,  1,  2,  2,  2,  2,  2 },
291
 
      { -1, -2, -1,  2,  2,  2,  2,  2,  2 },
292
 
      {  0, -1,  0,  2,  2,  2,  2,  2,  2 },
293
 
      {  1,  1,  0,  1,  2,  2,  2,  2,  2 },
294
 
      {  0,  1,  2,  2,  2,  2,  2,  2,  2 },
295
 
      {  1,  0,  0,  1,  2,  2,  2,  2,  2 },
296
 
      {  0,  0,  0,  1,  2,  2,  2,  2,  2 },
297
 
      { -1, -1, -1,  1,  2,  2,  2,  2,  2 }, },
298
 
    { {  0,  1,  2,  3,  3,  3,  3,  3,  3 },
299
 
      {  1,  1,  2,  3,  3,  3,  3,  3,  3 },
300
 
      { -1,  0,  1,  2,  3,  3,  3,  3,  3 },
301
 
      {  0,  0,  2,  3,  3,  3,  3,  3,  3 },
302
 
      { -1,  0,  1,  3,  3,  3,  3,  3,  3 },
303
 
      {  0,  0,  1,  3,  3,  3,  3,  3,  3 },
304
 
      {  1,  2,  3,  3,  3,  3,  3,  3,  3 },
305
 
      {  1,  2,  2,  3,  3,  3,  3,  3,  3 },
306
 
      {  0,  1,  1,  3,  3,  3,  3,  3,  3 },
307
 
      {  0,  0,  1,  2,  3,  3,  3,  3,  3 },
308
 
      { -1,  1,  2,  3,  3,  3,  3,  3,  3 },
309
 
      { -1,  0,  2,  3,  3,  3,  3,  3,  3 },
310
 
      {  2,  2,  3,  3,  3,  3,  3,  3,  3 },
311
 
      {  1,  1,  3,  3,  3,  3,  3,  3,  3 },
312
 
      {  0,  2,  3,  3,  3,  3,  3,  3,  3 },
313
 
      {  0,  1,  1,  2,  3,  3,  3,  3,  3 }, },
314
 
    { {  0,  1,  2,  3,  4,  4,  4,  4,  4 },
315
 
      {  1,  2,  3,  4,  4,  4,  4,  4,  4 },
316
 
      {  0,  0,  2,  3,  4,  4,  4,  4,  4 },
317
 
      {  1,  1,  2,  4,  4,  4,  4,  4,  4 },
318
 
      {  0,  1,  2,  4,  4,  4,  4,  4,  4 },
319
 
      { -1,  0,  1,  3,  4,  4,  4,  4,  4 },
320
 
      {  0,  0,  1,  3,  4,  4,  4,  4,  4 },
321
 
      {  1,  1,  2,  3,  4,  4,  4,  4,  4 },
322
 
      {  0,  1,  1,  3,  4,  4,  4,  4,  4 },
323
 
      {  2,  2,  3,  4,  4,  4,  4,  4,  4 },
324
 
      {  1,  1,  3,  4,  4,  4,  4,  4,  4 },
325
 
      {  1,  2,  2,  4,  4,  4,  4,  4,  4 },
326
 
      { -1,  0,  2,  3,  4,  4,  4,  4,  4 },
327
 
      {  0,  1,  3,  4,  4,  4,  4,  4,  4 },
328
 
      {  1,  2,  2,  3,  4,  4,  4,  4,  4 },
329
 
      {  0,  2,  3,  4,  4,  4,  4,  4,  4 }, },
330
 
    { {  1,  2,  3,  4,  5,  5,  5,  5,  5 },
331
 
      {  0,  1,  2,  3,  4,  5,  5,  5,  5 },
332
 
      {  0,  1,  2,  3,  5,  5,  5,  5,  5 },
333
 
      {  1,  1,  3,  4,  5,  5,  5,  5,  5 },
334
 
      {  1,  1,  2,  4,  5,  5,  5,  5,  5 },
335
 
      {  1,  2,  2,  4,  5,  5,  5,  5,  5 },
336
 
      {  1,  1,  2,  3,  5,  5,  5,  5,  5 },
337
 
      {  2,  2,  3,  4,  5,  5,  5,  5,  5 },
338
 
      {  0,  1,  2,  4,  5,  5,  5,  5,  5 },
339
 
      {  2,  2,  3,  5,  5,  5,  5,  5,  5 },
340
 
      {  1,  2,  3,  5,  5,  5,  5,  5,  5 },
341
 
      {  0,  1,  3,  4,  5,  5,  5,  5,  5 },
342
 
      {  1,  2,  2,  3,  5,  5,  5,  5,  5 },
343
 
      {  2,  3,  4,  5,  5,  5,  5,  5,  5 },
344
 
      {  0,  2,  3,  4,  5,  5,  5,  5,  5 },
345
 
      {  1,  1,  1,  3,  4,  5,  5,  5,  5 }, },
346
 
    { {  1,  2,  3,  4,  5,  5,  5,  6,  6 },
347
 
      {  1,  2,  3,  4,  5,  6,  6,  6,  6 },
348
 
      {  2,  3,  4,  5,  6,  6,  6,  6,  6 },
349
 
      {  1,  2,  3,  4,  6,  6,  6,  6,  6 },
350
 
      {  2,  2,  3,  4,  5,  5,  5,  6,  6 },
351
 
      {  1,  2,  3,  4,  5,  5,  6,  6,  6 },
352
 
      {  2,  2,  3,  4,  6,  6,  6,  6,  6 },
353
 
      {  2,  2,  3,  4,  5,  6,  6,  6,  6 },
354
 
      {  2,  2,  4,  5,  6,  6,  6,  6,  6 },
355
 
      {  2,  2,  3,  5,  6,  6,  6,  6,  6 },
356
 
      {  1,  2,  3,  5,  6,  6,  6,  6,  6 },
357
 
      {  2,  3,  3,  5,  6,  6,  6,  6,  6 },
358
 
      {  1,  2,  4,  5,  6,  6,  6,  6,  6 },
359
 
      {  2,  2,  3,  4,  5,  5,  6,  6,  6 },
360
 
      {  2,  3,  3,  4,  6,  6,  6,  6,  6 },
361
 
      {  1,  3,  4,  5,  6,  6,  6,  6,  6 } }
362
 
};
363
 
 
364
 
/** 2D base shape tables for scale factor coding.
365
 
 *  The values are grouped together as follows:
366
 
 *  [num_shape_tables = 64][num_seg_coeffs = 9] */
367
 
const int8_t ff_atrac3p_sf_shapes[64][9] = {
368
 
    { -3, -2, -1,  0,  3,  5,  6,  8, 40 },
369
 
    { -3, -2,  0,  1,  7,  9, 11, 13, 20 },
370
 
    { -1,  0,  0,  1,  6,  8, 10, 13, 41 },
371
 
    {  0,  0,  0,  2,  5,  5,  6,  8, 14 },
372
 
    {  0,  0,  0,  2,  6,  7,  8, 11, 47 },
373
 
    {  0,  0,  1,  2,  5,  7,  8, 10, 32 },
374
 
    {  0,  0,  1,  3,  8, 10, 12, 14, 47 },
375
 
    {  0,  0,  2,  4,  9, 10, 12, 14, 40 },
376
 
    {  0,  0,  3,  5,  9, 10, 12, 14, 22 },
377
 
    {  0,  1,  3,  5, 10, 14, 18, 22, 31 },
378
 
    {  0,  2,  5,  6, 10, 10, 10, 12, 46 },
379
 
    {  0,  2,  5,  7, 12, 14, 15, 18, 44 },
380
 
    {  1,  1,  4,  5,  7,  7,  8,  9, 15 },
381
 
    {  1,  2,  2,  2,  4,  5,  7,  9, 26 },
382
 
    {  1,  2,  2,  3,  6,  7,  7,  8, 47 },
383
 
    {  1,  2,  2,  3,  6,  8, 10, 13, 22 },
384
 
    {  1,  3,  4,  7, 13, 17, 21, 24, 41 },
385
 
    {  1,  4,  0,  4, 10, 12, 13, 14, 17 },
386
 
    {  2,  3,  3,  3,  6,  8, 10, 13, 48 },
387
 
    {  2,  3,  3,  4,  9, 12, 14, 17, 47 },
388
 
    {  2,  3,  3,  5, 10, 12, 14, 17, 25 },
389
 
    {  2,  3,  5,  7,  8,  9,  9,  9, 13 },
390
 
    {  2,  3,  5,  9, 16, 21, 25, 28, 33 },
391
 
    {  2,  4,  5,  8, 12, 14, 17, 19, 26 },
392
 
    {  2,  4,  6,  8, 12, 13, 13, 15, 20 },
393
 
    {  2,  4,  7, 12, 20, 26, 30, 32, 35 },
394
 
    {  3,  3,  5,  6, 12, 14, 16, 19, 34 },
395
 
    {  3,  4,  4,  5,  7,  9, 10, 11, 48 },
396
 
    {  3,  4,  5,  6,  8,  9, 10, 11, 16 },
397
 
    {  3,  5,  5,  5,  7,  9, 10, 13, 35 },
398
 
    {  3,  5,  5,  7, 10, 12, 13, 15, 49 },
399
 
    {  3,  5,  7,  7,  8,  7,  9, 12, 21 },
400
 
    {  3,  5,  7,  8, 12, 14, 15, 15, 24 },
401
 
    {  3,  5,  7, 10, 16, 21, 24, 27, 44 },
402
 
    {  3,  5,  8, 14, 21, 26, 28, 29, 42 },
403
 
    {  3,  6, 10, 13, 18, 19, 20, 22, 27 },
404
 
    {  3,  6, 11, 16, 24, 27, 28, 29, 31 },
405
 
    {  4,  5,  4,  3,  4,  6,  8, 11, 18 },
406
 
    {  4,  6,  5,  6,  9, 10, 12, 14, 20 },
407
 
    {  4,  6,  7,  6,  6,  6,  7,  8, 46 },
408
 
    {  4,  6,  7,  9, 13, 16, 18, 20, 48 },
409
 
    {  4,  6,  7,  9, 14, 17, 20, 23, 31 },
410
 
    {  4,  6,  9, 11, 14, 15, 15, 17, 21 },
411
 
    {  4,  8, 13, 20, 27, 32, 35, 36, 38 },
412
 
    {  5,  6,  6,  4,  5,  6,  7,  6,  6 },
413
 
    {  5,  7,  7,  8,  9,  9, 10, 12, 49 },
414
 
    {  5,  8,  9,  9, 10, 11, 12, 13, 42 },
415
 
    {  5,  8, 10, 12, 15, 16, 17, 19, 42 },
416
 
    {  5,  8, 12, 17, 26, 31, 32, 33, 44 },
417
 
    {  5,  9, 13, 16, 20, 22, 23, 23, 35 },
418
 
    {  6,  8,  8,  7,  6,  5,  6,  8, 15 },
419
 
    {  6,  8,  8,  8,  9, 10, 12, 16, 24 },
420
 
    {  6,  8,  8,  9, 10, 10, 11, 11, 13 },
421
 
    {  6,  8, 10, 13, 19, 21, 24, 26, 32 },
422
 
    {  6,  9, 10, 11, 13, 13, 14, 16, 49 },
423
 
    {  7,  9,  9, 10, 13, 14, 16, 19, 27 },
424
 
    {  7, 10, 12, 13, 16, 16, 17, 17, 27 },
425
 
    {  7, 10, 12, 14, 17, 19, 20, 22, 48 },
426
 
    {  8,  9, 10,  9, 10, 11, 11, 11, 19 },
427
 
    {  8, 11, 12, 12, 13, 13, 13, 13, 17 },
428
 
    {  8, 11, 13, 14, 16, 17, 19, 20, 27 },
429
 
    {  8, 12, 17, 22, 26, 28, 29, 30, 33 },
430
 
    { 10, 14, 16, 19, 21, 22, 22, 24, 28 },
431
 
    { 10, 15, 17, 18, 21, 22, 23, 25, 43 }
432
 
};
433
 
 
434
 
const uint8_t ff_atrac3p_ct_restricted_to_full[2][7][4] = {
435
 
    { { 0, 5, 4, 1 },
436
 
      { 0, 1, 2, 3 },
437
 
      { 3, 0, 4, 2 },
438
 
      { 4, 0, 1, 2 },
439
 
      { 1, 0, 4, 3 },
440
 
      { 3, 0, 2, 1 },
441
 
      { 0, 3, 1, 2 } },
442
 
    { { 4, 0, 1, 2 },
443
 
      { 0, 3, 2, 1 },
444
 
      { 0, 1, 2, 3 },
445
 
      { 0, 1, 2, 4 },
446
 
      { 0, 1, 2, 3 },
447
 
      { 1, 4, 2, 0 },
448
 
      { 0, 1, 2, 3 } }
449
 
};
450
 
 
451
 
/* Scalefactors table. */
452
 
/* Approx. Equ: pow(2.0, (i - 16.0 + 0.501783948) / 3.0) */
453
 
const float ff_atrac3p_sf_tab[64] = {
454
 
    0.027852058,  0.0350914, 0.044212341, 0.055704117,  0.0701828,
455
 
    0.088424683, 0.11140823,   0.1403656,  0.17684937, 0.22281647, 0.2807312, 0.35369873,
456
 
    0.44563293,   0.5614624,  0.70739746,  0.89126587,  1.1229248, 1.4147949,  1.7825317,
457
 
    2.2458496,    2.8295898,   3.5650635,   4.4916992,  5.6591797,  7.130127,  8.9833984,
458
 
    11.318359,    14.260254,   17.966797,   22.636719,  28.520508, 35.933594,  45.273438,
459
 
    57.041016,    71.867188,   90.546875,   114.08203,  143.73438, 181.09375,  228.16406,
460
 
    287.46875,     362.1875,   456.32812,    574.9375,    724.375, 912.65625,   1149.875,
461
 
    1448.75,      1825.3125,     2299.75,      2897.5,   3650.625,    4599.5,     5795.0,
462
 
    7301.25,         9199.0,     11590.0,     14602.5,    18398.0,   23180.0,    29205.0,
463
 
    36796.0,        46360.0,     58410.0
464
 
};
465
 
 
466
 
/* Mantissa table. */
467
 
/* pow(10, x * log10(2) + 0.05) / 2 / ([1,2,3,5,7,15,31] + 0.5) */
468
 
const float ff_atrac3p_mant_tab[8] = {
469
 
    0.0,
470
 
    0.74801636,
471
 
    0.44882202,
472
 
    0.32058716,
473
 
    0.20400238,
474
 
    0.1496048,
475
 
    0.07239151,
476
 
    0.035619736
477
 
};
478
 
 
479
 
/** Tables for spectrum coding */
480
 
static const uint8_t huff_a01_cb[14] = {
481
 
    1, 12, 1, 0, 0, 1, 7, 0, 19, 5, 13, 21, 6, 8
482
 
};
483
 
 
484
 
static const uint8_t huff_a01_xlat[81] = {
485
 
    0x00, 0x03, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x01, 0x50, 0xD0, 0x70,
486
 
    0xF0, 0xC4, 0x14, 0x34, 0x4C, 0x1C, 0x3C, 0x41, 0xC1, 0x31, 0x05, 0x0D,
487
 
    0xC3, 0x13, 0x07, 0x0F, 0x44, 0xCC, 0x11, 0x43, 0x33, 0x54, 0x74, 0xDC,
488
 
    0xFC, 0x71, 0x15, 0x4D, 0xCD, 0x1D, 0xD3, 0xC7, 0x37, 0x3F, 0xD4, 0xF4,
489
 
    0x5C, 0x7C, 0x51, 0xD1, 0xF1, 0x45, 0xC5, 0x35, 0xDD, 0x3D, 0x53, 0x73,
490
 
    0xF3, 0x47, 0x17, 0x77, 0x4F, 0xCF, 0x1F, 0x55, 0xF5, 0x7D, 0xD7, 0x5F,
491
 
    0xFF, 0xD5, 0x75, 0x5D, 0xFD, 0x57, 0xF7, 0xDF, 0x7F
492
 
};
493
 
 
494
 
static const uint8_t huff_a02_cb[13] = {
495
 
    2, 12, 1, 0, 4, 11, 0, 1, 29, 6, 20, 7, 2
496
 
};
497
 
 
498
 
static const uint8_t huff_a02_xlat[81] = {
499
 
    0x00, 0x40, 0x10, 0x04, 0x01, 0x50, 0x44, 0x14, 0x54, 0x41, 0x11, 0x51,
500
 
    0x05, 0x45, 0x15, 0x55, 0x90, 0x80, 0x20, 0x60, 0x84, 0x94, 0x24, 0x64,
501
 
    0x08, 0x48, 0x18, 0x58, 0x81, 0x91, 0x21, 0x85, 0x95, 0x65, 0x09, 0x49,
502
 
    0x19, 0x59, 0x02, 0x42, 0x12, 0x52, 0x06, 0x46, 0x16, 0x56, 0x88, 0x61,
503
 
    0x25, 0x29, 0x69, 0x5A, 0xA0, 0xA4, 0x98, 0x28, 0x68, 0xA1, 0xA5, 0x89,
504
 
    0x99, 0xA9, 0x82, 0x92, 0x22, 0x62, 0x96, 0x26, 0x66, 0x0A, 0x4A, 0x1A,
505
 
    0xA8, 0x86, 0xA6, 0x8A, 0x9A, 0x2A, 0x6A, 0xA2, 0xAA
506
 
};
507
 
 
508
 
static const uint8_t huff_a03_cb[9] = { 3, 9, 1, 8, 0, 13, 18, 7, 2 };
509
 
 
510
 
static const uint8_t huff_a03_xlat[49] = {
511
 
    0x00, 0x08, 0x38, 0x01, 0x09, 0x39, 0x07, 0x0F, 0x3F, 0x10, 0x30, 0x11,
512
 
    0x31, 0x02, 0x0A, 0x3A, 0x05, 0x06, 0x0E, 0x3E, 0x17, 0x37, 0x18, 0x28,
513
 
    0x19, 0x29, 0x2A, 0x32, 0x03, 0x0B, 0x33, 0x3B, 0x0D, 0x15, 0x3D, 0x16,
514
 
    0x1E, 0x36, 0x1F, 0x2F, 0x12, 0x1A, 0x13, 0x2B, 0x1D, 0x35, 0x2E, 0x1B,
515
 
    0x2D
516
 
};
517
 
 
518
 
static const uint8_t huff_a04_cb[4]   = { 2, 3, 2, 4 };
519
 
static const uint8_t huff_a04_xlat[6] = { 1, 2, 0, 3, 4, 5 };
520
 
 
521
 
static const uint8_t huff_a05_cb[12] = {
522
 
    3, 12, 1, 3, 5, 8, 12, 23, 72, 68, 31, 2
523
 
};
524
 
 
525
 
static const uint8_t huff_a05_xlat[225] = {
526
 
    0x00, 0x10, 0xF0, 0x01, 0x11, 0xF1, 0x0F, 0x1F, 0xFF, 0x20, 0xE0, 0xE1,
527
 
    0x02, 0xF2, 0x0E, 0x1E, 0x2F, 0x30, 0xD0, 0x21, 0x12, 0x22, 0xE2, 0x03,
528
 
    0x0D, 0x2E, 0xEE, 0xFE, 0xEF, 0x40, 0xC0, 0x31, 0xC1, 0xD1, 0x32, 0xD2,
529
 
    0x13, 0x23, 0xE3, 0xF3, 0x04, 0xF4, 0x0C, 0x1C, 0x1D, 0x2D, 0xED, 0xFD,
530
 
    0x3E, 0xDE, 0x3F, 0xDF, 0x50, 0x60, 0x70, 0x90, 0xA0, 0xB0, 0x41, 0x51,
531
 
    0x61, 0x71, 0x91, 0xA1, 0xB1, 0x42, 0x62, 0x92, 0xA2, 0xC2, 0x33, 0xC3,
532
 
    0xD3, 0x14, 0x24, 0x34, 0xD4, 0xE4, 0x05, 0x15, 0xF5, 0x06, 0x16, 0x26,
533
 
    0xE6, 0xF6, 0x07, 0x17, 0xE7, 0xF7, 0x09, 0x19, 0x29, 0xF9, 0x0A, 0x1A,
534
 
    0x2A, 0xEA, 0xFA, 0x0B, 0x1B, 0xFB, 0x2C, 0x3C, 0xDC, 0xEC, 0xFC, 0x3D,
535
 
    0x4D, 0xCD, 0xDD, 0x4E, 0x6E, 0x7E, 0xAE, 0xCE, 0x4F, 0x5F, 0x6F, 0x7F,
536
 
    0x9F, 0xAF, 0xBF, 0xCF, 0x52, 0x72, 0xB2, 0x43, 0x53, 0x63, 0x73, 0x93,
537
 
    0xA3, 0xB3, 0x44, 0x64, 0x74, 0x94, 0xA4, 0xB4, 0xC4, 0x25, 0x35, 0xA5,
538
 
    0xC5, 0xD5, 0xE5, 0x36, 0x46, 0xB6, 0xC6, 0xD6, 0x27, 0x37, 0x47, 0xB7,
539
 
    0xC7, 0xD7, 0x39, 0x49, 0x59, 0xC9, 0xD9, 0xE9, 0x3A, 0x4A, 0x5A, 0xCA,
540
 
    0xDA, 0x2B, 0x3B, 0x4B, 0x6B, 0x7B, 0xDB, 0xEB, 0x4C, 0x5C, 0x6C, 0x7C,
541
 
    0x9C, 0xAC, 0xCC, 0x5D, 0x6D, 0x7D, 0x9D, 0xAD, 0xBD, 0x5E, 0x9E, 0xBE,
542
 
    0x54, 0x45, 0x55, 0x65, 0x75, 0x95, 0xB5, 0x56, 0x66, 0x76, 0x96, 0xA6,
543
 
    0x57, 0x67, 0x97, 0xA7, 0x69, 0x79, 0xA9, 0xB9, 0x6A, 0x7A, 0x9A, 0xAA,
544
 
    0xBA, 0x5B, 0x9B, 0xAB, 0xBB, 0xCB, 0xBC, 0x77, 0x99
545
 
};
546
 
 
547
 
static const uint8_t huff_a06_cb[7] = {
548
 
    2, 6, 1, 3, 2, 6, 4
549
 
};
550
 
 
551
 
static const uint8_t huff_a06_xlat[16] = {
552
 
    1, 0, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 10, 11, 12, 15
553
 
};
554
 
 
555
 
static const uint8_t huff_a07_cb[11] = {
556
 
    2, 10, 1, 2, 2, 2, 6, 14, 21, 13, 2
557
 
};
558
 
 
559
 
static const uint8_t huff_a07_xlat[63] = {
560
 
    0,   1, 63,  2, 62,  3, 61,  4,  5,  6, 58, 59, 60,  7,  8,  9,
561
 
    10, 26, 27, 28, 36, 37, 38, 54, 55, 56, 57, 11, 12, 13, 14, 15,
562
 
    16, 25, 29, 30, 31, 33, 34, 35, 39, 47, 48, 49, 50, 51, 52, 53,
563
 
    17, 18, 19, 20, 21, 22, 23, 41, 42, 43, 44, 45, 46, 24, 40
564
 
};
565
 
 
566
 
static const uint8_t huff_a11_cb[13] = {
567
 
    1, 11, 1, 0, 0, 0, 8, 1, 18, 9, 22, 10, 12
568
 
};
569
 
 
570
 
static const uint8_t huff_a11_xlat[81] = {
571
 
    0x00, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x01, 0x03, 0xD0, 0x50, 0x70,
572
 
    0xF0, 0xC4, 0x34, 0x4C, 0xCC, 0x1C, 0x41, 0xC1, 0x31, 0x05, 0x0D, 0x43,
573
 
    0xC3, 0x13, 0x07, 0x0F, 0x44, 0x14, 0x74, 0xDC, 0x3C, 0x11, 0x1D, 0x33,
574
 
    0x37, 0x54, 0xD4, 0xF4, 0x5C, 0x7C, 0xFC, 0xD1, 0x71, 0xF1, 0x15, 0x35,
575
 
    0x4D, 0xCD, 0xDD, 0x3D, 0xD3, 0x73, 0x47, 0xC7, 0x17, 0x77, 0x3F, 0x51,
576
 
    0x45, 0xC5, 0x55, 0x53, 0xF3, 0x4F, 0xCF, 0x1F, 0xFF, 0xD5, 0x75, 0xF5,
577
 
    0x5D, 0x7D, 0xFD, 0x57, 0xD7, 0xF7, 0x5F, 0xDF, 0x7F
578
 
};
579
 
 
580
 
static const uint8_t huff_a12_cb[8] = { 5, 10, 16, 11, 32, 19, 1, 2 };
581
 
 
582
 
static const uint8_t huff_a12_xlat[81] = {
583
 
    0x00, 0x40, 0x10, 0x50, 0x04, 0x44, 0x14, 0x54, 0x01, 0x41, 0x11, 0x51,
584
 
    0x05, 0x45, 0x15, 0x55, 0x90, 0x94, 0x58, 0x91, 0x95, 0x19, 0x59, 0x06,
585
 
    0x46, 0x16, 0x56, 0x80, 0x60, 0x84, 0x24, 0x64, 0xA4, 0x08, 0x48, 0x18,
586
 
    0x68, 0x81, 0x21, 0x61, 0xA1, 0x85, 0x25, 0x65, 0xA5, 0x09, 0x49, 0x99,
587
 
    0x69, 0xA9, 0x02, 0x42, 0x12, 0x52, 0x96, 0x26, 0x66, 0x1A, 0x5A, 0x20,
588
 
    0xA0, 0x88, 0x98, 0x28, 0xA8, 0x89, 0x29, 0x82, 0x92, 0x22, 0x62, 0x86,
589
 
    0xA6, 0x0A, 0x4A, 0x9A, 0x6A, 0xAA, 0xA2, 0x8A, 0x2A
590
 
};
591
 
 
592
 
static const uint8_t huff_a13_cb[12] = {
593
 
    1, 10, 1, 0, 0, 4, 2, 2, 9, 15, 12, 4
594
 
};
595
 
 
596
 
static const uint8_t huff_a13_xlat[49] = {
597
 
    0x00, 0x08, 0x38, 0x01, 0x07, 0x39, 0x0F, 0x09, 0x3F, 0x10, 0x30, 0x31,
598
 
    0x02, 0x3A, 0x06, 0x0E, 0x3E, 0x17, 0x18, 0x28, 0x11, 0x29, 0x0A, 0x32,
599
 
    0x03, 0x0B, 0x3B, 0x05, 0x0D, 0x3D, 0x16, 0x1F, 0x37, 0x19, 0x12, 0x1A,
600
 
    0x2A, 0x13, 0x33, 0x15, 0x35, 0x1E, 0x2E, 0x36, 0x2F, 0x1B, 0x2B, 0x1D,
601
 
    0x2D
602
 
};
603
 
 
604
 
static const uint8_t huff_a14_cb[12] = {
605
 
    2, 11, 1, 0, 4, 3, 5, 16, 28, 34, 26, 4
606
 
};
607
 
 
608
 
static const uint8_t huff_a14_xlat[121] = {
609
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0xF1, 0x1F, 0xFF, 0x20, 0xE0, 0x11, 0x02,
610
 
    0x0E, 0x30, 0x50, 0xB0, 0xD0, 0x21, 0xE1, 0x12, 0xF2, 0x03, 0x05, 0x0B,
611
 
    0x0D, 0x1E, 0xFE, 0x2F, 0xEF, 0x40, 0xC0, 0x31, 0x51, 0xB1, 0xC1, 0xD1,
612
 
    0x22, 0x52, 0xE2, 0x13, 0xF3, 0x04, 0x15, 0xF5, 0x1B, 0xEB, 0xFB, 0x0C,
613
 
    0x1D, 0xFD, 0x2E, 0x5E, 0xEE, 0x3F, 0x5F, 0xBF, 0xDF, 0x41, 0x32, 0x42,
614
 
    0xB2, 0xD2, 0x23, 0x53, 0xB3, 0xE3, 0x14, 0x24, 0xE4, 0xF4, 0x25, 0x35,
615
 
    0xD5, 0xE5, 0x2B, 0x3B, 0xDB, 0x1C, 0x2C, 0xBC, 0xEC, 0xFC, 0x2D, 0xBD,
616
 
    0xED, 0x3E, 0x4E, 0xBE, 0xDE, 0x4F, 0xCF, 0xC2, 0x33, 0x43, 0xC3, 0xD3,
617
 
    0x34, 0x44, 0x54, 0xB4, 0xD4, 0x45, 0x55, 0xC5, 0x4B, 0xCB, 0x3C, 0x4C,
618
 
    0x5C, 0xCC, 0xDC, 0x3D, 0x4D, 0x5D, 0xCD, 0xDD, 0xCE, 0xC4, 0xB5, 0x5B,
619
 
    0xBB
620
 
};
621
 
 
622
 
static const uint8_t huff_a15_cb[9] = { 5, 11, 9, 12, 16, 44, 98, 42, 4 };
623
 
 
624
 
static const uint8_t huff_a15_xlat[225] = {
625
 
    0x00, 0x10, 0xF0, 0x01, 0x11, 0xF1, 0x0F, 0x1F, 0xFF, 0x20, 0xE0, 0x21,
626
 
    0xE1, 0x02, 0x12, 0xF2, 0x0E, 0x1E, 0xFE, 0x2F, 0xEF, 0x30, 0xD0, 0x31,
627
 
    0xD1, 0x22, 0xE2, 0x03, 0x13, 0xF3, 0x0D, 0x1D, 0xFD, 0x2E, 0xEE, 0x3F,
628
 
    0xDF, 0x40, 0x60, 0x70, 0x90, 0xA0, 0xC0, 0x41, 0xC1, 0x32, 0x42, 0xC2,
629
 
    0xD2, 0x23, 0x33, 0xD3, 0xE3, 0x04, 0x14, 0x24, 0xE4, 0xF4, 0x06, 0x16,
630
 
    0xF6, 0x07, 0x09, 0x0A, 0x1A, 0xFA, 0x0C, 0x1C, 0x2C, 0xEC, 0xFC, 0x2D,
631
 
    0x3D, 0xDD, 0xED, 0x3E, 0x4E, 0xCE, 0xDE, 0x4F, 0xCF, 0x50, 0xB0, 0x51,
632
 
    0x61, 0x71, 0x91, 0xA1, 0xB1, 0x52, 0x62, 0x72, 0x92, 0xA2, 0xB2, 0x43,
633
 
    0x53, 0x63, 0x73, 0x93, 0xA3, 0xC3, 0x34, 0x44, 0x64, 0xA4, 0xC4, 0xD4,
634
 
    0x05, 0x15, 0x25, 0x35, 0xD5, 0xE5, 0xF5, 0x26, 0x36, 0x46, 0xC6, 0xD6,
635
 
    0xE6, 0x17, 0x27, 0x37, 0xC7, 0xD7, 0xE7, 0xF7, 0x19, 0x29, 0x39, 0xC9,
636
 
    0xD9, 0xE9, 0xF9, 0x2A, 0x3A, 0x4A, 0x5A, 0xCA, 0xDA, 0xEA, 0x0B, 0x1B,
637
 
    0x2B, 0x3B, 0xCB, 0xDB, 0xEB, 0xFB, 0x3C, 0x4C, 0x6C, 0x7C, 0x9C, 0xAC,
638
 
    0xBC, 0xCC, 0xDC, 0x4D, 0x5D, 0x6D, 0x7D, 0x9D, 0xAD, 0xBD, 0xCD, 0x5E,
639
 
    0x6E, 0x7E, 0x9E, 0xAE, 0xBE, 0x5F, 0x6F, 0x7F, 0x9F, 0xAF, 0xBF, 0xB3,
640
 
    0x54, 0x74, 0x94, 0xB4, 0x45, 0x55, 0x65, 0x75, 0x95, 0xA5, 0xB5, 0xC5,
641
 
    0x56, 0x66, 0x76, 0x96, 0xA6, 0xB6, 0x47, 0x57, 0x67, 0xA7, 0xB7, 0x49,
642
 
    0x59, 0x69, 0xA9, 0xB9, 0x6A, 0x7A, 0x9A, 0xAA, 0xBA, 0x4B, 0x5B, 0x6B,
643
 
    0x7B, 0x9B, 0xAB, 0xBB, 0x5C, 0x77, 0x97, 0x79, 0x99
644
 
};
645
 
 
646
 
static const uint8_t huff_a16_cb[13] = {
647
 
    2, 12, 1, 1, 2, 2, 5, 7, 21, 54, 85, 62, 16
648
 
};
649
 
 
650
 
static const uint8_t huff_a16_xlat[256] = {
651
 
    0x00, 0x01, 0x10, 0x11, 0x21, 0x12, 0x20, 0x31, 0x02, 0x22, 0x13, 0x30,
652
 
    0x41, 0x32, 0x03, 0x23, 0x14, 0x24, 0x40, 0x51, 0x61, 0xD1, 0xE1, 0x42,
653
 
    0x52, 0xD2, 0x33, 0x43, 0xD3, 0x04, 0x34, 0x05, 0x15, 0x25, 0x16, 0x1D,
654
 
    0x2D, 0x1E, 0x2E, 0x50, 0x60, 0xD0, 0xE0, 0xF0, 0x71, 0x81, 0xF1, 0x62,
655
 
    0x72, 0xE2, 0xF2, 0x53, 0x63, 0xE3, 0xF3, 0x44, 0x54, 0xD4, 0xE4, 0xF4,
656
 
    0x35, 0x45, 0x55, 0xD5, 0xE5, 0xF5, 0x06, 0x26, 0x36, 0xD6, 0x07, 0x17,
657
 
    0x27, 0x37, 0xD7, 0x18, 0x28, 0x1C, 0x0D, 0x3D, 0x4D, 0x5D, 0x6D, 0x8D,
658
 
    0x0E, 0x3E, 0x4E, 0x5E, 0x0F, 0x1F, 0x2F, 0x3F, 0x5F, 0x70, 0x80, 0x90,
659
 
    0xC0, 0x91, 0xA1, 0xB1, 0xC1, 0x82, 0x92, 0xA2, 0xC2, 0x73, 0x83, 0x93,
660
 
    0xA3, 0xC3, 0x64, 0x74, 0x84, 0x94, 0xA4, 0xC4, 0x65, 0x75, 0x85, 0x46,
661
 
    0x56, 0x66, 0xC6, 0xE6, 0xF6, 0x47, 0x57, 0xE7, 0xF7, 0x08, 0x38, 0x48,
662
 
    0x58, 0x68, 0xD8, 0xE8, 0xF8, 0x09, 0x19, 0x29, 0x39, 0x59, 0xD9, 0xE9,
663
 
    0xF9, 0x1A, 0x2A, 0x3A, 0xDA, 0xEA, 0xFA, 0x1B, 0x2B, 0xDB, 0xEB, 0xFB,
664
 
    0x0C, 0x2C, 0x3C, 0xDC, 0xEC, 0x7D, 0x9D, 0xAD, 0xBD, 0xCD, 0x6E, 0x7E,
665
 
    0x8E, 0x9E, 0xAE, 0xBE, 0xCE, 0x4F, 0x6F, 0x7F, 0x8F, 0xAF, 0xA0, 0xB2,
666
 
    0xB3, 0xB4, 0x95, 0xA5, 0xB5, 0xC5, 0x76, 0x86, 0x96, 0xA6, 0xB6, 0x67,
667
 
    0x77, 0x87, 0x97, 0xC7, 0x78, 0x88, 0x98, 0xC8, 0x49, 0x69, 0x79, 0x89,
668
 
    0x99, 0xC9, 0x0A, 0x4A, 0x5A, 0x6A, 0x7A, 0xCA, 0x0B, 0x3B, 0x4B, 0x5B,
669
 
    0x6B, 0xCB, 0x4C, 0x5C, 0x6C, 0x7C, 0x8C, 0x9C, 0xAC, 0xBC, 0xCC, 0xFC,
670
 
    0xDD, 0xED, 0xFD, 0xDE, 0xEE, 0xFE, 0x9F, 0xBF, 0xCF, 0xDF, 0xEF, 0xFF,
671
 
    0xB0, 0xA7, 0xB7, 0xA8, 0xB8, 0xA9, 0xB9, 0x8A, 0x9A, 0xAA, 0xBA, 0x7B,
672
 
    0x8B, 0x9B, 0xAB, 0xBB
673
 
};
674
 
 
675
 
static const uint8_t huff_a17_cb[9] = { 3, 9, 3, 2, 5, 7, 17, 23, 6 };
676
 
 
677
 
static const uint8_t huff_a17_xlat[63] = {
678
 
    0,   1, 63,  2, 62,  3,  4, 59, 60, 61,  5,  6,  7,  8, 56, 57,
679
 
    58,  9, 10, 11, 12, 13, 14, 26, 27, 36, 37, 38, 50, 51, 52, 53,
680
 
    54, 55, 15, 16, 17, 18, 19, 20, 21, 25, 28, 29, 30, 31, 33, 34,
681
 
    35, 39, 43, 44, 45, 46, 47, 48, 49, 22, 23, 24, 40, 41, 42
682
 
};
683
 
 
684
 
static const uint8_t huff_a21_cb[14] = {
685
 
    1, 12, 1, 0, 0, 2, 6, 0, 7, 21, 15, 17, 8, 4
686
 
};
687
 
 
688
 
static const uint8_t huff_a21_xlat[81] = {
689
 
    0x00, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x01, 0x03, 0xD0, 0x70, 0x34,
690
 
    0x1C, 0x0D, 0x13, 0x07, 0x50, 0xF0, 0x44, 0xC4, 0x14, 0x74, 0x4C, 0xCC,
691
 
    0xDC, 0x3C, 0x41, 0xC1, 0x11, 0x31, 0x05, 0x1D, 0x43, 0xC3, 0x33, 0x37,
692
 
    0x0F, 0x54, 0xF4, 0xFC, 0xD1, 0x71, 0x15, 0x4D, 0xCD, 0xDD, 0xD3, 0x73,
693
 
    0x47, 0xC7, 0x77, 0x3F, 0xD4, 0x5C, 0x7C, 0x51, 0xF1, 0x45, 0xC5, 0x55,
694
 
    0x35, 0x3D, 0x53, 0xF3, 0x17, 0x4F, 0xCF, 0x1F, 0xFF, 0x75, 0xF5, 0x5D,
695
 
    0x7D, 0xD7, 0xF7, 0x5F, 0xDF, 0xD5, 0xFD, 0x57, 0x7F
696
 
};
697
 
 
698
 
static const uint8_t huff_a22_cb[10] = { 2, 9, 1, 4, 0, 4, 3, 8, 3, 2 };
699
 
 
700
 
static const uint8_t huff_a22_xlat[25] = {
701
 
    0x00, 0x08, 0x38, 0x01, 0x07, 0x09, 0x39, 0x0F, 0x3F, 0x10, 0x02, 0x06,
702
 
    0x30, 0x11, 0x31, 0x0A, 0x3A, 0x0E, 0x17, 0x37, 0x32, 0x16, 0x3E, 0x12,
703
 
    0x36
704
 
};
705
 
 
706
 
static const uint8_t huff_a23_cb[9] = { 3, 9, 5, 0, 4, 6, 10, 16, 8 };
707
 
 
708
 
static const uint8_t huff_a23_xlat[49] = {
709
 
    0x00, 0x08, 0x38, 0x01, 0x07, 0x09, 0x39, 0x0F, 0x3F, 0x10, 0x30, 0x02,
710
 
    0x3A, 0x06, 0x0E, 0x18, 0x28, 0x11, 0x31, 0x0A, 0x03, 0x05, 0x3E, 0x17,
711
 
    0x37, 0x19, 0x29, 0x12, 0x2A, 0x32, 0x0B, 0x33, 0x3B, 0x0D, 0x15, 0x3D,
712
 
    0x16, 0x1E, 0x36, 0x1F, 0x2F, 0x1A, 0x13, 0x1B, 0x2B, 0x1D, 0x2D, 0x35,
713
 
    0x2E
714
 
};
715
 
 
716
 
static const uint8_t huff_a24_cb[5] = { 2, 4, 3, 1, 2 };
717
 
 
718
 
static const uint8_t huff_a25_cb[5] = { 2, 4, 1, 5, 2 };
719
 
 
720
 
static const uint8_t huff_a25_xlat[8] = { 1, 0, 2, 3, 4, 5, 6, 7 };
721
 
 
722
 
static const uint8_t huff_a26_cb[10] = { 4, 11, 3, 4, 12, 15, 34, 83, 75, 30 };
723
 
 
724
 
static const uint8_t huff_a26_xlat[256] = {
725
 
    0x00, 0x01, 0x11, 0x10, 0x21, 0x12, 0x22, 0x20, 0x30, 0x31, 0x41, 0x02,
726
 
    0x32, 0x03, 0x13, 0x23, 0x33, 0x14, 0x24, 0x40, 0x51, 0x61, 0x42, 0x52,
727
 
    0x43, 0x53, 0x04, 0x34, 0x44, 0x15, 0x25, 0x35, 0x16, 0x26, 0x50, 0x60,
728
 
    0x71, 0x81, 0xD1, 0x62, 0x72, 0x82, 0xD2, 0x63, 0x73, 0xD3, 0x54, 0x64,
729
 
    0x05, 0x45, 0x55, 0x65, 0x06, 0x36, 0x46, 0x56, 0x17, 0x27, 0x37, 0x47,
730
 
    0x18, 0x28, 0x38, 0x19, 0x1D, 0x2D, 0x3D, 0x1E, 0x70, 0x80, 0x90, 0xD0,
731
 
    0xE0, 0x91, 0xA1, 0xB1, 0xC1, 0xE1, 0xF1, 0x92, 0xA2, 0xC2, 0xE2, 0xF2,
732
 
    0x83, 0x93, 0xA3, 0xC3, 0xE3, 0xF3, 0x74, 0x84, 0x94, 0xA4, 0xC4, 0xD4,
733
 
    0xE4, 0xF4, 0x75, 0x85, 0x95, 0xD5, 0xE5, 0x66, 0x76, 0x86, 0xD6, 0xE6,
734
 
    0x07, 0x57, 0x67, 0x77, 0xD7, 0x08, 0x48, 0x58, 0x68, 0xD8, 0x09, 0x29,
735
 
    0x39, 0x49, 0x59, 0x69, 0x1A, 0x2A, 0x3A, 0x4A, 0x1B, 0x2B, 0x1C, 0x2C,
736
 
    0x3C, 0x4C, 0x0D, 0x4D, 0x5D, 0x6D, 0x7D, 0x8D, 0x0E, 0x2E, 0x3E, 0x4E,
737
 
    0x5E, 0x6E, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0xA0, 0xB0, 0xC0, 0xF0, 0xB2,
738
 
    0xB3, 0xB4, 0xA5, 0xB5, 0xC5, 0xF5, 0x96, 0xA6, 0xB6, 0xC6, 0xF6, 0x87,
739
 
    0x97, 0xA7, 0xB7, 0xC7, 0xE7, 0xF7, 0x78, 0x88, 0x98, 0xA8, 0xC8, 0xE8,
740
 
    0xF8, 0x79, 0x89, 0x99, 0xC9, 0xD9, 0xE9, 0xF9, 0x0A, 0x5A, 0x6A, 0x7A,
741
 
    0x8A, 0xDA, 0xEA, 0xFA, 0x0B, 0x3B, 0x4B, 0x5B, 0x6B, 0x7B, 0x8B, 0xDB,
742
 
    0x0C, 0x5C, 0x6C, 0x7C, 0x8C, 0x9C, 0xDC, 0x9D, 0xAD, 0xBD, 0xCD, 0x7E,
743
 
    0x8E, 0x9E, 0xAE, 0xBE, 0x0F, 0x6F, 0x7F, 0x8F, 0x9F, 0xAF, 0xB8, 0xA9,
744
 
    0xB9, 0x9A, 0xAA, 0xBA, 0xCA, 0x9B, 0xAB, 0xBB, 0xCB, 0xEB, 0xFB, 0xAC,
745
 
    0xBC, 0xCC, 0xEC, 0xFC, 0xDD, 0xED, 0xFD, 0xCE, 0xDE, 0xEE, 0xFE, 0xBF,
746
 
    0xCF, 0xDF, 0xEF, 0xFF
747
 
};
748
 
 
749
 
static const uint8_t huff_a27_cb[7] = { 4, 8, 3, 14, 10, 20, 16 };
750
 
 
751
 
static const uint8_t huff_a27_xlat[63] = {
752
 
     0,  2,  3,  1,  5,  6,  7,  9, 54, 55, 56, 58, 59, 60, 61, 62,
753
 
    63,  4,  8, 10, 11, 12, 14, 49, 52, 53, 57, 13, 15, 16, 17, 18,
754
 
    19, 22, 23, 25, 26, 30, 39, 43, 44, 45, 46, 47, 48, 50, 51, 20,
755
 
    21, 24, 27, 28, 29, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42
756
 
};
757
 
 
758
 
static const uint8_t huff_a31_cb[8] = { 1, 6, 1, 0, 3, 1, 0, 4 };
759
 
 
760
 
static const uint8_t huff_a31_xlat[9] = {
761
 
    0x00, 0x04, 0x0C, 0x01, 0x03, 0x05, 0x0D, 0x07, 0x0F
762
 
};
763
 
 
764
 
static const uint8_t huff_a32_cb[13] = {
765
 
    1, 11, 1, 0, 0, 2, 2, 6, 12, 18, 19, 15, 6
766
 
};
767
 
 
768
 
static const uint8_t huff_a32_xlat[81] = {
769
 
    0x00, 0x40, 0x01, 0x10, 0x04, 0x80, 0x50, 0x20, 0x14, 0x05, 0x02, 0x90,
770
 
    0x60, 0x44, 0x54, 0x24, 0x08, 0x18, 0x41, 0x11, 0x15, 0x09, 0x06, 0xA0,
771
 
    0x84, 0x94, 0x64, 0xA4, 0x48, 0x58, 0x28, 0x51, 0x21, 0x45, 0x55, 0x25,
772
 
    0x19, 0x12, 0x16, 0x0A, 0x1A, 0x68, 0xA8, 0x81, 0x91, 0x61, 0xA1, 0x85,
773
 
    0x95, 0x65, 0xA5, 0x49, 0x59, 0x29, 0x69, 0x42, 0x52, 0x46, 0x56, 0x2A,
774
 
    0x88, 0x98, 0x89, 0x99, 0xA9, 0x82, 0x92, 0x22, 0x62, 0x86, 0x26, 0x66,
775
 
    0x4A, 0x5A, 0x6A, 0xA2, 0x96, 0xA6, 0x8A, 0x9A, 0xAA
776
 
};
777
 
 
778
 
static const uint8_t huff_a33_cb[12] = {
779
 
    3, 12, 1, 1, 13, 1, 14, 28, 33, 81, 32, 52
780
 
};
781
 
 
782
 
static const uint8_t huff_a33_xlat[256] = {
783
 
    0x00, 0x10, 0x40, 0x50, 0x04, 0x44, 0x14, 0x54, 0x01, 0x41, 0x11, 0x51,
784
 
    0x05, 0x45, 0x15, 0x55, 0x90, 0x20, 0x94, 0x64, 0x18, 0x21, 0x95, 0x19,
785
 
    0x69, 0x02, 0x52, 0x06, 0x46, 0x16, 0x80, 0x60, 0x84, 0xD4, 0x24, 0x08,
786
 
    0x48, 0x58, 0x68, 0x81, 0x91, 0x61, 0x85, 0x25, 0x65, 0xA5, 0x09, 0x49,
787
 
    0x59, 0x29, 0x42, 0x12, 0x56, 0x96, 0xA6, 0x0A, 0x17, 0x1B, 0xD0, 0xC4,
788
 
    0x74, 0xF4, 0x88, 0xC8, 0x28, 0xA1, 0x71, 0xC5, 0xD5, 0x75, 0x99, 0xB9,
789
 
    0x4D, 0x1D, 0x2D, 0x6D, 0x22, 0x62, 0x66, 0x4A, 0x1A, 0x9A, 0x6A, 0x8E,
790
 
    0x5E, 0x43, 0x23, 0x07, 0x47, 0x57, 0x6B, 0xC0, 0xA0, 0xE0, 0x70, 0xB0,
791
 
    0xA4, 0xE4, 0x34, 0xB4, 0x98, 0xD8, 0xA8, 0x38, 0x78, 0x0C, 0x4C, 0x1C,
792
 
    0x5C, 0x9C, 0x6C, 0x7C, 0xC1, 0xD1, 0xE1, 0x31, 0xE5, 0x35, 0xB5, 0xF5,
793
 
    0x89, 0xA9, 0x79, 0xF9, 0x0D, 0xCD, 0x9D, 0xDD, 0xAD, 0x3D, 0x7D, 0x82,
794
 
    0xC2, 0x92, 0xD2, 0xE2, 0x72, 0xF2, 0x86, 0xD6, 0xE6, 0x76, 0xB6, 0x8A,
795
 
    0x5A, 0xDA, 0xEA, 0xFA, 0x4E, 0x1E, 0x9E, 0xEE, 0x03, 0x13, 0x53, 0x97,
796
 
    0xB7, 0x0B, 0x4B, 0x8B, 0x5B, 0x9B, 0xEB, 0x7B, 0x0F, 0x4F, 0x1F, 0x5F,
797
 
    0x9F, 0x2F, 0x3F, 0xBF, 0xE8, 0xB8, 0xF8, 0x8C, 0x2C, 0x3C, 0xFC, 0xB1,
798
 
    0xC9, 0xD9, 0xE9, 0x39, 0x5D, 0xED, 0xBD, 0xA2, 0x32, 0x26, 0x36, 0x2A,
799
 
    0xAA, 0xBA, 0x0E, 0x2E, 0x6E, 0x83, 0xC3, 0x93, 0x63, 0xB3, 0xA7, 0x37,
800
 
    0x30, 0xF0, 0xCC, 0xDC, 0xAC, 0xEC, 0xBC, 0xF1, 0x8D, 0xFD, 0xB2, 0xC6,
801
 
    0xF6, 0xCA, 0x3A, 0x7A, 0xCE, 0xDE, 0xAE, 0x3E, 0x7E, 0xBE, 0xFE, 0xD3,
802
 
    0xA3, 0xE3, 0x33, 0x73, 0xF3, 0x87, 0xC7, 0xD7, 0x27, 0x67, 0xE7, 0x77,
803
 
    0xF7, 0xCB, 0xDB, 0x2B, 0xAB, 0x3B, 0xBB, 0xFB, 0x8F, 0xCF, 0xDF, 0x6F,
804
 
    0xAF, 0xEF, 0x7F, 0xFF
805
 
};
806
 
 
807
 
static const uint8_t huff_a34_cb[7] = { 1, 5, 1, 1, 1, 1, 2 };
808
 
 
809
 
static const uint8_t huff_a34_xlat[6] = { 1, 0, 2, 3, 4, 5 };
810
 
 
811
 
static const uint8_t huff_a35_cb[11] = { 2, 10, 1, 0, 2, 3, 6, 19, 9, 75, 110 };
812
 
 
813
 
static const uint8_t huff_a35_xlat[225] = {
814
 
    0x00, 0xF0, 0x0F, 0x10, 0x01, 0xFF, 0x20, 0xE0, 0x11, 0xF1, 0x0E, 0x1F,
815
 
    0x30, 0x40, 0xD0, 0x21, 0xE1, 0x02, 0x12, 0x22, 0xE2, 0xF2, 0x03, 0x13,
816
 
    0x1E, 0x2E, 0x3E, 0xEE, 0xFE, 0x2F, 0xEF, 0xD2, 0x43, 0xF3, 0x04, 0x0D,
817
 
    0x2D, 0x3D, 0x3F, 0xDF, 0x50, 0x60, 0x70, 0x90, 0xB0, 0x31, 0x41, 0x91,
818
 
    0xA1, 0xC1, 0xD1, 0x42, 0xA2, 0xC2, 0x23, 0x33, 0xE3, 0x24, 0x34, 0xB4,
819
 
    0xD4, 0xF4, 0x05, 0x15, 0x45, 0xE5, 0x16, 0x36, 0x56, 0xA6, 0xC6, 0xD6,
820
 
    0xF6, 0x57, 0xC7, 0xF7, 0x09, 0x29, 0x49, 0x59, 0x69, 0xF9, 0x0A, 0x2A,
821
 
    0x3A, 0x4A, 0xDA, 0xEA, 0xFA, 0x0B, 0x2B, 0xAB, 0xEB, 0xFB, 0x0C, 0x1C,
822
 
    0x2C, 0x3C, 0x4C, 0x5C, 0xCC, 0xDC, 0xFC, 0x1D, 0x4D, 0x6D, 0xBD, 0xCD,
823
 
    0xED, 0xFD, 0x4E, 0x6E, 0xCE, 0xDE, 0x7F, 0xA0, 0xC0, 0x51, 0x61, 0x71,
824
 
    0xB1, 0x32, 0x52, 0x62, 0x72, 0x92, 0xB2, 0x53, 0x63, 0x73, 0x93, 0xA3,
825
 
    0xB3, 0xC3, 0xD3, 0x14, 0x44, 0x54, 0x64, 0x74, 0x94, 0xA4, 0xC4, 0xE4,
826
 
    0x25, 0x35, 0x55, 0x65, 0x75, 0x95, 0xA5, 0xB5, 0xC5, 0xD5, 0xF5, 0x06,
827
 
    0x26, 0x46, 0x66, 0x76, 0x96, 0xB6, 0xE6, 0x07, 0x17, 0x27, 0x37, 0x47,
828
 
    0x67, 0x77, 0x97, 0xA7, 0xB7, 0xD7, 0xE7, 0x19, 0x39, 0x79, 0x99, 0xA9,
829
 
    0xB9, 0xC9, 0xD9, 0xE9, 0x1A, 0x5A, 0x6A, 0x7A, 0x9A, 0xAA, 0xBA, 0xCA,
830
 
    0x1B, 0x3B, 0x4B, 0x5B, 0x6B, 0x7B, 0x9B, 0xBB, 0xCB, 0xDB, 0x6C, 0x7C,
831
 
    0x9C, 0xAC, 0xBC, 0xEC, 0x5D, 0x7D, 0x9D, 0xAD, 0xDD, 0x5E, 0x7E, 0x9E,
832
 
    0xAE, 0xBE, 0x4F, 0x5F, 0x6F, 0x9F, 0xAF, 0xBF, 0xCF
833
 
};
834
 
 
835
 
static const uint8_t huff_a36_cb[12] = {
836
 
    3, 12, 1, 3, 5, 5, 13, 27, 69, 96, 35, 2
837
 
};
838
 
 
839
 
static const uint8_t huff_a36_xlat[256] = {
840
 
    0x00, 0x10, 0x01, 0x11, 0x20, 0x21, 0x02, 0x12, 0x22, 0x31, 0x41, 0x32,
841
 
    0x13, 0x23, 0x30, 0x40, 0x51, 0x42, 0x03, 0x33, 0x43, 0x04, 0x14, 0x24,
842
 
    0x34, 0x15, 0x25, 0x50, 0x61, 0x71, 0xD1, 0x52, 0x62, 0x72, 0xD2, 0x53,
843
 
    0x63, 0xD3, 0x44, 0x54, 0x64, 0x05, 0x35, 0x45, 0x55, 0x16, 0x26, 0x36,
844
 
    0x46, 0x17, 0x27, 0x1D, 0x2D, 0x3D, 0x60, 0x70, 0xD0, 0x81, 0x91, 0xA1,
845
 
    0xC1, 0xE1, 0xF1, 0x82, 0x92, 0xC2, 0xE2, 0xF2, 0x73, 0x83, 0xE3, 0xF3,
846
 
    0x74, 0x84, 0xC4, 0xD4, 0xE4, 0xF4, 0x65, 0x75, 0x85, 0xD5, 0xE5, 0x06,
847
 
    0x56, 0x66, 0xD6, 0xE6, 0x07, 0x37, 0x47, 0x57, 0x67, 0xD7, 0xE7, 0x18,
848
 
    0x28, 0x38, 0x48, 0x58, 0xD8, 0x19, 0x29, 0x2A, 0x1C, 0x2C, 0x0D, 0x4D,
849
 
    0x5D, 0x6D, 0x7D, 0x8D, 0x9D, 0x1E, 0x2E, 0x3E, 0x4E, 0x5E, 0x6E, 0x7E,
850
 
    0x1F, 0x2F, 0x3F, 0x80, 0x90, 0xA0, 0xC0, 0xE0, 0xF0, 0xB1, 0xA2, 0xB2,
851
 
    0x93, 0xA3, 0xB3, 0xC3, 0x94, 0xA4, 0xB4, 0x95, 0xA5, 0xB5, 0xC5, 0xF5,
852
 
    0x76, 0x86, 0x96, 0xA6, 0xC6, 0xF6, 0x77, 0x87, 0x97, 0xA7, 0xC7, 0xF7,
853
 
    0x08, 0x68, 0x78, 0x88, 0x98, 0xC8, 0xE8, 0xF8, 0x09, 0x39, 0x49, 0x59,
854
 
    0x69, 0x79, 0x89, 0xD9, 0xE9, 0xF9, 0x0A, 0x1A, 0x3A, 0x4A, 0x5A, 0x6A,
855
 
    0xDA, 0xEA, 0xFA, 0x1B, 0x2B, 0x3B, 0x4B, 0x5B, 0xDB, 0xEB, 0xFB, 0x0C,
856
 
    0x3C, 0x4C, 0x5C, 0x6C, 0x7C, 0x8C, 0x9C, 0xDC, 0xEC, 0xAD, 0xBD, 0xCD,
857
 
    0xDD, 0xED, 0x0E, 0x8E, 0x9E, 0xAE, 0xBE, 0x0F, 0x4F, 0x5F, 0x6F, 0x7F,
858
 
    0x8F, 0x9F, 0xAF, 0xB0, 0xB6, 0xB7, 0xA8, 0xB8, 0x99, 0xA9, 0xB9, 0xC9,
859
 
    0x7A, 0x8A, 0x9A, 0xAA, 0xBA, 0xCA, 0x0B, 0x6B, 0x7B, 0x8B, 0x9B, 0xCB,
860
 
    0xAC, 0xBC, 0xCC, 0xFC, 0xFD, 0xCE, 0xDE, 0xEE, 0xFE, 0xBF, 0xCF, 0xDF,
861
 
    0xEF, 0xFF, 0xAB, 0xBB
862
 
};
863
 
 
864
 
static const uint8_t huff_a37_cb[7] = { 4, 8, 7, 6, 8, 22, 20 };
865
 
 
866
 
static const uint8_t huff_a37_xlat[63] = {
867
 
     0,  1,  2,  3, 61, 62, 63,  4,  5,  6, 58, 59, 60,  7,  8,  9,
868
 
    10, 54, 55, 56, 57, 11, 12, 13, 14, 15, 16, 25, 26, 27, 28, 29,
869
 
    30, 35, 36, 37, 38, 48, 49, 50, 51, 52, 53, 17, 18, 19, 20, 21,
870
 
    22, 23, 24, 31, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47
871
 
};
872
 
 
873
 
static const uint8_t huff_a41_cb[14] = {
874
 
    1, 12, 1, 0, 0, 6, 2, 0, 0, 0, 19, 9, 24, 20
875
 
};
876
 
 
877
 
static const uint8_t huff_a41_xlat[81] = {
878
 
    0x00, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x01, 0x03, 0x50, 0xD0, 0x70,
879
 
    0xF0, 0xC4, 0x34, 0x4C, 0xCC, 0x1C, 0x41, 0xC1, 0x31, 0x05, 0x0D, 0x43,
880
 
    0xC3, 0x13, 0x07, 0x0F, 0x44, 0x14, 0x74, 0xDC, 0x3C, 0x11, 0x1D, 0x33,
881
 
    0x37, 0x54, 0xD4, 0xF4, 0x5C, 0x7C, 0xFC, 0xD1, 0x71, 0xF1, 0xC5, 0x15,
882
 
    0x35, 0x4D, 0xCD, 0xDD, 0x3D, 0xD3, 0x73, 0x47, 0xC7, 0x17, 0x77, 0x1F,
883
 
    0x3F, 0x51, 0x45, 0x55, 0xD5, 0x75, 0xF5, 0x5D, 0x7D, 0xFD, 0x53, 0xF3,
884
 
    0x57, 0xD7, 0xF7, 0x4F, 0xCF, 0x5F, 0xDF, 0x7F, 0xFF
885
 
};
886
 
 
887
 
static const uint8_t huff_a42_cb[10] = { 3, 10, 1, 2, 13, 1, 31, 13, 16, 4 };
888
 
 
889
 
static const uint8_t huff_a42_xlat[81] = {
890
 
    0x00, 0x40, 0x01, 0x10, 0x50, 0x04, 0x44, 0x14, 0x54, 0x41, 0x11, 0x51,
891
 
    0x05, 0x45, 0x15, 0x55, 0x59, 0x80, 0x90, 0x20, 0x60, 0x84, 0x94, 0x24,
892
 
    0x64, 0x08, 0x48, 0x18, 0x58, 0x81, 0x91, 0x21, 0x61, 0x85, 0x95, 0x25,
893
 
    0x65, 0x09, 0x49, 0x19, 0x02, 0x42, 0x12, 0x52, 0x06, 0x46, 0x16, 0x56,
894
 
    0xA0, 0xA4, 0x68, 0xA1, 0xA5, 0x99, 0x29, 0x69, 0x96, 0x66, 0x4A, 0x1A,
895
 
    0x5A, 0x88, 0x98, 0x28, 0x89, 0xA9, 0x82, 0x92, 0x22, 0x62, 0x86, 0x26,
896
 
    0xA6, 0x0A, 0x9A, 0x2A, 0x6A, 0xA8, 0xA2, 0x8A, 0xAA
897
 
};
898
 
 
899
 
static const uint8_t huff_a43_cb[5] = { 2, 4, 2, 3, 2 };
900
 
 
901
 
static const uint8_t huff_a43_xlat[7] = { 0, 7, 1, 2, 6, 3, 5 };
902
 
 
903
 
static const uint8_t huff_a44_cb[9] = { 4, 10, 5, 4, 12, 17, 47, 24, 12 };
904
 
 
905
 
static const uint8_t huff_a44_xlat[121] = {
906
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0x11, 0xF1, 0x1F, 0xFF, 0x20, 0xE0, 0x21,
907
 
    0xE1, 0x02, 0x12, 0xF2, 0x0E, 0x1E, 0xFE, 0x2F, 0xEF, 0x30, 0x50, 0xD0,
908
 
    0xD1, 0x22, 0xE2, 0x03, 0x13, 0xF3, 0x0D, 0x1D, 0x2D, 0xFD, 0x2E, 0xEE,
909
 
    0x3F, 0xDF, 0x40, 0xB0, 0xC0, 0x31, 0x41, 0x51, 0xB1, 0xC1, 0x32, 0xB2,
910
 
    0xC2, 0xD2, 0x23, 0xB3, 0xD3, 0xE3, 0x04, 0x14, 0xE4, 0xF4, 0x05, 0x15,
911
 
    0xD5, 0xE5, 0xF5, 0x0B, 0x1B, 0x2B, 0x3B, 0xEB, 0xFB, 0x0C, 0x1C, 0x2C,
912
 
    0xFC, 0x3D, 0x5D, 0xED, 0x3E, 0x4E, 0x5E, 0xBE, 0xDE, 0x4F, 0x5F, 0xBF,
913
 
    0xCF, 0x42, 0x52, 0x33, 0x53, 0xC3, 0x24, 0xB4, 0xD4, 0x25, 0x35, 0xC5,
914
 
    0x4B, 0xCB, 0xDB, 0x3C, 0x4C, 0x5C, 0xDC, 0xEC, 0x4D, 0xBD, 0xCD, 0xDD,
915
 
    0xCE, 0x43, 0x34, 0x44, 0x54, 0xC4, 0x45, 0x55, 0xB5, 0x5B, 0xBB, 0xBC,
916
 
    0xCC
917
 
};
918
 
 
919
 
static const uint8_t huff_a45_cb[5] = { 2, 4, 2, 2, 4 };
920
 
 
921
 
static const uint8_t huff_a45_xlat[8] = { 1, 2, 0, 3, 4, 5, 6, 7 };
922
 
 
923
 
static const uint8_t huff_a46_cb[7] = { 5, 9, 1, 16, 31, 36, 172 };
924
 
 
925
 
static const uint8_t huff_a46_xlat[256] = {
926
 
    0x02, 0x00, 0x30, 0x21, 0x31, 0x41, 0x61, 0x12, 0x22, 0x42, 0x62, 0x43,
927
 
    0x53, 0x24, 0x45, 0x26, 0x27, 0x10, 0x40, 0xB0, 0x01, 0x11, 0x81, 0x32,
928
 
    0x52, 0x72, 0x92, 0x03, 0x13, 0x33, 0x63, 0x14, 0x34, 0x54, 0x64, 0x74,
929
 
    0x05, 0x15, 0x25, 0x35, 0x55, 0x65, 0x06, 0x46, 0x56, 0x57, 0x67, 0x88,
930
 
    0x20, 0x51, 0x91, 0xD1, 0xF2, 0x23, 0x83, 0x93, 0x04, 0x44, 0x84, 0x94,
931
 
    0x75, 0x85, 0xC5, 0x36, 0x66, 0x96, 0xB6, 0x07, 0x37, 0x97, 0x08, 0x28,
932
 
    0x38, 0x48, 0x68, 0x09, 0x69, 0x79, 0x0A, 0x2A, 0x1B, 0x9B, 0x2C, 0x4D,
933
 
    0x50, 0x60, 0x70, 0x80, 0x90, 0xA0, 0xC0, 0xD0, 0xE0, 0xF0, 0x71, 0xA1,
934
 
    0xB1, 0xC1, 0xE1, 0xF1, 0x82, 0xA2, 0xB2, 0xC2, 0xD2, 0xE2, 0x73, 0xA3,
935
 
    0xB3, 0xC3, 0xD3, 0xE3, 0xF3, 0xA4, 0xB4, 0xC4, 0xD4, 0xE4, 0xF4, 0x95,
936
 
    0xA5, 0xB5, 0xD5, 0xE5, 0xF5, 0x16, 0x76, 0x86, 0xA6, 0xC6, 0xD6, 0xE6,
937
 
    0xF6, 0x17, 0x47, 0x77, 0x87, 0xA7, 0xB7, 0xC7, 0xD7, 0xE7, 0xF7, 0x18,
938
 
    0x58, 0x78, 0x98, 0xA8, 0xB8, 0xC8, 0xD8, 0xE8, 0xF8, 0x19, 0x29, 0x39,
939
 
    0x49, 0x59, 0x89, 0x99, 0xA9, 0xB9, 0xC9, 0xD9, 0xE9, 0xF9, 0x1A, 0x3A,
940
 
    0x4A, 0x5A, 0x6A, 0x7A, 0x8A, 0x9A, 0xAA, 0xBA, 0xCA, 0xDA, 0xEA, 0xFA,
941
 
    0x0B, 0x2B, 0x3B, 0x4B, 0x5B, 0x6B, 0x7B, 0x8B, 0xAB, 0xBB, 0xCB, 0xDB,
942
 
    0xEB, 0xFB, 0x0C, 0x1C, 0x3C, 0x4C, 0x5C, 0x6C, 0x7C, 0x8C, 0x9C, 0xAC,
943
 
    0xBC, 0xCC, 0xDC, 0xEC, 0xFC, 0x0D, 0x1D, 0x2D, 0x3D, 0x5D, 0x6D, 0x7D,
944
 
    0x8D, 0x9D, 0xAD, 0xBD, 0xCD, 0xDD, 0xED, 0xFD, 0x0E, 0x1E, 0x2E, 0x3E,
945
 
    0x4E, 0x5E, 0x6E, 0x7E, 0x8E, 0x9E, 0xAE, 0xBE, 0xCE, 0xDE, 0xEE, 0xFE,
946
 
    0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F, 0x7F, 0x8F, 0x9F, 0xAF, 0xBF,
947
 
    0xCF, 0xDF, 0xEF, 0xFF
948
 
};
949
 
 
950
 
static const uint8_t huff_a47_cb[8] = { 4, 9, 5, 12, 9, 12, 15, 10 };
951
 
 
952
 
static const uint8_t huff_a47_xlat[63] = {
953
 
     0,  1,  2, 62, 63,  3,  4,  5,  6,  8, 54, 56, 57, 58, 59, 60,
954
 
    61,  7,  9, 10, 11, 12, 13, 14, 53, 55, 15, 16, 17, 18, 19, 20,
955
 
    21, 36, 37, 39, 42, 52, 22, 25, 28, 35, 38, 40, 41, 43, 45, 46,
956
 
    47, 48, 49, 50, 51, 23, 24, 26, 27, 29, 30, 31, 33, 34, 44
957
 
};
958
 
 
959
 
static const uint8_t huff_a51_cb[12] = {
960
 
    2, 11, 1, 0, 6, 2, 6, 18, 4, 26, 6, 12
961
 
};
962
 
 
963
 
static const uint8_t huff_a51_xlat[81] = {
964
 
    0x00, 0x40, 0xC0, 0x30, 0x04, 0x01, 0x03, 0x10, 0x0C, 0xD0, 0x70, 0x34,
965
 
    0x1C, 0x0D, 0x07, 0x50, 0xF0, 0x44, 0xC4, 0x14, 0x4C, 0xCC, 0x3C, 0x41,
966
 
    0xC1, 0x11, 0x31, 0x05, 0x43, 0xC3, 0x13, 0x33, 0x0F, 0x74, 0xDC, 0x1D,
967
 
    0x37, 0x54, 0xD4, 0xF4, 0x5C, 0x7C, 0xFC, 0xD1, 0x71, 0xF1, 0xC5, 0x15,
968
 
    0x35, 0x4D, 0xCD, 0xDD, 0x3D, 0x53, 0xD3, 0x73, 0x47, 0xC7, 0x17, 0x77,
969
 
    0x4F, 0x1F, 0x3F, 0x51, 0x45, 0x55, 0xF3, 0xCF, 0xFF, 0xD5, 0x75, 0xF5,
970
 
    0x5D, 0x7D, 0xFD, 0x57, 0xD7, 0xF7, 0x5F, 0xDF, 0x7F
971
 
};
972
 
 
973
 
static const uint8_t huff_a52_cb[12] = { 1, 10, 1, 0, 2, 2, 0, 4, 3, 8, 3, 2 };
974
 
 
975
 
static const uint8_t huff_a52_xlat[25] = {
976
 
    0x00, 0x08, 0x38, 0x01, 0x07, 0x09, 0x39, 0x0F, 0x3F, 0x10, 0x02, 0x06,
977
 
    0x30, 0x11, 0x31, 0x0A, 0x3A, 0x0E, 0x17, 0x37, 0x32, 0x16, 0x3E, 0x12,
978
 
    0x36
979
 
};
980
 
 
981
 
static const uint8_t huff_a53_xlat[7] = { 0, 1, 2, 6, 7, 3, 5 };
982
 
 
983
 
static const uint8_t huff_a54_cb[8] = { 4, 9, 4, 7, 12, 19, 21, 58 };
984
 
 
985
 
static const uint8_t huff_a54_xlat[121] = {
986
 
    0x00, 0x01, 0x0F, 0x1F, 0x10, 0xE0, 0xF0, 0x11, 0xF1, 0x2F, 0xFF, 0x20,
987
 
    0x21, 0xE1, 0x02, 0x12, 0xF2, 0x03, 0xF3, 0x0E, 0x2E, 0xFE, 0x3F, 0x30,
988
 
    0x40, 0xD0, 0xC1, 0xD1, 0x22, 0xC2, 0x33, 0xE3, 0x0C, 0xCC, 0x0D, 0x1D,
989
 
    0x2D, 0xFD, 0x1E, 0x3E, 0x5E, 0xEF, 0xC0, 0x52, 0xB2, 0xD2, 0x43, 0xC3,
990
 
    0xD3, 0x24, 0x45, 0xF5, 0x4B, 0x5B, 0xFB, 0x1C, 0x3D, 0xBD, 0xDD, 0xEE,
991
 
    0xBF, 0xCF, 0xDF, 0x50, 0xB0, 0x31, 0x41, 0x51, 0xB1, 0x32, 0x42, 0xE2,
992
 
    0x13, 0x23, 0x53, 0xB3, 0x04, 0x14, 0x34, 0x44, 0x54, 0xB4, 0xC4, 0xD4,
993
 
    0xE4, 0xF4, 0x05, 0x15, 0x25, 0x35, 0x55, 0xB5, 0xC5, 0xD5, 0xE5, 0x0B,
994
 
    0x1B, 0x2B, 0x3B, 0xBB, 0xCB, 0xDB, 0xEB, 0x2C, 0x3C, 0x4C, 0x5C, 0xBC,
995
 
    0xDC, 0xEC, 0xFC, 0x4D, 0x5D, 0xCD, 0xED, 0x4E, 0xBE, 0xCE, 0xDE, 0x4F,
996
 
    0x5F
997
 
};
998
 
 
999
 
static const uint8_t huff_a55_cb[8] = { 1, 6, 1, 1, 1, 0, 3, 2 };
1000
 
 
1001
 
static const uint8_t huff_a55_xlat[8] = { 0, 1, 2, 3, 6, 7, 4, 5 };
1002
 
 
1003
 
static const uint8_t huff_a56_cb[7] = { 3, 7, 1, 8, 6, 8, 8 };
1004
 
 
1005
 
static const uint8_t huff_a56_xlat[31] = {
1006
 
    4,  0,  1,  2,  3, 28, 29, 30, 31,  5,  6,  7, 24, 25, 27, 8,
1007
 
    9, 14, 19, 21, 22, 23, 26, 10, 11, 12, 13, 15, 17, 18, 20
1008
 
};
1009
 
 
1010
 
static const uint8_t huff_a57_cb[9] = { 3, 9, 1, 5, 7, 8, 16, 22, 4 };
1011
 
 
1012
 
static const uint8_t huff_a57_xlat[63] = {
1013
 
     0,  1,  2, 61, 62, 63,  3,  4,  5,  6, 58, 59,
1014
 
    60,  7,  8,  9, 10, 54, 55, 56, 57, 11, 12, 13,
1015
 
    14, 15, 26, 27, 28, 36, 37, 38, 49, 50, 51, 52,
1016
 
    53, 16, 17, 18, 19, 20, 21, 23, 24, 25, 29, 30,
1017
 
    31, 33, 34, 35, 39, 43, 44, 45, 46, 47, 48, 22,
1018
 
    40, 41, 42
1019
 
};
1020
 
 
1021
 
static const uint8_t huff_a61_cb[12] = {
1022
 
    2, 11, 1, 0, 8, 0, 1, 16, 10, 29, 12, 4
1023
 
};
1024
 
 
1025
 
static const uint8_t huff_a61_xlat[81] = {
1026
 
    0x00, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x01, 0x03, 0x70, 0x50, 0xD0,
1027
 
    0xF0, 0x44, 0xC4, 0x14, 0x34, 0x4C, 0x1C, 0x3C, 0x31, 0x05, 0x0D, 0x13,
1028
 
    0x07, 0x0F, 0x74, 0xCC, 0xDC, 0xFC, 0x41, 0xC1, 0x11, 0x43, 0xC3, 0x33,
1029
 
    0x54, 0xD4, 0xF4, 0x5C, 0x7C, 0x51, 0xD1, 0x71, 0xF1, 0x45, 0xC5, 0x15,
1030
 
    0x35, 0x4D, 0xCD, 0x1D, 0x3D, 0x53, 0xD3, 0x73, 0xF3, 0x47, 0xC7, 0x17,
1031
 
    0x37, 0x4F, 0xCF, 0x1F, 0x3F, 0x55, 0xD5, 0x75, 0xF5, 0x5D, 0xDD, 0xFD,
1032
 
    0x57, 0xD7, 0x77, 0xF7, 0xFF, 0x7D, 0x5F, 0xDF, 0x7F
1033
 
};
1034
 
 
1035
 
static const uint8_t huff_a62_cb[8] = { 3, 8, 5, 2, 2, 9, 5, 2 };
1036
 
 
1037
 
static const uint8_t huff_a62_xlat[25] = {
1038
 
    0x00, 0x08, 0x38, 0x01, 0x07, 0x39, 0x0F, 0x09, 0x3F, 0x10, 0x30, 0x31,
1039
 
    0x02, 0x3A, 0x06, 0x0E, 0x17, 0x37, 0x11, 0x0A, 0x32, 0x16, 0x3E, 0x12,
1040
 
    0x36
1041
 
};
1042
 
 
1043
 
static const uint8_t huff_a63_cb[11] = {
1044
 
    3, 11, 1, 1, 10, 4, 16, 29, 46, 75, 74
1045
 
};
1046
 
 
1047
 
static const uint8_t huff_a63_xlat[256] = {
1048
 
    0x00, 0x40, 0x10, 0x50, 0x04, 0x44, 0x14, 0x01, 0x41, 0x05, 0x45, 0x55,
1049
 
    0x54, 0x11, 0x51, 0x15, 0x80, 0x90, 0x60, 0x24, 0x64, 0xA4, 0x48, 0x61,
1050
 
    0x95, 0x25, 0xA5, 0x02, 0x42, 0x52, 0x16, 0x56, 0x20, 0x84, 0x94, 0x18,
1051
 
    0x58, 0x81, 0x91, 0x85, 0x65, 0x09, 0x49, 0x19, 0x59, 0x99, 0x29, 0x69,
1052
 
    0x79, 0x5D, 0x12, 0x62, 0x06, 0x46, 0x86, 0x66, 0x1A, 0x5A, 0x6A, 0x47,
1053
 
    0x17, 0xC0, 0xA0, 0xE0, 0xC4, 0xD4, 0x74, 0x08, 0x78, 0x0C, 0x4C, 0x1C,
1054
 
    0x5C, 0xD1, 0x21, 0xE1, 0x71, 0xC5, 0xE5, 0x75, 0xB5, 0x89, 0xBD, 0x92,
1055
 
    0x22, 0x96, 0xA6, 0x36, 0x0A, 0x4A, 0x8A, 0x9A, 0x2A, 0x7A, 0xDE, 0x6E,
1056
 
    0x43, 0x13, 0x53, 0x23, 0x07, 0x77, 0x4B, 0x1B, 0x9B, 0x6B, 0x2F, 0xD0,
1057
 
    0x30, 0x70, 0xE4, 0x34, 0xF4, 0xC8, 0x98, 0x28, 0x68, 0xA8, 0xE8, 0x38,
1058
 
    0xB8, 0xF8, 0x9C, 0x2C, 0x6C, 0x7C, 0xA1, 0xB1, 0xD5, 0x35, 0xC9, 0xD9,
1059
 
    0xA9, 0xE9, 0x39, 0xB9, 0xF9, 0xCD, 0x1D, 0x2D, 0xAD, 0x7D, 0xC2, 0xD2,
1060
 
    0xA2, 0xB2, 0xF2, 0xC6, 0x26, 0x76, 0xB6, 0xDA, 0xAA, 0xEA, 0x3A, 0xFA,
1061
 
    0x0E, 0x4E, 0x2E, 0x7E, 0xBE, 0xFE, 0x03, 0x83, 0x63, 0xA3, 0xB3, 0x87,
1062
 
    0x57, 0x97, 0xD7, 0x27, 0x0B, 0x8B, 0x5B, 0x2B, 0xAB, 0xCF, 0x1F, 0x9F,
1063
 
    0x7F, 0xBF, 0xB0, 0xF0, 0xB4, 0x88, 0xD8, 0x8C, 0xCC, 0xDC, 0xAC, 0xEC,
1064
 
    0x3C, 0xBC, 0xFC, 0xC1, 0x31, 0xF1, 0xF5, 0x0D, 0x4D, 0x8D, 0x9D, 0xDD,
1065
 
    0x6D, 0xED, 0x3D, 0xFD, 0x82, 0xE2, 0x32, 0x72, 0xD6, 0xE6, 0xF6, 0xCA,
1066
 
    0xBA, 0x8E, 0xCE, 0x1E, 0x5E, 0x9E, 0xAE, 0xEE, 0x3E, 0xC3, 0x93, 0xD3,
1067
 
    0xE3, 0x33, 0x73, 0xF3, 0xC7, 0x67, 0xA7, 0xE7, 0x37, 0xB7, 0xF7, 0xCB,
1068
 
    0xDB, 0xEB, 0x3B, 0x7B, 0xBB, 0xFB, 0x0F, 0x4F, 0x8F, 0x5F, 0xDF, 0x6F,
1069
 
    0xAF, 0xEF, 0x3F, 0xFF
1070
 
};
1071
 
 
1072
 
static const uint8_t huff_a64_cb[8] = { 4, 9, 1, 7, 12, 36, 63, 2 };
1073
 
 
1074
 
static const uint8_t huff_a64_xlat[121] = {
1075
 
    0x00, 0x10, 0x20, 0xE0, 0xF0, 0x02, 0x0E, 0xEF, 0x30, 0x01, 0x11, 0x21,
1076
 
    0x31, 0xF1, 0x12, 0xF2, 0x1E, 0xEE, 0xDF, 0xFF, 0x40, 0xC0, 0xD0, 0xD1,
1077
 
    0xE1, 0x22, 0x32, 0x42, 0xD2, 0xE2, 0x03, 0x13, 0x23, 0xB3, 0xC3, 0xE3,
1078
 
    0xF3, 0xE4, 0x05, 0xF5, 0x2B, 0x0C, 0xFC, 0x1D, 0x2D, 0xBD, 0xDD, 0xFD,
1079
 
    0x2E, 0x4E, 0xDE, 0xFE, 0x0F, 0x1F, 0x2F, 0x3F, 0x50, 0xB0, 0x41, 0x51,
1080
 
    0xB1, 0xC1, 0x52, 0xB2, 0xC2, 0x33, 0x43, 0x53, 0xD3, 0x04, 0x14, 0x24,
1081
 
    0x34, 0x44, 0x54, 0xB4, 0xC4, 0xD4, 0xF4, 0x15, 0x25, 0x35, 0x45, 0x55,
1082
 
    0xB5, 0xC5, 0xD5, 0xE5, 0x0B, 0x1B, 0x3B, 0x4B, 0x5B, 0xBB, 0xCB, 0xDB,
1083
 
    0xEB, 0xFB, 0x1C, 0x2C, 0x3C, 0x4C, 0x5C, 0xBC, 0xCC, 0xDC, 0xEC, 0x0D,
1084
 
    0x3D, 0x4D, 0x5D, 0xCD, 0xED, 0x3E, 0x5E, 0xBE, 0xCE, 0x4F, 0xCF, 0x5F,
1085
 
    0xBF
1086
 
};
1087
 
 
1088
 
static const uint8_t huff_a65_cb[8] = { 2, 7, 3, 0, 1, 3, 4, 4 };
1089
 
 
1090
 
static const uint8_t huff_a65_xlat[15] = {
1091
 
    0, 1, 15, 14, 2, 3, 13, 4, 6, 10, 12, 5, 7, 9, 11
1092
 
};
1093
 
 
1094
 
static const uint8_t huff_a66_cb[11] = { 2, 10, 1, 2, 2, 6, 8, 6, 3, 1, 2 };
1095
 
 
1096
 
static const uint8_t huff_a66_xlat[31] = {
1097
 
     0,  1, 31, 2, 30,  3,  4, 15, 17, 28, 29,  5,  6,  7,  8, 24,
1098
 
    25, 26, 27, 9, 10, 11, 21, 22, 23, 12, 19, 20, 13, 14, 18
1099
 
};
1100
 
 
1101
 
static const uint8_t huff_a67_cb[10] = { 2, 9, 1, 1, 3, 4, 6, 13, 25, 10 };
1102
 
 
1103
 
static const uint8_t huff_a67_xlat[63] = {
1104
 
     0,  1,  2, 62, 63,  3,  4, 60, 61,  5,  6,  7, 57, 58, 59,  8,
1105
 
     9, 10, 11, 12, 13, 26, 38, 52, 53, 54, 55, 56, 14, 15, 16, 17,
1106
 
    18, 19, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 39, 45, 46,
1107
 
    47, 48, 49, 50, 51, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44
1108
 
};
1109
 
 
1110
 
static const uint8_t huff_a71_cb[5] = { 1, 3, 1, 1, 2 };
1111
 
 
1112
 
static const uint8_t huff_a72_cb[12] = {
1113
 
    2, 11, 1, 0, 4, 8, 3, 8, 24, 17, 12, 4
1114
 
};
1115
 
 
1116
 
static const uint8_t huff_a72_xlat[81] = {
1117
 
    0x00, 0x40, 0x10, 0x04, 0x01, 0x50, 0x44, 0x14, 0x54, 0x41, 0x11, 0x05,
1118
 
    0x15, 0x51, 0x45, 0x55, 0x80, 0x90, 0x20, 0x64, 0x08, 0x19, 0x02, 0x06,
1119
 
    0x60, 0x84, 0x94, 0x24, 0x48, 0x18, 0x58, 0x81, 0x91, 0x21, 0x61, 0x85,
1120
 
    0x95, 0x25, 0x65, 0x09, 0x49, 0x59, 0x42, 0x12, 0x52, 0x46, 0x16, 0x56,
1121
 
    0xA0, 0xA4, 0x98, 0x28, 0x68, 0xA1, 0xA5, 0x99, 0x29, 0x69, 0x96, 0x26,
1122
 
    0x66, 0x0A, 0x4A, 0x1A, 0x5A, 0x88, 0xA8, 0x89, 0xA9, 0x82, 0x92, 0x22,
1123
 
    0x62, 0x86, 0xA6, 0x2A, 0x6A, 0xA2, 0x8A, 0x9A, 0xAA
1124
 
};
1125
 
 
1126
 
static const uint8_t huff_a73_cb[11] = { 2, 10, 1, 1, 5, 2, 8, 7, 13, 8, 4 };
1127
 
 
1128
 
static const uint8_t huff_a73_xlat[49] = {
1129
 
    0x00, 0x08, 0x38, 0x01, 0x39, 0x07, 0x0F, 0x09, 0x3F, 0x10, 0x30, 0x31,
1130
 
    0x02, 0x3A, 0x06, 0x0E, 0x17, 0x11, 0x0A, 0x32, 0x0D, 0x16, 0x3E, 0x37,
1131
 
    0x18, 0x28, 0x19, 0x29, 0x12, 0x2A, 0x03, 0x3B, 0x05, 0x15, 0x1E, 0x1F,
1132
 
    0x2F, 0x1A, 0x0B, 0x2B, 0x33, 0x35, 0x3D, 0x2E, 0x36, 0x13, 0x1B, 0x1D,
1133
 
    0x2D
1134
 
};
1135
 
 
1136
 
static const uint8_t huff_a74_cb[14] = {
1137
 
    1, 12, 1, 0, 0, 4, 0, 4, 5, 9, 30, 45, 21, 2
1138
 
};
1139
 
 
1140
 
static const uint8_t huff_a74_xlat[121] = {
1141
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0x11, 0xF1, 0x1F, 0xFF, 0x20, 0xE0, 0x02,
1142
 
    0xF2, 0x0E, 0x21, 0xE1, 0x12, 0xE2, 0x1E, 0x2E, 0xFE, 0x2F, 0xEF, 0x30,
1143
 
    0x50, 0xB0, 0xC0, 0xD0, 0x31, 0xB1, 0xD1, 0x22, 0xD2, 0x03, 0x13, 0xE3,
1144
 
    0xF3, 0xF4, 0x05, 0xE5, 0xF5, 0x0B, 0x1B, 0x0C, 0x0D, 0x1D, 0x2D, 0xFD,
1145
 
    0x3E, 0xEE, 0x3F, 0x5F, 0xDF, 0x40, 0x41, 0x51, 0xC1, 0x32, 0x42, 0x52,
1146
 
    0xB2, 0xC2, 0x23, 0x33, 0xB3, 0xC3, 0xD3, 0x04, 0x14, 0x24, 0xD4, 0xE4,
1147
 
    0x15, 0x25, 0xC5, 0xD5, 0x2B, 0x3B, 0xEB, 0xFB, 0x1C, 0x2C, 0x3C, 0x5C,
1148
 
    0xEC, 0xFC, 0x3D, 0x5D, 0xDD, 0xED, 0x4E, 0x5E, 0xBE, 0xCE, 0xDE, 0x4F,
1149
 
    0xBF, 0xCF, 0x43, 0x53, 0x34, 0x54, 0xB4, 0xC4, 0x35, 0x45, 0x55, 0xB5,
1150
 
    0x4B, 0x5B, 0xCB, 0xDB, 0x4C, 0xBC, 0xCC, 0xDC, 0x4D, 0xBD, 0xCD, 0x44,
1151
 
    0xBB
1152
 
};
1153
 
 
1154
 
static const uint8_t huff_a75_cb[7] = { 2, 6, 1, 3, 3, 4, 4 };
1155
 
 
1156
 
static const uint8_t huff_a75_xlat[15] = {
1157
 
    0, 1, 14, 15, 2, 3, 13, 4, 6, 10, 12, 5, 7, 9, 11
1158
 
};
1159
 
 
1160
 
static const uint8_t huff_a76_cb[12] = {
1161
 
    3, 12, 1, 3, 4, 8, 10, 36, 60, 78, 48, 8
1162
 
};
1163
 
 
1164
 
static const uint8_t huff_a76_xlat[256] = {
1165
 
    0x00, 0x10, 0x01, 0x11, 0x20, 0x21, 0x02, 0x12, 0x30, 0x31, 0x41, 0x22,
1166
 
    0x03, 0x13, 0x23, 0x14, 0x40, 0x51, 0x61, 0x32, 0x42, 0x33, 0x04, 0x24,
1167
 
    0x15, 0x16, 0x50, 0x60, 0xD0, 0x71, 0x81, 0xD1, 0xE1, 0xF1, 0x52, 0x62,
1168
 
    0x72, 0xD2, 0x43, 0x53, 0x63, 0xD3, 0x34, 0x44, 0x54, 0x05, 0x25, 0x35,
1169
 
    0x45, 0x06, 0x26, 0x36, 0x17, 0x27, 0x18, 0x0D, 0x1D, 0x2D, 0x3D, 0x1E,
1170
 
    0x2E, 0x1F, 0x70, 0x80, 0xE0, 0xF0, 0x91, 0xA1, 0xC1, 0x82, 0x92, 0xC2,
1171
 
    0xE2, 0xF2, 0x73, 0x83, 0x93, 0xE3, 0xF3, 0x64, 0x74, 0x84, 0xD4, 0xE4,
1172
 
    0xF4, 0x55, 0x65, 0xD5, 0xE5, 0xF5, 0x46, 0x56, 0x66, 0xD6, 0x07, 0x37,
1173
 
    0x47, 0x57, 0x08, 0x28, 0x38, 0x48, 0x19, 0x29, 0x39, 0x1A, 0x2A, 0x1B,
1174
 
    0x1C, 0x2C, 0x3C, 0x4D, 0x5D, 0x6D, 0x0E, 0x3E, 0x4E, 0x5E, 0x0F, 0x2F,
1175
 
    0x3F, 0x4F, 0x90, 0xA0, 0xB0, 0xC0, 0xB1, 0xA2, 0xB2, 0xA3, 0xB3, 0xC3,
1176
 
    0x94, 0xA4, 0xB4, 0xC4, 0x75, 0x85, 0x95, 0xA5, 0xC5, 0x76, 0x86, 0x96,
1177
 
    0xE6, 0xF6, 0x67, 0x77, 0x87, 0xD7, 0xE7, 0xF7, 0x58, 0x68, 0x78, 0x88,
1178
 
    0xD8, 0xE8, 0xF8, 0x09, 0x49, 0x59, 0x69, 0xD9, 0xE9, 0xF9, 0x0A, 0x3A,
1179
 
    0x4A, 0x5A, 0xDA, 0xEA, 0x0B, 0x2B, 0x3B, 0x4B, 0xDB, 0x0C, 0x4C, 0x5C,
1180
 
    0x6C, 0xDC, 0x7D, 0x8D, 0x9D, 0xAD, 0xBD, 0xCD, 0x6E, 0x7E, 0x8E, 0x9E,
1181
 
    0xAE, 0xBE, 0x5F, 0x6F, 0x7F, 0x8F, 0x9F, 0xAF, 0xB5, 0xA6, 0xB6, 0xC6,
1182
 
    0x97, 0xA7, 0xC7, 0x98, 0xA8, 0xB8, 0xC8, 0x79, 0x89, 0x99, 0xA9, 0xB9,
1183
 
    0xC9, 0x6A, 0x7A, 0x8A, 0x9A, 0xAA, 0xCA, 0xFA, 0x5B, 0x6B, 0x7B, 0x8B,
1184
 
    0xCB, 0xEB, 0xFB, 0x7C, 0x8C, 0x9C, 0xAC, 0xBC, 0xEC, 0xFC, 0xDD, 0xED,
1185
 
    0xFD, 0xCE, 0xDE, 0xEE, 0xFE, 0xBF, 0xCF, 0xDF, 0xB7, 0xBA, 0x9B, 0xAB,
1186
 
    0xBB, 0xCC, 0xEF, 0xFF
1187
 
};
1188
 
 
1189
 
static const uint8_t huff_b01_cb[14] = {
1190
 
    1, 12, 1, 0, 0, 2, 6, 0, 11, 13, 12, 24, 4, 8
1191
 
};
1192
 
 
1193
 
static const uint8_t huff_b01_xlat[81] = {
1194
 
    0x00, 0x01, 0x03, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x50, 0xD0, 0x70,
1195
 
    0xF0, 0x34, 0x1C, 0x05, 0x0D, 0x13, 0x07, 0x0F, 0x44, 0xC4, 0x14, 0x4C,
1196
 
    0xCC, 0x3C, 0x41, 0xC1, 0x11, 0x31, 0x43, 0xC3, 0x33, 0x54, 0x74, 0xDC,
1197
 
    0xFC, 0x71, 0x15, 0x4D, 0x1D, 0xD3, 0xC7, 0x37, 0x3F, 0xD4, 0xF4, 0x5C,
1198
 
    0x7C, 0x51, 0xD1, 0xF1, 0x45, 0xC5, 0x55, 0x35, 0xCD, 0xDD, 0x3D, 0x53,
1199
 
    0x73, 0xF3, 0x47, 0x17, 0x77, 0x4F, 0xCF, 0x1F, 0xFF, 0xF5, 0x7D, 0xD7,
1200
 
    0x5F, 0xD5, 0x75, 0x5D, 0xFD, 0x57, 0xF7, 0xDF, 0x7F
1201
 
};
1202
 
 
1203
 
static const uint8_t huff_b02_cb[14] = {
1204
 
    1, 12, 1, 0, 0, 4, 0, 8, 4, 9, 19, 13, 13, 10
1205
 
};
1206
 
 
1207
 
static const uint8_t huff_b02_xlat[81] = {
1208
 
    0x00, 0x40, 0x10, 0x04, 0x01, 0x50, 0x44, 0x14, 0x54, 0x41, 0x11, 0x05,
1209
 
    0x15, 0x80, 0x51, 0x45, 0x55, 0x90, 0x20, 0x60, 0x24, 0x08, 0x18, 0x09,
1210
 
    0x02, 0x06, 0x84, 0x94, 0x64, 0x48, 0x58, 0x81, 0x91, 0x21, 0x61, 0x95,
1211
 
    0x25, 0x65, 0x19, 0x59, 0x42, 0x12, 0x46, 0x16, 0x56, 0xA0, 0xA4, 0x28,
1212
 
    0x68, 0x85, 0xA5, 0x49, 0x29, 0x69, 0x52, 0x0A, 0x1A, 0x5A, 0x88, 0x98,
1213
 
    0xA1, 0x89, 0x99, 0xA9, 0x22, 0x62, 0x96, 0x26, 0x66, 0x4A, 0x6A, 0xA8,
1214
 
    0x82, 0x92, 0xA2, 0x86, 0xA6, 0x8A, 0x9A, 0x2A, 0xAA
1215
 
};
1216
 
 
1217
 
static const uint8_t huff_b03_cb[11] = { 1, 9, 1, 0, 0, 4, 0, 5, 12, 13, 14 };
1218
 
 
1219
 
static const uint8_t huff_b03_xlat[49] = {
1220
 
    0x00, 0x08, 0x38, 0x01, 0x07, 0x30, 0x09, 0x39, 0x0F, 0x3F, 0x10, 0x18,
1221
 
    0x28, 0x31, 0x02, 0x3A, 0x03, 0x05, 0x06, 0x0E, 0x17, 0x37, 0x11, 0x19,
1222
 
    0x29, 0x0A, 0x32, 0x0B, 0x3B, 0x0D, 0x15, 0x3D, 0x3E, 0x1F, 0x2F, 0x12,
1223
 
    0x1A, 0x2A, 0x13, 0x1B, 0x2B, 0x33, 0x1D, 0x2D, 0x35, 0x16, 0x1E, 0x2E,
1224
 
    0x36
1225
 
};
1226
 
 
1227
 
static const uint8_t huff_b04_cb[12] = {
1228
 
    2, 11, 1, 0, 4, 4, 5, 9, 30, 45, 21, 2
1229
 
};
1230
 
 
1231
 
static const uint8_t huff_b04_xlat[121] = {
1232
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0x11, 0xF1, 0x1F, 0xFF, 0x20, 0xE0, 0x02,
1233
 
    0xF2, 0x0E, 0x21, 0xE1, 0x12, 0xE2, 0x1E, 0x2E, 0xFE, 0x2F, 0xEF, 0x30,
1234
 
    0x50, 0xB0, 0xC0, 0xD0, 0x31, 0xB1, 0xD1, 0x22, 0xD2, 0x03, 0x13, 0xE3,
1235
 
    0xF3, 0xF4, 0x05, 0xE5, 0xF5, 0x0B, 0x1B, 0x0C, 0x0D, 0x1D, 0x2D, 0xFD,
1236
 
    0x3E, 0xEE, 0x3F, 0x5F, 0xDF, 0x40, 0x41, 0x51, 0xC1, 0x32, 0x42, 0x52,
1237
 
    0xB2, 0xC2, 0x23, 0x33, 0xB3, 0xC3, 0xD3, 0x04, 0x14, 0x24, 0xD4, 0xE4,
1238
 
    0x15, 0x25, 0xC5, 0xD5, 0x2B, 0x3B, 0xEB, 0xFB, 0x1C, 0x2C, 0x3C, 0x5C,
1239
 
    0xEC, 0xFC, 0x3D, 0x5D, 0xDD, 0xED, 0x4E, 0x5E, 0xBE, 0xCE, 0xDE, 0x4F,
1240
 
    0xBF, 0xCF, 0x43, 0x53, 0x34, 0x54, 0xB4, 0xC4, 0x35, 0x45, 0x55, 0xB5,
1241
 
    0x4B, 0x5B, 0xCB, 0xDB, 0x4C, 0xBC, 0xCC, 0xDC, 0x4D, 0xBD, 0xCD, 0x44,
1242
 
    0xBB
1243
 
};
1244
 
 
1245
 
static const uint8_t huff_b05_cb[11] = {
1246
 
    3, 11, 1, 4, 4, 4, 12, 30, 73, 75, 22
1247
 
};
1248
 
 
1249
 
static const uint8_t huff_b05_xlat[225] = {
1250
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0x11, 0xF1, 0x1F, 0xFF, 0x20, 0xE0, 0x02,
1251
 
    0x0E, 0x30, 0xD0, 0x21, 0xE1, 0x12, 0xF2, 0x03, 0x0D, 0x1E, 0xFE, 0x2F,
1252
 
    0xEF, 0x40, 0x60, 0x70, 0x90, 0xA0, 0xC0, 0x31, 0xD1, 0x22, 0x32, 0xD2,
1253
 
    0xE2, 0x13, 0x23, 0xE3, 0xF3, 0x04, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x1D,
1254
 
    0x2D, 0xFD, 0x2E, 0x3E, 0xEE, 0x3F, 0xDF, 0x50, 0xB0, 0x41, 0x51, 0x61,
1255
 
    0x71, 0x91, 0xA1, 0xB1, 0xC1, 0x42, 0x62, 0x72, 0x92, 0xA2, 0xC2, 0x33,
1256
 
    0x93, 0xA3, 0xD3, 0x14, 0x24, 0xE4, 0xF4, 0x05, 0x15, 0xF5, 0x16, 0x26,
1257
 
    0xD6, 0xE6, 0xF6, 0x17, 0x27, 0xD7, 0xE7, 0xF7, 0x19, 0x29, 0x39, 0xE9,
1258
 
    0xF9, 0x1A, 0x2A, 0xEA, 0xFA, 0x0B, 0x1B, 0xFB, 0x1C, 0x2C, 0xEC, 0xFC,
1259
 
    0x3D, 0x7D, 0x9D, 0xDD, 0xED, 0x4E, 0x6E, 0x7E, 0x9E, 0xAE, 0xCE, 0xDE,
1260
 
    0x4F, 0x5F, 0x6F, 0x7F, 0x9F, 0xAF, 0xBF, 0xCF, 0x52, 0xB2, 0x43, 0x53,
1261
 
    0x63, 0x73, 0xB3, 0xC3, 0x34, 0x44, 0x64, 0x74, 0x94, 0xA4, 0xB4, 0xC4,
1262
 
    0xD4, 0x25, 0x35, 0x65, 0x75, 0x95, 0xA5, 0xD5, 0xE5, 0x36, 0x46, 0x56,
1263
 
    0x66, 0xA6, 0xB6, 0xC6, 0x37, 0x47, 0x57, 0xB7, 0xC7, 0x49, 0x59, 0x69,
1264
 
    0xB9, 0xC9, 0xD9, 0x3A, 0x4A, 0x5A, 0x6A, 0xAA, 0xBA, 0xCA, 0xDA, 0x2B,
1265
 
    0x3B, 0x6B, 0x7B, 0x9B, 0xAB, 0xDB, 0xEB, 0x3C, 0x4C, 0x6C, 0x7C, 0x9C,
1266
 
    0xAC, 0xCC, 0xDC, 0x4D, 0x5D, 0x6D, 0xAD, 0xBD, 0xCD, 0x5E, 0xBE, 0x54,
1267
 
    0x45, 0x55, 0xB5, 0xC5, 0x76, 0x96, 0x67, 0x77, 0x97, 0xA7, 0x79, 0x99,
1268
 
    0xA9, 0x7A, 0x9A, 0x4B, 0x5B, 0xBB, 0xCB, 0x5C, 0xBC
1269
 
};
1270
 
 
1271
 
static const uint8_t huff_b07_cb[9] = { 3, 9, 3, 2, 4, 8, 23, 13, 10 };
1272
 
 
1273
 
static const uint8_t huff_b07_xlat[63] = {
1274
 
     0,  1, 63,  2, 62,  3,  4, 60, 61,  5,  6,  7,  8, 56, 57, 58,
1275
 
    59,  9, 10, 11, 12, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36,
1276
 
    37, 38, 39, 51, 52, 53, 54, 55, 13, 14, 15, 16, 17, 18, 19, 45,
1277
 
    46, 47, 48, 49, 50, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44
1278
 
};
1279
 
 
1280
 
static const uint8_t huff_b12_cb[10] = { 3, 10, 1, 3, 12, 0, 30, 9, 18, 8 };
1281
 
 
1282
 
static const uint8_t huff_b12_xlat[81] = {
1283
 
    0x00, 0x40, 0x04, 0x01, 0x10, 0x50, 0x44, 0x14, 0x54, 0x41, 0x11, 0x51,
1284
 
    0x05, 0x45, 0x15, 0x55, 0x80, 0x90, 0x20, 0x60, 0x84, 0x94, 0x24, 0x64,
1285
 
    0x08, 0x48, 0x18, 0x81, 0x91, 0x61, 0x85, 0x95, 0x25, 0x65, 0x09, 0x49,
1286
 
    0x19, 0x59, 0x02, 0x42, 0x12, 0x52, 0x06, 0x46, 0x16, 0x56, 0xA4, 0x58,
1287
 
    0x68, 0x21, 0xA5, 0x29, 0x69, 0x1A, 0x5A, 0xA0, 0x88, 0x98, 0x28, 0xA1,
1288
 
    0x89, 0x99, 0xA9, 0x92, 0x22, 0x62, 0x86, 0x96, 0x26, 0x66, 0x0A, 0x4A,
1289
 
    0x6A, 0xA8, 0x82, 0xA2, 0xA6, 0x8A, 0x9A, 0x2A, 0xAA
1290
 
};
1291
 
 
1292
 
static const uint8_t huff_b14_cb[14] = {
1293
 
    1, 12, 1, 0, 0, 4, 0, 3, 5, 16, 28, 34, 26, 4
1294
 
};
1295
 
 
1296
 
static const uint8_t huff_b14_xlat[121] = {
1297
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0xF1, 0x1F, 0xFF, 0x20, 0xE0, 0x11, 0x02,
1298
 
    0x0E, 0x30, 0x50, 0xB0, 0xD0, 0x21, 0xE1, 0x12, 0xF2, 0x03, 0x05, 0x0B,
1299
 
    0x0D, 0x1E, 0xFE, 0x2F, 0xEF, 0x40, 0xC0, 0x31, 0x51, 0xB1, 0xC1, 0xD1,
1300
 
    0x22, 0x52, 0xE2, 0x13, 0xF3, 0x04, 0x15, 0xF5, 0x1B, 0xEB, 0xFB, 0x0C,
1301
 
    0x1D, 0xFD, 0x2E, 0x5E, 0xEE, 0x3F, 0x5F, 0xBF, 0xDF, 0x41, 0x32, 0x42,
1302
 
    0xB2, 0xD2, 0x23, 0x53, 0xB3, 0xE3, 0x14, 0x24, 0xE4, 0xF4, 0x25, 0x35,
1303
 
    0xD5, 0xE5, 0x2B, 0x3B, 0xDB, 0x1C, 0x2C, 0xBC, 0xEC, 0xFC, 0x2D, 0xBD,
1304
 
    0xED, 0x3E, 0x4E, 0xBE, 0xDE, 0x4F, 0xCF, 0xC2, 0x33, 0x43, 0xC3, 0xD3,
1305
 
    0x34, 0x44, 0x54, 0xB4, 0xD4, 0x45, 0x55, 0xC5, 0x4B, 0xCB, 0x3C, 0x4C,
1306
 
    0x5C, 0xCC, 0xDC, 0x3D, 0x4D, 0x5D, 0xCD, 0xDD, 0xCE, 0xC4, 0xB5, 0x5B,
1307
 
    0xBB
1308
 
};
1309
 
 
1310
 
static const uint8_t huff_b16_cb[11] = {
1311
 
    4, 12, 4, 4, 9, 13, 37, 76, 72, 39, 2
1312
 
};
1313
 
 
1314
 
static const uint8_t huff_b16_xlat[256] = {
1315
 
    0x00, 0x10, 0x01, 0x11, 0x20, 0x21, 0x02, 0x12, 0x30, 0x31, 0x41, 0x22,
1316
 
    0x32, 0x03, 0x13, 0x23, 0x14, 0x40, 0x51, 0x61, 0x42, 0x52, 0x33, 0x43,
1317
 
    0x04, 0x24, 0x34, 0x15, 0x25, 0x16, 0x50, 0x60, 0x70, 0x71, 0x81, 0xD1,
1318
 
    0xE1, 0x62, 0x72, 0x82, 0xD2, 0x53, 0x63, 0x73, 0xD3, 0x44, 0x54, 0x05,
1319
 
    0x35, 0x45, 0x55, 0x06, 0x26, 0x36, 0x07, 0x17, 0x27, 0x37, 0x18, 0x28,
1320
 
    0x19, 0x1D, 0x2D, 0x3D, 0x1E, 0x2E, 0x1F, 0x80, 0x90, 0xD0, 0xE0, 0xF0,
1321
 
    0x91, 0xA1, 0xB1, 0xC1, 0xF1, 0x92, 0xA2, 0xB2, 0xC2, 0xE2, 0xF2, 0x83,
1322
 
    0x93, 0xA3, 0xC3, 0xE3, 0xF3, 0x64, 0x74, 0x84, 0x94, 0xD4, 0xE4, 0xF4,
1323
 
    0x65, 0x75, 0x85, 0xD5, 0xE5, 0x46, 0x56, 0x66, 0x76, 0xD6, 0xE6, 0x47,
1324
 
    0x57, 0x67, 0xD7, 0x08, 0x38, 0x48, 0x58, 0x09, 0x29, 0x39, 0x49, 0x0A,
1325
 
    0x1A, 0x2A, 0x3A, 0x1B, 0x2B, 0x0C, 0x1C, 0x2C, 0x3C, 0x0D, 0x4D, 0x5D,
1326
 
    0x6D, 0x7D, 0x0E, 0x3E, 0x4E, 0x5E, 0x6E, 0x0F, 0x2F, 0x3F, 0x4F, 0xA0,
1327
 
    0xB0, 0xC0, 0xB3, 0xA4, 0xB4, 0xC4, 0x95, 0xA5, 0xB5, 0xC5, 0xF5, 0x86,
1328
 
    0x96, 0xA6, 0xB6, 0xC6, 0xF6, 0x77, 0x87, 0x97, 0xA7, 0xC7, 0xE7, 0xF7,
1329
 
    0x68, 0x78, 0x88, 0x98, 0xD8, 0xE8, 0xF8, 0x59, 0x69, 0x79, 0x89, 0xD9,
1330
 
    0xE9, 0xF9, 0x4A, 0x5A, 0x6A, 0x7A, 0xDA, 0xEA, 0x0B, 0x3B, 0x4B, 0x5B,
1331
 
    0xDB, 0xEB, 0x4C, 0x5C, 0x6C, 0x7C, 0x8C, 0xDC, 0x8D, 0x9D, 0xAD, 0xBD,
1332
 
    0xCD, 0x7E, 0x8E, 0x9E, 0xAE, 0xBE, 0x5F, 0x6F, 0x7F, 0x8F, 0x9F, 0xB7,
1333
 
    0xA8, 0xB8, 0xC8, 0x99, 0xA9, 0xB9, 0xC9, 0x8A, 0x9A, 0xAA, 0xBA, 0xCA,
1334
 
    0xFA, 0x6B, 0x7B, 0x8B, 0x9B, 0xAB, 0xBB, 0xCB, 0xFB, 0x9C, 0xAC, 0xBC,
1335
 
    0xCC, 0xEC, 0xFC, 0xDD, 0xED, 0xFD, 0xCE, 0xDE, 0xEE, 0xFE, 0xAF, 0xBF,
1336
 
    0xCF, 0xDF, 0xEF, 0xFF
1337
 
};
1338
 
 
1339
 
static const uint8_t huff_b26_cb[12] = {
1340
 
    3, 12, 2, 2, 4, 5, 11, 26, 67, 78, 51, 10
1341
 
};
1342
 
 
1343
 
static const uint8_t huff_b26_xlat[256] = {
1344
 
    0x00, 0x01, 0x10, 0x11, 0x20, 0x21, 0x02, 0x12, 0x30, 0x31, 0x22, 0x03,
1345
 
    0x13, 0x40, 0x41, 0x51, 0x32, 0x42, 0x23, 0x33, 0x04, 0x14, 0x24, 0x15,
1346
 
    0x50, 0x61, 0x71, 0xD1, 0xE1, 0x52, 0x62, 0xD2, 0x43, 0x53, 0xD3, 0x34,
1347
 
    0x44, 0x05, 0x25, 0x35, 0x06, 0x16, 0x26, 0x17, 0x18, 0x1D, 0x2D, 0x3D,
1348
 
    0x1E, 0x2E, 0x60, 0x70, 0x80, 0xD0, 0xE0, 0xF0, 0x81, 0x91, 0xA1, 0xC1,
1349
 
    0xF1, 0x72, 0x82, 0x92, 0xC2, 0xE2, 0xF2, 0x63, 0x73, 0xE3, 0xF3, 0x54,
1350
 
    0x64, 0x74, 0xD4, 0xE4, 0xF4, 0x45, 0x55, 0x65, 0xD5, 0xE5, 0xF5, 0x36,
1351
 
    0x46, 0x56, 0xD6, 0xE6, 0x07, 0x27, 0x37, 0x47, 0xD7, 0x08, 0x28, 0x38,
1352
 
    0x19, 0x29, 0x1A, 0x1B, 0x1C, 0x2C, 0x0D, 0x4D, 0x5D, 0x6D, 0x7D, 0x0E,
1353
 
    0x3E, 0x4E, 0x5E, 0x6E, 0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x90, 0xA0, 0xC0,
1354
 
    0xB1, 0xA2, 0xB2, 0x83, 0x93, 0xA3, 0xB3, 0xC3, 0x84, 0x94, 0xA4, 0xC4,
1355
 
    0x75, 0x85, 0x95, 0xC5, 0x66, 0x76, 0x86, 0x96, 0xC6, 0xF6, 0x57, 0x67,
1356
 
    0x77, 0xE7, 0xF7, 0x48, 0x58, 0x68, 0x78, 0xD8, 0xE8, 0xF8, 0x09, 0x39,
1357
 
    0x49, 0x59, 0xD9, 0xE9, 0xF9, 0x0A, 0x2A, 0x3A, 0x4A, 0xDA, 0xEA, 0x0B,
1358
 
    0x2B, 0x3B, 0xDB, 0xEB, 0x0C, 0x3C, 0x4C, 0x5C, 0x6C, 0xDC, 0x8D, 0x9D,
1359
 
    0xAD, 0xBD, 0xCD, 0x7E, 0x8E, 0x9E, 0xAE, 0xBE, 0xCE, 0x5F, 0x6F, 0x7F,
1360
 
    0x8F, 0x9F, 0xAF, 0xB0, 0xB4, 0xA5, 0xB5, 0xA6, 0xB6, 0x87, 0x97, 0xA7,
1361
 
    0xB7, 0xC7, 0x88, 0x98, 0xA8, 0xC8, 0x69, 0x79, 0x89, 0x99, 0xA9, 0xC9,
1362
 
    0x5A, 0x6A, 0x7A, 0x9A, 0xCA, 0xFA, 0x4B, 0x5B, 0x6B, 0x7B, 0xCB, 0xFB,
1363
 
    0x7C, 0x8C, 0x9C, 0xAC, 0xBC, 0xCC, 0xEC, 0xFC, 0xDD, 0xED, 0xFD, 0xDE,
1364
 
    0xEE, 0xFE, 0xBF, 0xCF, 0xDF, 0xEF, 0xB8, 0xB9, 0x8A, 0xAA, 0xBA, 0x8B,
1365
 
    0x9B, 0xAB, 0xBB, 0xFF
1366
 
};
1367
 
 
1368
 
static const uint8_t huff_b32_cb[12] = {
1369
 
    2, 11, 1, 0, 4, 6, 7, 10, 22, 11, 16, 4
1370
 
};
1371
 
 
1372
 
static const uint8_t huff_b32_xlat[81] = {
1373
 
    0x00, 0x40, 0x10, 0x04, 0x01, 0x50, 0x44, 0x14, 0x41, 0x11, 0x05, 0x80,
1374
 
    0x54, 0x51, 0x45, 0x15, 0x55, 0x02, 0x90, 0x20, 0x60, 0x84, 0x24, 0x08,
1375
 
    0x18, 0x09, 0x12, 0x06, 0xA0, 0x94, 0x64, 0x48, 0x58, 0x81, 0x91, 0x21,
1376
 
    0x61, 0x85, 0x95, 0x25, 0x65, 0x49, 0x19, 0x59, 0x42, 0x52, 0x46, 0x16,
1377
 
    0x56, 0x0A, 0xA4, 0x28, 0x68, 0xA1, 0xA5, 0x29, 0x69, 0x26, 0x4A, 0x1A,
1378
 
    0x5A, 0x88, 0x98, 0xA8, 0x89, 0x99, 0xA9, 0x82, 0x92, 0x22, 0x62, 0x86,
1379
 
    0x96, 0x66, 0x9A, 0x2A, 0x6A, 0xA2, 0xA6, 0x8A, 0xAA
1380
 
};
1381
 
 
1382
 
static const uint8_t huff_b33_cb[13] = {
1383
 
    2, 12, 1, 0, 0, 4, 11, 8, 28, 92, 97, 13, 2
1384
 
};
1385
 
 
1386
 
static const uint8_t huff_b33_xlat[256] = {
1387
 
    0x00, 0x40, 0x10, 0x04, 0x01, 0x50, 0x44, 0x14, 0x54, 0x41, 0x11, 0x51,
1388
 
    0x05, 0x45, 0x15, 0x55, 0x20, 0x95, 0x65, 0x49, 0x59, 0x52, 0x46, 0x16,
1389
 
    0x80, 0x90, 0x60, 0x84, 0x94, 0x24, 0x64, 0xA4, 0x08, 0x48, 0x18, 0x58,
1390
 
    0x81, 0x91, 0x21, 0x61, 0x85, 0x25, 0x09, 0x19, 0x69, 0x02, 0x42, 0x12,
1391
 
    0x06, 0x56, 0x5A, 0x57, 0xD0, 0x74, 0x68, 0x5C, 0xC1, 0xD5, 0xA5, 0xE5,
1392
 
    0x75, 0xB5, 0xF5, 0x99, 0xD9, 0xA9, 0xE9, 0x79, 0xB9, 0xF9, 0x1D, 0x5D,
1393
 
    0x9D, 0xDD, 0x6D, 0xAD, 0xED, 0x7D, 0xBD, 0xFD, 0x82, 0x92, 0xD2, 0x62,
1394
 
    0x96, 0xD6, 0x26, 0x66, 0xA6, 0xE6, 0x76, 0xB6, 0xF6, 0x0A, 0x4A, 0x1A,
1395
 
    0x9A, 0xDA, 0x2A, 0x6A, 0xAA, 0xEA, 0x7A, 0xBA, 0xFA, 0x5E, 0x9E, 0xDE,
1396
 
    0x6E, 0xAE, 0xEE, 0x7E, 0xBE, 0xFE, 0x03, 0x13, 0x53, 0x17, 0x97, 0xD7,
1397
 
    0x67, 0xA7, 0xE7, 0x77, 0xB7, 0xF7, 0x5B, 0x9B, 0xDB, 0x6B, 0xAB, 0xEB,
1398
 
    0x7B, 0xBB, 0xFB, 0x5F, 0x9F, 0xDF, 0x6F, 0xAF, 0xEF, 0x7F, 0xBF, 0xFF,
1399
 
    0xC0, 0xA0, 0xE0, 0x30, 0xC4, 0xD4, 0xE4, 0x34, 0xB4, 0xF4, 0x88, 0xC8,
1400
 
    0x98, 0xD8, 0x28, 0xA8, 0xE8, 0x38, 0x78, 0xB8, 0xF8, 0x0C, 0x4C, 0x1C,
1401
 
    0x9C, 0xDC, 0x6C, 0xAC, 0xEC, 0x7C, 0xBC, 0xFC, 0xD1, 0xA1, 0xE1, 0x31,
1402
 
    0x71, 0xB1, 0xF1, 0xC5, 0x35, 0x89, 0xC9, 0x29, 0x39, 0x0D, 0x4D, 0x8D,
1403
 
    0xCD, 0x2D, 0x3D, 0x22, 0xA2, 0xE2, 0x72, 0xB2, 0xF2, 0x86, 0xC6, 0x36,
1404
 
    0x8A, 0xCA, 0x3A, 0x0E, 0x4E, 0x8E, 0xCE, 0x1E, 0x2E, 0x3E, 0x43, 0x83,
1405
 
    0x93, 0xD3, 0x23, 0x63, 0xA3, 0xE3, 0x73, 0xB3, 0xF3, 0x07, 0x47, 0x87,
1406
 
    0xC7, 0x27, 0x37, 0x4B, 0x8B, 0xCB, 0x1B, 0x2B, 0x3B, 0x4F, 0x8F, 0xCF,
1407
 
    0x1F, 0x70, 0xB0, 0xF0, 0x8C, 0xCC, 0x2C, 0x3C, 0xC2, 0x32, 0xC3, 0x0F,
1408
 
    0x2F, 0x3F, 0x33, 0x0B
1409
 
};
1410
 
 
1411
 
static const uint8_t huff_b35_cb[14] = {
1412
 
    1, 12, 1, 0, 0, 0, 4, 6, 6, 14, 42, 63, 59, 30
1413
 
};
1414
 
 
1415
 
static const uint8_t huff_b35_xlat[225] = {
1416
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0x11, 0xF1, 0x02, 0x0E, 0x1F, 0xFF, 0x20,
1417
 
    0xE0, 0x21, 0xF2, 0xFE, 0xEF, 0x30, 0xD0, 0xE1, 0x12, 0x22, 0xE2, 0x03,
1418
 
    0x0D, 0x1D, 0x1E, 0x2E, 0xEE, 0x2F, 0xDF, 0x40, 0x60, 0x70, 0x90, 0xA0,
1419
 
    0xB0, 0xC0, 0x31, 0x71, 0x91, 0xC1, 0xD1, 0x32, 0xD2, 0x13, 0xE3, 0xF3,
1420
 
    0x04, 0x05, 0x06, 0x07, 0x17, 0xF7, 0x09, 0x19, 0x0A, 0x1A, 0xFA, 0x0C,
1421
 
    0x1C, 0x2D, 0xED, 0xFD, 0x3E, 0x7E, 0xDE, 0x3F, 0x6F, 0x7F, 0x9F, 0xAF,
1422
 
    0xCF, 0x50, 0x41, 0x51, 0x61, 0xA1, 0xB1, 0x62, 0x72, 0x92, 0xA2, 0xC2,
1423
 
    0x23, 0x33, 0x63, 0x73, 0x93, 0xA3, 0xD3, 0x14, 0x24, 0x34, 0xD4, 0xE4,
1424
 
    0xF4, 0x15, 0xF5, 0x16, 0x26, 0xD6, 0xE6, 0xF6, 0x27, 0x37, 0x47, 0xE7,
1425
 
    0x29, 0x39, 0xC9, 0xD9, 0xE9, 0xF9, 0x2A, 0xEA, 0x0B, 0x1B, 0xFB, 0x2C,
1426
 
    0x7C, 0xEC, 0xFC, 0x3D, 0x4D, 0x6D, 0x7D, 0xDD, 0x4E, 0x5E, 0x6E, 0x9E,
1427
 
    0xAE, 0xCE, 0x4F, 0x5F, 0x42, 0x52, 0xB2, 0x43, 0xB3, 0xC3, 0x44, 0x64,
1428
 
    0x74, 0x94, 0xA4, 0x25, 0x35, 0x65, 0x75, 0x95, 0xA5, 0xE5, 0x36, 0x46,
1429
 
    0x66, 0x76, 0x96, 0xA6, 0xB6, 0xC6, 0x57, 0xA7, 0xB7, 0xC7, 0xD7, 0x59,
1430
 
    0xA9, 0xB9, 0x3A, 0x4A, 0x6A, 0xCA, 0xDA, 0x2B, 0x3B, 0x6B, 0x9B, 0xAB,
1431
 
    0xDB, 0xEB, 0x3C, 0x6C, 0x9C, 0xAC, 0xCC, 0xDC, 0x5D, 0x9D, 0xAD, 0xBD,
1432
 
    0xCD, 0xBE, 0xBF, 0x53, 0x54, 0xB4, 0xC4, 0x45, 0x55, 0xB5, 0xC5, 0xD5,
1433
 
    0x56, 0x67, 0x77, 0x97, 0x49, 0x69, 0x79, 0x99, 0x5A, 0x7A, 0x9A, 0xAA,
1434
 
    0xBA, 0x4B, 0x5B, 0x7B, 0xBB, 0xCB, 0x4C, 0x5C, 0xBC
1435
 
};
1436
 
 
1437
 
static const uint8_t huff_b37_cb[13] = {
1438
 
    1, 11, 1, 0, 2, 0, 2, 2, 6, 17, 14, 13, 6
1439
 
};
1440
 
 
1441
 
static const uint8_t huff_b37_xlat[63] = {
1442
 
     0,  1, 63,  2, 62,  3, 61,  4,  5,  6, 58, 59, 60,  7,  8,  9,
1443
 
    10, 25, 26, 27, 28, 29, 34, 35, 37, 38, 39, 55, 56, 57, 11, 13,
1444
 
    14, 15, 30, 31, 33, 36, 49, 50, 51, 52, 53, 54, 12, 16, 17, 18,
1445
 
    19, 21, 41, 43, 44, 45, 46, 47, 48, 20, 22, 23, 24, 40, 42
1446
 
};
1447
 
 
1448
 
static const uint8_t huff_b41_cb[14] = {
1449
 
    1, 12, 1, 0, 0, 1, 7, 0, 20, 4, 10, 24, 2, 12
1450
 
};
1451
 
 
1452
 
static const uint8_t huff_b41_xlat[81] = {
1453
 
    0x00, 0x01, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x03, 0x50, 0xD0, 0x70,
1454
 
    0xF0, 0xC4, 0x14, 0x34, 0x4C, 0x1C, 0x3C, 0xC1, 0x11, 0x31, 0x05, 0x0D,
1455
 
    0xC3, 0x13, 0x33, 0x07, 0x0F, 0x44, 0xCC, 0x41, 0x43, 0x54, 0x74, 0xDC,
1456
 
    0xFC, 0x71, 0x15, 0x4D, 0x1D, 0x37, 0x3F, 0xD4, 0xF4, 0x5C, 0x7C, 0x51,
1457
 
    0xD1, 0xF1, 0x45, 0xC5, 0x35, 0xCD, 0xDD, 0x3D, 0x53, 0xD3, 0x73, 0xF3,
1458
 
    0x47, 0xC7, 0x17, 0x77, 0x4F, 0xCF, 0x1F, 0x55, 0xFF, 0xD5, 0x75, 0xF5,
1459
 
    0x5D, 0x7D, 0xFD, 0x57, 0xD7, 0xF7, 0x5F, 0xDF, 0x7F
1460
 
};
1461
 
 
1462
 
static const uint8_t huff_b42_cb[11] = { 1, 9, 1, 0, 1, 3, 2, 3, 7, 4, 4 };
1463
 
 
1464
 
static const uint8_t huff_b42_xlat[25] = {
1465
 
    0x00, 0x07, 0x08, 0x38, 0x01, 0x39, 0x0F, 0x10, 0x09, 0x3F, 0x30, 0x31,
1466
 
    0x02, 0x3A, 0x06, 0x0E, 0x17, 0x11, 0x0A, 0x3E, 0x37, 0x12, 0x32, 0x16,
1467
 
    0x36
1468
 
};
1469
 
 
1470
 
static const uint8_t huff_b43_cb[10] = { 2, 9, 1, 1, 3, 4, 9, 15, 12, 4 };
1471
 
 
1472
 
static const uint8_t huff_b43_xlat[49] = {
1473
 
    0x00, 0x07, 0x08, 0x38, 0x01, 0x09, 0x39, 0x0F, 0x3F, 0x10, 0x30, 0x31,
1474
 
    0x02, 0x3A, 0x06, 0x0E, 0x17, 0x37, 0x18, 0x28, 0x11, 0x19, 0x29, 0x0A,
1475
 
    0x03, 0x0B, 0x3B, 0x05, 0x0D, 0x3D, 0x3E, 0x1F, 0x2F, 0x12, 0x1A, 0x2A,
1476
 
    0x32, 0x13, 0x33, 0x15, 0x35, 0x16, 0x1E, 0x2E, 0x36, 0x1B, 0x2B, 0x1D,
1477
 
    0x2D
1478
 
};
1479
 
 
1480
 
static const uint8_t huff_b47_cb[10] = { 2, 9, 1, 1, 3, 4, 6, 14, 22, 12 };
1481
 
 
1482
 
static const uint8_t huff_b47_xlat[63] = {
1483
 
     0,  1,  2, 62, 63,  3,  4, 60, 61,  5,  6,  7, 57, 58, 59,  8,
1484
 
     9, 10, 11, 12, 26, 27, 37, 38, 52, 53, 54, 55, 56, 13, 14, 15,
1485
 
    16, 17, 18, 25, 28, 29, 30, 31, 33, 34, 35, 36, 39, 46, 47, 48,
1486
 
    49, 50, 51, 19, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44, 45
1487
 
};
1488
 
 
1489
 
static const uint8_t huff_b52_cb[11] = { 1, 9, 1, 0, 1, 3, 2, 3, 7, 4, 4 };
1490
 
 
1491
 
static const uint8_t huff_b52_xlat[25] = {
1492
 
    0x00, 0x01, 0x08, 0x38, 0x07, 0x39, 0x0F, 0x30, 0x09, 0x3F, 0x10, 0x31,
1493
 
    0x02, 0x3A, 0x06, 0x0E, 0x17, 0x11, 0x0A, 0x3E, 0x37, 0x12, 0x32, 0x16,
1494
 
    0x36
1495
 
};
1496
 
 
1497
 
static const uint8_t huff_b53_cb[7] = { 1, 5, 1, 1, 1, 0, 4 }; // same as b63!!!
1498
 
 
1499
 
static const uint8_t huff_b53_xlat[7] = { 0, 7, 1, 2, 3, 5, 6 };
1500
 
 
1501
 
static const uint8_t huff_b56_cb[11] = { 1, 9, 1, 0, 2, 0, 2, 4, 11, 9, 2 };
1502
 
 
1503
 
static const uint8_t huff_b56_xlat[31] = {
1504
 
     0,  1, 31,  2, 30, 3,  4, 13, 29,  5,  6,  7, 14, 15, 17, 18,
1505
 
    19, 26, 27, 28,  8, 9, 12, 20, 21, 22, 23, 24, 25, 10, 11
1506
 
};
1507
 
 
1508
 
static const uint8_t huff_b62_cb[14] = {
1509
 
    1, 12, 1, 0, 0, 2, 3, 5, 12, 14, 18, 15, 9, 2
1510
 
};
1511
 
 
1512
 
static const uint8_t huff_b62_xlat[81] = {
1513
 
    0x00, 0x40, 0x01, 0x10, 0x04, 0x02, 0x80, 0x50, 0x90, 0x05, 0x06, 0x20,
1514
 
    0x60, 0x44, 0x14, 0x54, 0x24, 0x08, 0x18, 0x41, 0x11, 0x15, 0x09, 0xA0,
1515
 
    0x84, 0x94, 0x64, 0xA4, 0x28, 0x51, 0x45, 0x55, 0x19, 0x12, 0x16, 0x0A,
1516
 
    0x1A, 0x48, 0x58, 0x68, 0x81, 0x91, 0x21, 0x61, 0x85, 0x95, 0x25, 0x65,
1517
 
    0x49, 0x59, 0x29, 0x69, 0x42, 0x46, 0x56, 0x88, 0x98, 0xA8, 0xA1, 0xA5,
1518
 
    0x99, 0xA9, 0x52, 0x22, 0x26, 0x66, 0x4A, 0x5A, 0x2A, 0x6A, 0x89, 0x82,
1519
 
    0x92, 0x62, 0x86, 0x96, 0xA6, 0x8A, 0xAA, 0xA2, 0x9A
1520
 
};
1521
 
 
1522
 
static const uint8_t huff_b63_cb[7] = { 1, 5, 1, 1, 1, 0, 4 };
1523
 
 
1524
 
static const uint8_t huff_b63_xlat[7] = { 0, 1, 7, 2, 3, 5, 6 };
1525
 
 
1526
 
static const uint8_t huff_b64_cb[7] = { 1, 5, 1, 1, 1, 1, 2 };
1527
 
 
1528
 
static const uint8_t huff_b64_xlat[6] = { 1, 0, 2, 5, 3, 4 };
1529
 
 
1530
 
static const uint8_t huff_b65_cb[14] = {
1531
 
    1, 12, 1, 0, 0, 2, 2, 2, 6, 12, 34, 92, 54, 20
1532
 
};
1533
 
 
1534
 
static const uint8_t huff_b65_xlat[225] = {
1535
 
    0x00, 0xF0, 0x01, 0x10, 0x0F, 0x11, 0xF1, 0x20, 0xE0, 0x02, 0x0E, 0x1F,
1536
 
    0xFF, 0xD0, 0x21, 0xE1, 0x12, 0xF2, 0x07, 0x0A, 0x0D, 0x1E, 0xFE, 0x2F,
1537
 
    0xEF, 0x30, 0x70, 0x90, 0xA0, 0xC0, 0x71, 0x91, 0xC1, 0xD1, 0x32, 0x92,
1538
 
    0xE2, 0x03, 0x13, 0x63, 0x04, 0x06, 0xE6, 0xE7, 0xF7, 0x09, 0x19, 0x39,
1539
 
    0xFA, 0x0C, 0x1C, 0xDD, 0xED, 0xFD, 0x2E, 0x7E, 0x9E, 0x3F, 0x9F, 0x40,
1540
 
    0x50, 0x60, 0xB0, 0x31, 0x41, 0x61, 0xA1, 0xB1, 0x22, 0x42, 0x72, 0xA2,
1541
 
    0xB2, 0xC2, 0xD2, 0x23, 0x33, 0x73, 0xA3, 0xC3, 0xD3, 0xE3, 0xF3, 0x14,
1542
 
    0x24, 0x34, 0x44, 0x74, 0xD4, 0xE4, 0x05, 0x25, 0x45, 0x65, 0x95, 0xA5,
1543
 
    0x16, 0x26, 0x46, 0x76, 0xA6, 0xB6, 0xC6, 0xD6, 0xF6, 0x17, 0x27, 0x37,
1544
 
    0x47, 0x67, 0xA7, 0xD7, 0x29, 0x69, 0xB9, 0xD9, 0xE9, 0xF9, 0x1A, 0x2A,
1545
 
    0x3A, 0x9A, 0xCA, 0xDA, 0xEA, 0x0B, 0x1B, 0x3B, 0x6B, 0xEB, 0xFB, 0x2C,
1546
 
    0x6C, 0xEC, 0xFC, 0x1D, 0x2D, 0x4D, 0x6D, 0x9D, 0xAD, 0x3E, 0x4E, 0x6E,
1547
 
    0xAE, 0xCE, 0xEE, 0x4F, 0x5F, 0x6F, 0xDF, 0x51, 0x52, 0x62, 0x43, 0x93,
1548
 
    0xB3, 0x54, 0x94, 0xA4, 0xF4, 0x15, 0x75, 0xB5, 0xE5, 0xF5, 0x36, 0x56,
1549
 
    0x66, 0x96, 0x57, 0x77, 0x49, 0x59, 0xA9, 0xC9, 0x4A, 0x5A, 0x6A, 0x7A,
1550
 
    0xAA, 0xBA, 0x2B, 0x4B, 0x7B, 0x9B, 0xAB, 0xDB, 0x3C, 0x4C, 0x7C, 0x9C,
1551
 
    0xAC, 0xBC, 0xCC, 0x3D, 0x5D, 0x7D, 0xBD, 0xCD, 0x5E, 0xBE, 0xDE, 0xBF,
1552
 
    0xCF, 0x53, 0x64, 0xB4, 0xC4, 0x35, 0x55, 0xC5, 0xD5, 0x97, 0xB7, 0xC7,
1553
 
    0x79, 0x99, 0x5B, 0xBB, 0xCB, 0x5C, 0xDC, 0x7F, 0xAF
1554
 
};
1555
 
 
1556
 
static const uint8_t huff_b66_cb[14] = {
1557
 
    1, 12, 1, 0, 0, 3, 0, 3, 3, 10, 40, 85, 61, 50
1558
 
};
1559
 
 
1560
 
static const uint8_t huff_b66_xlat[256] = {
1561
 
    0x00, 0x10, 0x01, 0x11, 0x21, 0x02, 0x12, 0x20, 0x22, 0x13, 0x30, 0x31,
1562
 
    0x41, 0xD1, 0xE1, 0x32, 0x52, 0x03, 0x23, 0x2D, 0x40, 0x50, 0x60, 0x80,
1563
 
    0xD0, 0xE0, 0x51, 0x61, 0xF1, 0x42, 0x62, 0xD2, 0xE2, 0xF2, 0x33, 0x43,
1564
 
    0xC3, 0xD3, 0xE3, 0x04, 0x14, 0xD4, 0xF4, 0x25, 0x35, 0x16, 0x17, 0xF7,
1565
 
    0xD8, 0x1C, 0x3C, 0x0D, 0x1D, 0x3D, 0x5D, 0x0E, 0x1E, 0x2E, 0x7E, 0x2F,
1566
 
    0xC0, 0xF0, 0x71, 0x81, 0x91, 0xC1, 0x72, 0x82, 0x92, 0xB2, 0xC2, 0x53,
1567
 
    0x63, 0x73, 0x93, 0xA3, 0xF3, 0x24, 0x44, 0x64, 0x84, 0xA4, 0xB4, 0x05,
1568
 
    0x15, 0x95, 0xD5, 0x06, 0x26, 0x36, 0x46, 0x96, 0xD6, 0xE6, 0xF6, 0x07,
1569
 
    0x27, 0x37, 0xD7, 0xE7, 0x08, 0x18, 0x28, 0x38, 0xE8, 0xF8, 0x09, 0x19,
1570
 
    0x29, 0xE9, 0xF9, 0x0A, 0x1A, 0xCA, 0xDA, 0xEA, 0x0B, 0x1B, 0xDB, 0xEB,
1571
 
    0xFB, 0x2C, 0x4C, 0x5C, 0x7C, 0x8C, 0x4D, 0x6D, 0x8D, 0x9D, 0xFD, 0x3E,
1572
 
    0x5E, 0x6E, 0x8E, 0x9E, 0xEE, 0x0F, 0x1F, 0x3F, 0x4F, 0x5F, 0x6F, 0x7F,
1573
 
    0xCF, 0x70, 0xA1, 0xA2, 0x83, 0xB3, 0x34, 0x74, 0xC4, 0xE4, 0x55, 0x65,
1574
 
    0x85, 0xA5, 0xC5, 0xE5, 0xF5, 0x56, 0x66, 0x76, 0x86, 0xA6, 0xC6, 0x57,
1575
 
    0x67, 0x77, 0x97, 0xA7, 0x48, 0x88, 0x98, 0x49, 0x59, 0x79, 0x99, 0x3A,
1576
 
    0x4A, 0x8A, 0xBA, 0xFA, 0x2B, 0x7B, 0x0C, 0xAC, 0xBC, 0xCC, 0xEC, 0x7D,
1577
 
    0xAD, 0xBD, 0xDD, 0x4E, 0xBE, 0xCE, 0xFE, 0x8F, 0x9F, 0xAF, 0xBF, 0xDF,
1578
 
    0xEF, 0xFF, 0x90, 0xA0, 0xB0, 0xB1, 0x54, 0x94, 0x45, 0x75, 0xB5, 0xB6,
1579
 
    0x47, 0x87, 0xB7, 0xC7, 0x58, 0x68, 0x78, 0xA8, 0xB8, 0xC8, 0x39, 0x69,
1580
 
    0x89, 0xA9, 0xB9, 0xC9, 0xD9, 0x2A, 0x5A, 0x6A, 0x7A, 0x9A, 0xAA, 0x3B,
1581
 
    0x4B, 0x5B, 0x6B, 0x8B, 0x9B, 0xAB, 0xBB, 0xCB, 0x6C, 0x9C, 0xDC, 0xFC,
1582
 
    0xCD, 0xED, 0xAE, 0xDE
1583
 
};
1584
 
 
1585
 
static const uint8_t huff_b67_cb[10] = { 2, 9, 1, 2, 1, 4, 7, 10, 26, 12 };
1586
 
 
1587
 
static const uint8_t huff_b67_xlat[63] = {
1588
 
     0,  1, 63, 62,  2,  3, 60, 61,  4,  5,  6,  7, 57, 58, 59,  8,
1589
 
     9, 10, 11, 12, 52, 53, 54, 55, 56, 13, 14, 15, 16, 17, 18, 25,
1590
 
    26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 46, 47, 48,
1591
 
    49, 50, 51, 19, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44, 45
1592
 
};
1593
 
 
1594
 
static const uint8_t huff_b71_cb[14] = {
1595
 
    1, 12, 1, 0, 0, 1, 7, 0, 19, 5, 13, 23, 0, 12
1596
 
};
1597
 
 
1598
 
static const uint8_t huff_b71_xlat[81] = {
1599
 
    0x00, 0x03, 0x40, 0xC0, 0x10, 0x30, 0x04, 0x0C, 0x01, 0x50, 0xD0, 0x70,
1600
 
    0xF0, 0xC4, 0x14, 0x34, 0x4C, 0x1C, 0x3C, 0xC1, 0x11, 0x31, 0x05, 0x0D,
1601
 
    0x13, 0x33, 0x07, 0x0F, 0x44, 0xCC, 0x41, 0x43, 0xC3, 0x54, 0x74, 0xDC,
1602
 
    0xFC, 0xF1, 0xC5, 0x15, 0x1D, 0x53, 0xC7, 0x37, 0x4F, 0x3F, 0xD4, 0xF4,
1603
 
    0x5C, 0x7C, 0x51, 0xD1, 0x71, 0x45, 0x55, 0x35, 0x4D, 0xCD, 0xDD, 0x3D,
1604
 
    0xD3, 0x73, 0xF3, 0x47, 0x17, 0x77, 0xCF, 0x1F, 0xFF, 0xD5, 0x75, 0xF5,
1605
 
    0x5D, 0x7D, 0xFD, 0x57, 0xD7, 0xF7, 0x5F, 0xDF, 0x7F
1606
 
};
1607
 
 
1608
 
static const uint8_t huff_b73_cb[13] = {
1609
 
    1, 11, 1, 0, 0, 0, 1, 4, 9, 4, 103, 110, 24
1610
 
};
1611
 
 
1612
 
static const uint8_t huff_b73_xlat[256] = {
1613
 
    0x00, 0x40, 0x10, 0x04, 0x01, 0x05, 0x50, 0x14, 0x54, 0x41, 0x11, 0x51,
1614
 
    0x45, 0x15, 0x55, 0x44, 0x95, 0x6A, 0x03, 0x80, 0xC0, 0x90, 0xD0, 0x94,
1615
 
    0xD4, 0x24, 0x64, 0x58, 0x91, 0xA1, 0x85, 0xD5, 0x25, 0x65, 0xA5, 0xE5,
1616
 
    0x75, 0xB5, 0xF5, 0x19, 0x59, 0x99, 0xD9, 0x69, 0xA9, 0xE9, 0x79, 0xB9,
1617
 
    0xF9, 0x4D, 0x5D, 0x9D, 0xDD, 0x6D, 0xAD, 0xED, 0x7D, 0xBD, 0xFD, 0x02,
1618
 
    0x42, 0x52, 0x06, 0x46, 0x16, 0x56, 0x96, 0xD6, 0x26, 0x66, 0xA6, 0xE6,
1619
 
    0x76, 0xB6, 0xF6, 0x1A, 0x5A, 0x9A, 0xDA, 0xAA, 0xEA, 0x7A, 0xBA, 0xFA,
1620
 
    0x5E, 0x9E, 0xDE, 0x6E, 0xAE, 0xEE, 0x7E, 0xBE, 0xFE, 0x07, 0x47, 0x57,
1621
 
    0x97, 0xD7, 0x67, 0xA7, 0xE7, 0x77, 0xB7, 0xF7, 0x5B, 0x9B, 0xDB, 0x6B,
1622
 
    0xAB, 0xEB, 0x7B, 0xBB, 0xFB, 0x5F, 0x9F, 0xDF, 0x6F, 0xAF, 0xEF, 0x7F,
1623
 
    0xBF, 0xFF, 0x20, 0x60, 0x70, 0xB0, 0xF0, 0x84, 0xC4, 0xA4, 0xE4, 0x74,
1624
 
    0xB4, 0xF4, 0x08, 0x88, 0x18, 0x98, 0xD8, 0x68, 0xA8, 0xE8, 0x78, 0xB8,
1625
 
    0xF8, 0x1C, 0x5C, 0x9C, 0xDC, 0x6C, 0xAC, 0xEC, 0x3C, 0x7C, 0xBC, 0xFC,
1626
 
    0x81, 0xD1, 0x21, 0x61, 0xE1, 0x71, 0xB1, 0xF1, 0xC5, 0x35, 0x09, 0x49,
1627
 
    0x89, 0xC9, 0x29, 0x39, 0x0D, 0x8D, 0xCD, 0x1D, 0x2D, 0x3D, 0x92, 0xD2,
1628
 
    0x22, 0x62, 0xA2, 0xE2, 0x72, 0xB2, 0xF2, 0x86, 0xC6, 0x36, 0x0A, 0x4A,
1629
 
    0x8A, 0xCA, 0x2A, 0x3A, 0x0E, 0x4E, 0x8E, 0xCE, 0x1E, 0x2E, 0x3E, 0x13,
1630
 
    0x53, 0x93, 0xD3, 0x63, 0xA3, 0xE3, 0x73, 0xB3, 0xF3, 0x87, 0xC7, 0x17,
1631
 
    0x27, 0x37, 0x0B, 0x4B, 0x8B, 0xCB, 0x1B, 0x2B, 0x3B, 0x0F, 0x4F, 0x8F,
1632
 
    0xCF, 0x1F, 0x2F, 0x3F, 0xA0, 0xE0, 0x30, 0x34, 0x48, 0xC8, 0x28, 0x38,
1633
 
    0x0C, 0x4C, 0x8C, 0xCC, 0x2C, 0xC1, 0x31, 0x82, 0xC2, 0x12, 0x32, 0x43,
1634
 
    0x83, 0xC3, 0x23, 0x33
1635
 
};
1636
 
 
1637
 
static const uint8_t huff_b74_cb[8] = { 1, 6, 1, 0, 2, 2, 2, 4 };
1638
 
 
1639
 
static const uint8_t huff_b74_xlat[11] = {
1640
 
    0, 1, 15, 2, 14, 5, 13, 3, 4, 11, 12
1641
 
};
1642
 
 
1643
 
static const uint8_t huff_b75_cb[13] = {
1644
 
    2, 12, 1, 4, 0, 0, 0, 8, 11, 24, 53, 64, 60
1645
 
};
1646
 
 
1647
 
static const uint8_t huff_b75_xlat[225] = {
1648
 
    0x00, 0x10, 0xF0, 0x01, 0x0F, 0x20, 0xE0, 0x11, 0xF1, 0x02, 0x0E, 0x1F,
1649
 
    0xFF, 0xD0, 0x21, 0xE1, 0x12, 0xF2, 0x03, 0x0D, 0x1E, 0xFE, 0x2F, 0xEF,
1650
 
    0x30, 0x40, 0x60, 0x70, 0x90, 0xA0, 0xC0, 0x31, 0xD1, 0x22, 0xE2, 0x13,
1651
 
    0xF3, 0x04, 0x06, 0x07, 0x09, 0x0C, 0x1D, 0xFD, 0x2E, 0xEE, 0x3F, 0xDF,
1652
 
    0x50, 0xB0, 0x41, 0x61, 0x71, 0x91, 0xA1, 0xC1, 0x32, 0x62, 0x72, 0x92,
1653
 
    0xA2, 0xD2, 0x23, 0xD3, 0xE3, 0x14, 0xF4, 0x05, 0x16, 0x26, 0xE6, 0xF6,
1654
 
    0x17, 0x27, 0xE7, 0xF7, 0x19, 0x29, 0xF9, 0x0A, 0x1A, 0x2A, 0xFA, 0x0B,
1655
 
    0x1C, 0x2C, 0xFC, 0x2D, 0x3D, 0xED, 0x3E, 0x4E, 0x7E, 0x9E, 0xDE, 0x4F,
1656
 
    0x6F, 0x7F, 0x9F, 0xAF, 0xCF, 0x51, 0xB1, 0x42, 0x52, 0xB2, 0xC2, 0x33,
1657
 
    0x63, 0x73, 0x93, 0xA3, 0xB3, 0xC3, 0x24, 0x34, 0x74, 0xA4, 0xD4, 0xE4,
1658
 
    0x15, 0x25, 0x65, 0x95, 0xE5, 0xF5, 0x36, 0xD6, 0x37, 0x47, 0xC7, 0xD7,
1659
 
    0x39, 0x59, 0xB9, 0xC9, 0xD9, 0xE9, 0x3A, 0x6A, 0xDA, 0xEA, 0x1B, 0x2B,
1660
 
    0x9B, 0xAB, 0xEB, 0xFB, 0x6C, 0x7C, 0x9C, 0xAC, 0xEC, 0x4D, 0x6D, 0x7D,
1661
 
    0x9D, 0xAD, 0xBD, 0xDD, 0x5E, 0x6E, 0xAE, 0xCE, 0x5F, 0x43, 0x53, 0x44,
1662
 
    0x54, 0x64, 0x94, 0xB4, 0xC4, 0x35, 0x45, 0x55, 0x75, 0xA5, 0xB5, 0xC5,
1663
 
    0xD5, 0x46, 0x56, 0x66, 0x76, 0x96, 0xA6, 0xB6, 0xC6, 0x57, 0x67, 0x77,
1664
 
    0x97, 0xA7, 0xB7, 0x49, 0x69, 0x79, 0x99, 0xA9, 0x4A, 0x5A, 0x7A, 0x9A,
1665
 
    0xAA, 0xBA, 0xCA, 0x3B, 0x4B, 0x5B, 0x6B, 0x7B, 0xBB, 0xCB, 0xDB, 0x3C,
1666
 
    0x4C, 0x5C, 0xBC, 0xCC, 0xDC, 0x5D, 0xCD, 0xBE, 0xBF
1667
 
};
1668
 
 
1669
 
static const uint8_t huff_b77_cb[12] = {
1670
 
    2, 11, 1, 0, 4, 6, 10, 12, 7, 15, 4, 4
1671
 
};
1672
 
 
1673
 
static const uint8_t huff_b77_xlat[63] = {
1674
 
     0,  1,  2, 62, 63,  3,  4,  5, 59, 60, 61,  6,  7,  8,  9, 10,
1675
 
    54, 55, 56, 57, 58, 11, 12, 13, 14, 15, 16, 47, 49, 50, 51, 52,
1676
 
    53, 17, 18, 19, 20, 45, 46, 48, 21, 22, 23, 24, 25, 26, 27, 37,
1677
 
    38, 39, 40, 41, 42, 43, 44, 28, 29, 30, 35, 31, 33, 34, 36
1678
 
};
1679
 
 
1680
 
const Atrac3pSpecCodeTab ff_atrac3p_spectra_tabs[112] = {
1681
 
    /* table set = A */
1682
 
    /* code table = 0 */
1683
 
    { 1, 4, 2, 1, -1, huff_a01_cb, huff_a01_xlat }, // wordlen = 1
1684
 
    { 1, 4, 2, 0, -1, huff_a02_cb, huff_a02_xlat }, // wordlen = 2
1685
 
    { 1, 2, 3, 1, -1, huff_a03_cb, huff_a03_xlat }, // wordlen = 3
1686
 
    { 1, 1, 3, 0, -1, huff_a04_cb, huff_a04_xlat }, // wordlen = 4
1687
 
    { 1, 2, 4, 1, -1, huff_a05_cb, huff_a05_xlat }, // wordlen = 5
1688
 
    { 1, 1, 4, 0, -1, huff_a06_cb, huff_a06_xlat }, // wordlen = 6
1689
 
    { 1, 1, 6, 1, -1, huff_a07_cb, huff_a07_xlat }, // wordlen = 7
1690
 
 
1691
 
    /* code table = 1 */
1692
 
    { 4, 4, 2, 1, -1, huff_a11_cb, huff_a11_xlat }, // wordlen = 1
1693
 
    { 1, 4, 2, 0, -1, huff_a12_cb, huff_a12_xlat }, // wordlen = 2
1694
 
    { 1, 2, 3, 1, -1, huff_a13_cb, huff_a13_xlat }, // wordlen = 3
1695
 
    { 1, 2, 4, 1, -1, huff_a14_cb, huff_a14_xlat }, // wordlen = 4
1696
 
    { 1, 2, 4, 1, -1, huff_a15_cb, huff_a15_xlat }, // wordlen = 5
1697
 
    { 1, 2, 4, 0, -1, huff_a16_cb, huff_a16_xlat }, // wordlen = 6
1698
 
    { 1, 1, 6, 1, -1, huff_a17_cb, huff_a17_xlat }, // wordlen = 7
1699
 
 
1700
 
    /* code table = 2 */
1701
 
    { 1, 4, 2, 1, -1, huff_a21_cb, huff_a21_xlat }, // wordlen = 1
1702
 
    { 1, 2, 3, 1, -1, huff_a22_cb, huff_a22_xlat }, // wordlen = 2
1703
 
    { 1, 2, 3, 1, -1, huff_a23_cb, huff_a23_xlat }, // wordlen = 3
1704
 
    { 1, 1, 3, 0, -1, huff_a24_cb, NULL          }, // wordlen = 4
1705
 
    { 1, 1, 3, 0, -1, huff_a25_cb, huff_a25_xlat }, // wordlen = 5
1706
 
    { 1, 2, 4, 0, -1, huff_a26_cb, huff_a26_xlat }, // wordlen = 6
1707
 
    { 1, 1, 6, 1, -1, huff_a27_cb, huff_a27_xlat }, // wordlen = 7
1708
 
 
1709
 
    /* code table = 3 */
1710
 
    { 1, 2, 2, 1, -1, huff_a31_cb, huff_a31_xlat }, // wordlen = 1
1711
 
    { 1, 4, 2, 0, -1, huff_a32_cb, huff_a32_xlat }, // wordlen = 2
1712
 
    { 1, 4, 2, 0, -1, huff_a33_cb, huff_a33_xlat }, // wordlen = 3
1713
 
    { 1, 1, 3, 0, -1, huff_a34_cb, huff_a34_xlat }, // wordlen = 4
1714
 
    { 1, 2, 4, 1, -1, huff_a35_cb, huff_a35_xlat }, // wordlen = 5
1715
 
    { 1, 2, 4, 0, -1, huff_a36_cb, huff_a36_xlat }, // wordlen = 6
1716
 
    { 1, 1, 6, 1, -1, huff_a37_cb, huff_a37_xlat }, // wordlen = 7
1717
 
 
1718
 
    /* code table = 4 */
1719
 
    { 1, 4, 2, 1, -1, huff_a41_cb, huff_a41_xlat }, // wordlen = 1
1720
 
    { 1, 4, 2, 0, -1, huff_a42_cb, huff_a42_xlat }, // wordlen = 2
1721
 
    { 1, 1, 3, 1, -1, huff_a43_cb, huff_a43_xlat }, // wordlen = 3
1722
 
    { 1, 2, 4, 1, -1, huff_a44_cb, huff_a44_xlat }, // wordlen = 4
1723
 
    { 1, 1, 3, 0, -1, huff_a45_cb, huff_a45_xlat }, // wordlen = 5
1724
 
    { 1, 2, 4, 0, -1, huff_a46_cb, huff_a46_xlat }, // wordlen = 6
1725
 
    { 1, 1, 6, 1, -1, huff_a47_cb, huff_a47_xlat }, // wordlen = 7
1726
 
 
1727
 
    /* code table = 5 */
1728
 
    { 1, 4, 2, 1, -1, huff_a51_cb, huff_a51_xlat }, // wordlen = 1
1729
 
    { 1, 2, 3, 1, -1, huff_a52_cb, huff_a52_xlat }, // wordlen = 2
1730
 
    { 1, 1, 3, 1, -1, huff_a43_cb, huff_a53_xlat }, // wordlen = 3
1731
 
    { 1, 2, 4, 1, -1, huff_a54_cb, huff_a54_xlat }, // wordlen = 4
1732
 
    { 1, 1, 3, 0, -1, huff_a55_cb, huff_a55_xlat }, // wordlen = 5
1733
 
    { 1, 1, 5, 1, -1, huff_a56_cb, huff_a56_xlat }, // wordlen = 6
1734
 
    { 1, 1, 6, 1, -1, huff_a57_cb, huff_a57_xlat }, // wordlen = 7
1735
 
 
1736
 
    /* code table = 6 */
1737
 
    { 2, 4, 2, 1, -1, huff_a61_cb, huff_a61_xlat }, // wordlen = 1
1738
 
    { 1, 2, 3, 1, -1, huff_a62_cb, huff_a62_xlat }, // wordlen = 2
1739
 
    { 1, 4, 2, 0, -1, huff_a63_cb, huff_a63_xlat }, // wordlen = 3
1740
 
    { 1, 2, 4, 1, -1, huff_a64_cb, huff_a64_xlat }, // wordlen = 4
1741
 
    { 1, 1, 4, 1, -1, huff_a65_cb, huff_a65_xlat }, // wordlen = 5
1742
 
    { 1, 1, 5, 1, -1, huff_a66_cb, huff_a66_xlat }, // wordlen = 6
1743
 
    { 1, 1, 6, 1, -1, huff_a67_cb, huff_a67_xlat }, // wordlen = 7
1744
 
 
1745
 
    /* code table = 7 */
1746
 
    { 1, 2, 1, 0, -1, huff_a71_cb, NULL          }, // wordlen = 1
1747
 
    { 2, 4, 2, 0, -1, huff_a72_cb, huff_a72_xlat }, // wordlen = 2
1748
 
    { 1, 2, 3, 1, -1, huff_a73_cb, huff_a73_xlat }, // wordlen = 3
1749
 
    { 1, 2, 4, 1, -1, huff_a74_cb, huff_a74_xlat }, // wordlen = 4
1750
 
    { 1, 1, 4, 1, -1, huff_a75_cb, huff_a75_xlat }, // wordlen = 5
1751
 
    { 2, 2, 4, 0, -1, huff_a76_cb, huff_a76_xlat }, // wordlen = 6
1752
 
    { 4, 1, 6, 1,  6, NULL,        NULL          }, // wordlen = 7
1753
 
 
1754
 
    /* table set = B */
1755
 
    /* code table = 0 */
1756
 
    { 4, 4, 2, 1, -1, huff_b01_cb, huff_b01_xlat }, // wordlen = 1
1757
 
    { 1, 4, 2, 0, -1, huff_b02_cb, huff_b02_xlat }, // wordlen = 2
1758
 
    { 4, 2, 3, 1, -1, huff_b03_cb, huff_b03_xlat }, // wordlen = 3
1759
 
    { 1, 2, 4, 1, -1, huff_b04_cb, huff_b04_xlat }, // wordlen = 4
1760
 
    { 1, 2, 4, 1, -1, huff_b05_cb, huff_b05_xlat }, // wordlen = 5
1761
 
    { 1, 1, 4, 0,  5, NULL,        NULL          }, // wordlen = 6
1762
 
    { 1, 1, 6, 1, -1, huff_b07_cb, huff_b07_xlat }, // wordlen = 7
1763
 
 
1764
 
    /* code table = 1 */
1765
 
    { 1, 4, 2, 1, 14, NULL,        NULL          }, // wordlen = 1
1766
 
    { 1, 4, 2, 0, -1, huff_b12_cb, huff_b12_xlat }, // wordlen = 2
1767
 
    { 1, 2, 3, 1,  9, NULL,        NULL          }, // wordlen = 3
1768
 
    { 1, 2, 4, 1, -1, huff_b14_cb, huff_b14_xlat }, // wordlen = 4
1769
 
    { 1, 2, 4, 1, 11, NULL,        NULL          }, // wordlen = 5
1770
 
    { 1, 2, 4, 0, -1, huff_b16_cb, huff_b16_xlat }, // wordlen = 6
1771
 
    { 1, 1, 6, 1,  6, NULL,        NULL          }, // wordlen = 7
1772
 
 
1773
 
    /* code table = 2 */
1774
 
    { 4, 4, 2, 1, 28, NULL,        NULL          }, // wordlen = 1
1775
 
    { 4, 4, 2, 0, 22, NULL,        NULL          }, // wordlen = 2
1776
 
    { 1, 2, 3, 1,  2, NULL,        NULL          }, // wordlen = 3
1777
 
    { 1, 2, 4, 1, 31, NULL,        NULL          }, // wordlen = 4
1778
 
    { 2, 2, 4, 1, 60, NULL,        NULL          }, // wordlen = 5
1779
 
    { 2, 2, 4, 0, -1, huff_b26_cb, huff_b26_xlat }, // wordlen = 6
1780
 
    { 4, 1, 6, 1,  6, NULL,        NULL          }, // wordlen = 7
1781
 
 
1782
 
    /* code table = 3 */
1783
 
    { 1, 4, 2, 1, 35, NULL,        NULL          }, // wordlen = 1
1784
 
    { 1, 4, 2, 0, -1, huff_b32_cb, huff_b32_xlat }, // wordlen = 2
1785
 
    { 1, 4, 2, 0, -1, huff_b33_cb, huff_b33_xlat }, // wordlen = 3
1786
 
    { 2, 2, 4, 1, 59, NULL,        NULL          }, // wordlen = 4
1787
 
    { 1, 2, 4, 1, -1, huff_b35_cb, huff_b35_xlat }, // wordlen = 5
1788
 
    { 1, 2, 4, 0, 75, NULL,        NULL          }, // wordlen = 6
1789
 
    { 1, 1, 6, 1, -1, huff_b37_cb, huff_b37_xlat }, // wordlen = 7
1790
 
 
1791
 
    /* code table = 4 */
1792
 
    { 1, 4, 2, 1, -1, huff_b41_cb, huff_b41_xlat }, // wordlen = 1
1793
 
    { 4, 2, 3, 1, -1, huff_b42_cb, huff_b42_xlat }, // wordlen = 2
1794
 
    { 1, 2, 3, 1, -1, huff_b43_cb, huff_b43_xlat }, // wordlen = 3
1795
 
    { 4, 2, 4, 1, 66, NULL,        NULL          }, // wordlen = 4
1796
 
    { 1, 1, 3, 0, 32, NULL,        NULL          }, // wordlen = 5
1797
 
    { 1, 2, 4, 0, 12, NULL,        NULL          }, // wordlen = 6
1798
 
    { 1, 1, 6, 1, -1, huff_b47_cb, huff_b47_xlat }, // wordlen = 7
1799
 
 
1800
 
    /* code table = 5 */
1801
 
    { 2, 4, 2, 1, 42, NULL,        NULL          }, // wordlen = 1
1802
 
    { 1, 2, 3, 1, -1, huff_b52_cb, huff_b52_xlat }, // wordlen = 2
1803
 
    { 4, 1, 3, 1, -1, huff_b53_cb, huff_b53_xlat }, // wordlen = 3
1804
 
    { 1, 1, 3, 0, 17, NULL,        NULL          }, // wordlen = 4
1805
 
    { 1, 1, 3, 0, 39, NULL,        NULL          }, // wordlen = 5
1806
 
    { 1, 1, 5, 1, -1, huff_b56_cb, huff_b56_xlat }, // wordlen = 6
1807
 
    { 2, 1, 6, 1, 62, NULL,        NULL          }, // wordlen = 7
1808
 
 
1809
 
    /* code table = 6 */
1810
 
    { 1, 4, 2, 1, 28, NULL,        NULL          }, // wordlen = 1
1811
 
    { 1, 4, 2, 0, -1, huff_b62_cb, huff_b62_xlat }, // wordlen = 2
1812
 
    { 1, 1, 3, 1, -1, huff_b63_cb, huff_b63_xlat }, // wordlen = 3
1813
 
    { 1, 1, 3, 0, -1, huff_b64_cb, huff_b64_xlat }, // wordlen = 4
1814
 
    { 4, 2, 4, 1, -1, huff_b65_cb, huff_b65_xlat }, // wordlen = 5
1815
 
    { 1, 2, 4, 0, -1, huff_b66_cb, huff_b66_xlat }, // wordlen = 6
1816
 
    { 1, 1, 6, 1, -1, huff_b67_cb, huff_b67_xlat }, // wordlen = 7
1817
 
 
1818
 
    /* code table = 7 */
1819
 
    { 1, 4, 2, 1, -1, huff_b71_cb, huff_b71_xlat }, // wordlen = 1
1820
 
    { 4, 4, 2, 0, 78, NULL,        NULL          }, // wordlen = 2
1821
 
    { 4, 4, 2, 0, -1, huff_b73_cb, huff_b73_xlat }, // wordlen = 3
1822
 
    { 1, 1, 4, 1, -1, huff_b74_cb, huff_b74_xlat }, // wordlen = 4
1823
 
    { 1, 2, 4, 1, -1, huff_b75_cb, huff_b75_xlat }, // wordlen = 5
1824
 
    { 1, 1, 5, 1, 47, NULL,        NULL          }, // wordlen = 6
1825
 
    { 1, 1, 6, 1, -1, huff_b77_cb, huff_b77_xlat }, // wordlen = 7
1826
 
};
1827
 
 
1828
 
/* Huffman tables for gain control data. */
1829
 
const uint8_t ff_atrac3p_huff_gain_npoints1_cb[9] = {
1830
 
    1, 7, 1, 1, 1, 1, 1, 1, 2
1831
 
};
1832
 
 
1833
 
const uint8_t ff_atrac3p_huff_gain_npoints2_xlat[8] = {
1834
 
    0, 1, 7, 2, 6, 3, 4, 5
1835
 
};
1836
 
 
1837
 
const uint8_t ff_atrac3p_huff_gain_lev1_cb[9] = { 1, 7, 1, 0, 2, 2, 1, 2, 8 };
1838
 
const uint8_t ff_atrac3p_huff_gain_lev1_xlat[16] = {
1839
 
    7, 5, 8, 6, 9, 4, 10, 11, 0, 1, 2, 3, 12, 13, 14, 15
1840
 
};
1841
 
 
1842
 
const uint8_t ff_atrac3p_huff_gain_lev2_cb[11] = {
1843
 
    1, 9, 1, 1, 1, 1, 1, 0, 2, 0, 8
1844
 
};
1845
 
 
1846
 
const uint8_t ff_atrac3p_huff_gain_lev2_xlat[15] = {
1847
 
    15, 14, 1, 13, 2, 3, 12, 4, 5, 6, 7, 8, 9, 10, 11
1848
 
};
1849
 
 
1850
 
const uint8_t ff_atrac3p_huff_gain_lev3_cb[11] = {
1851
 
    1, 9, 1, 0, 3, 1, 1, 0, 2, 0, 8
1852
 
};
1853
 
 
1854
 
const uint8_t ff_atrac3p_huff_gain_lev3_xlat[16] = {
1855
 
    0, 1, 14, 15, 2, 13, 3, 12, 4, 5, 6, 7, 8, 9, 10, 11
1856
 
};
1857
 
 
1858
 
const uint8_t ff_atrac3p_huff_gain_lev4_cb[11] = {
1859
 
    1, 9, 1, 1, 1, 1, 1, 0, 1, 2, 8
1860
 
};
1861
 
 
1862
 
const uint8_t ff_atrac3p_huff_gain_lev4_xlat[16] = {
1863
 
    0, 1, 15, 14, 2, 13, 3, 12, 4, 5, 6, 7, 8, 9, 10, 11
1864
 
};
1865
 
 
1866
 
const uint8_t ff_atrac3p_huff_gain_loc1_cb[9] = { 2, 8, 1, 2, 4, 4, 4, 0, 16 };
1867
 
const uint8_t ff_atrac3p_huff_gain_loc1_xlat[31] = {
1868
 
     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
1869
 
    17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
1870
 
};
1871
 
 
1872
 
const uint8_t ff_atrac3p_huff_gain_loc2_cb[8] = { 3, 8, 5, 3, 2, 3, 2, 16 };
1873
 
const uint8_t ff_atrac3p_huff_gain_loc2_xlat[31] = {
1874
 
     2,  3,  4,  5,  6,  1,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
1875
 
    17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
1876
 
};
1877
 
 
1878
 
const uint8_t ff_atrac3p_huff_gain_loc3_cb[7] = { 2, 6, 1, 0, 2, 11, 18 };
1879
 
const uint8_t ff_atrac3p_huff_gain_loc3_xlat[32] = {
1880
 
    0,   1, 31,  2,  3,  4,  5,  6,  7, 26, 27, 28, 29, 30,  8,  9,
1881
 
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
1882
 
};
1883
 
 
1884
 
const uint8_t ff_atrac3p_huff_gain_loc4_cb[5] = { 4, 6, 3, 23, 6 };
1885
 
const uint8_t ff_atrac3p_huff_gain_loc4_xlat[32] = {
1886
 
    0,  28, 29,  1,  2,  3,  4, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1887
 
    20, 21, 22, 23, 24, 25, 26, 27, 30, 31,  5,  6,  7,  8,  9, 10
1888
 
};
1889
 
 
1890
 
const uint8_t ff_atrac3p_huff_gain_loc5_cb[9] = { 1, 7, 1, 0, 0, 3, 2, 6, 20 };
1891
 
const uint8_t ff_atrac3p_huff_gain_loc5_xlat[32] = {
1892
 
    0,   1,  2, 31,  3,  4,  5,  6,  7,  8, 29, 30,  9, 10, 11, 12,
1893
 
    13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
1894
 
};
1895
 
 
1896
 
/* Huffman tables for GHA waves data. */
1897
 
const uint8_t ff_atrac3p_huff_tonebands_cb[8] = { 1, 6, 1, 0, 1, 2, 4, 8 };
1898
 
const uint8_t ff_atrac3p_huff_numwavs1_cb[9] = { 1, 7, 1, 1, 1, 1, 1, 1, 2 };
1899
 
const uint8_t ff_atrac3p_huff_numwavs2_cb[8] = { 1, 6, 1, 1, 1, 1, 0, 4 };
1900
 
const uint8_t ff_atrac3p_huff_numwavs2_xlat[8] = { 0, 1, 7, 2, 3, 4, 5, 6 };
1901
 
const uint8_t ff_atrac3p_huff_wav_ampsf1_cb[7] = { 4, 8, 10, 8, 6, 0, 8 };
1902
 
const uint8_t ff_atrac3p_huff_wav_ampsf1_xlat[32] = {
1903
 
     8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 5, 6,  7, 18, 19, 20,
1904
 
    21, 22,  4, 23, 24, 25, 26, 27,  0,  1, 2, 3, 28, 29, 30, 31
1905
 
};
1906
 
 
1907
 
const uint8_t ff_atrac3p_huff_wav_ampsf2_cb[7] = { 4, 8, 11, 5, 6, 6, 4 };
1908
 
const uint8_t ff_atrac3p_huff_wav_ampsf2_xlat[32] = {
1909
 
    18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 14, 15, 16, 17, 29,
1910
 
     9, 10, 11, 12, 13, 30,  4,  5,  6,  7,  8, 31,  0,  1,  2,  3
1911
 
};
1912
 
 
1913
 
const uint8_t ff_atrac3p_huff_wav_ampsf3_cb[9] = { 2, 8, 1, 3, 3, 1, 4, 4, 16 };
1914
 
const uint8_t ff_atrac3p_huff_wav_ampsf3_xlat[32] = {
1915
 
    0, 1,  2, 31,  3, 29, 30,  4,  5,  6, 27, 28,  7, 24, 25, 26,
1916
 
    8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
1917
 
};
1918
 
 
1919
 
const uint8_t ff_atrac3p_huff_freq_cb[13] = {
1920
 
    1, 11, 1, 0, 0, 2, 2, 0, 9, 9, 29, 104, 100
1921
 
};
1922
 
 
1923
 
const uint8_t ff_atrac3p_huff_freq_xlat[256] = {
1924
 
      0,   1, 255,   2, 254,   3,   4,   5,   6,   7,   8, 251, 252, 253,   9,  10,
1925
 
     11,  12, 246, 247, 248, 249, 250,  13,  14,  15,  16,  17,  18,  19,  20,  21,
1926
 
     22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,
1927
 
     38, 243, 244, 245,  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,
1928
 
     51,  52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
1929
 
     67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,
1930
 
     83,  84,  85,  86,  87,  88,  89,  90,  91,  92,  93, 194, 195, 196, 197, 198,
1931
 
    199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1932
 
    215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1933
 
    231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,  94,  95,  96,  97,
1934
 
     98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1935
 
    114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1936
 
    130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1937
 
    146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1938
 
    162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1939
 
    178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193
1940
 
};