Coverage Report

Created: 2026-08-13 08:17

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/fax-0.2.7/src/bitmaps.rs
Line
Count
Source
1
pub mod mode {
2
    pub use super::*;
3
    use crate::{BitReader, Bits};
4
    static PREFIX_LUT_0: [Entry<Mode>; 128usize] = [
5
        Entry::Value(Mode::EOF, 12u8),
6
        Entry::Value(Mode::Extension, 7u8),
7
        Entry::Value(Mode::Vertical(-3), 7u8),
8
        Entry::Value(Mode::Vertical(3), 7u8),
9
        Entry::Value(Mode::Vertical(-2), 6u8),
10
        Entry::Value(Mode::Vertical(-2), 6u8),
11
        Entry::Value(Mode::Vertical(2), 6u8),
12
        Entry::Value(Mode::Vertical(2), 6u8),
13
        Entry::Value(Mode::Pass, 4u8),
14
        Entry::Value(Mode::Pass, 4u8),
15
        Entry::Value(Mode::Pass, 4u8),
16
        Entry::Value(Mode::Pass, 4u8),
17
        Entry::Value(Mode::Pass, 4u8),
18
        Entry::Value(Mode::Pass, 4u8),
19
        Entry::Value(Mode::Pass, 4u8),
20
        Entry::Value(Mode::Pass, 4u8),
21
        Entry::Value(Mode::Horizontal, 3u8),
22
        Entry::Value(Mode::Horizontal, 3u8),
23
        Entry::Value(Mode::Horizontal, 3u8),
24
        Entry::Value(Mode::Horizontal, 3u8),
25
        Entry::Value(Mode::Horizontal, 3u8),
26
        Entry::Value(Mode::Horizontal, 3u8),
27
        Entry::Value(Mode::Horizontal, 3u8),
28
        Entry::Value(Mode::Horizontal, 3u8),
29
        Entry::Value(Mode::Horizontal, 3u8),
30
        Entry::Value(Mode::Horizontal, 3u8),
31
        Entry::Value(Mode::Horizontal, 3u8),
32
        Entry::Value(Mode::Horizontal, 3u8),
33
        Entry::Value(Mode::Horizontal, 3u8),
34
        Entry::Value(Mode::Horizontal, 3u8),
35
        Entry::Value(Mode::Horizontal, 3u8),
36
        Entry::Value(Mode::Horizontal, 3u8),
37
        Entry::Value(Mode::Vertical(-1), 3u8),
38
        Entry::Value(Mode::Vertical(-1), 3u8),
39
        Entry::Value(Mode::Vertical(-1), 3u8),
40
        Entry::Value(Mode::Vertical(-1), 3u8),
41
        Entry::Value(Mode::Vertical(-1), 3u8),
42
        Entry::Value(Mode::Vertical(-1), 3u8),
43
        Entry::Value(Mode::Vertical(-1), 3u8),
44
        Entry::Value(Mode::Vertical(-1), 3u8),
45
        Entry::Value(Mode::Vertical(-1), 3u8),
46
        Entry::Value(Mode::Vertical(-1), 3u8),
47
        Entry::Value(Mode::Vertical(-1), 3u8),
48
        Entry::Value(Mode::Vertical(-1), 3u8),
49
        Entry::Value(Mode::Vertical(-1), 3u8),
50
        Entry::Value(Mode::Vertical(-1), 3u8),
51
        Entry::Value(Mode::Vertical(-1), 3u8),
52
        Entry::Value(Mode::Vertical(-1), 3u8),
53
        Entry::Value(Mode::Vertical(1), 3u8),
54
        Entry::Value(Mode::Vertical(1), 3u8),
55
        Entry::Value(Mode::Vertical(1), 3u8),
56
        Entry::Value(Mode::Vertical(1), 3u8),
57
        Entry::Value(Mode::Vertical(1), 3u8),
58
        Entry::Value(Mode::Vertical(1), 3u8),
59
        Entry::Value(Mode::Vertical(1), 3u8),
60
        Entry::Value(Mode::Vertical(1), 3u8),
61
        Entry::Value(Mode::Vertical(1), 3u8),
62
        Entry::Value(Mode::Vertical(1), 3u8),
63
        Entry::Value(Mode::Vertical(1), 3u8),
64
        Entry::Value(Mode::Vertical(1), 3u8),
65
        Entry::Value(Mode::Vertical(1), 3u8),
66
        Entry::Value(Mode::Vertical(1), 3u8),
67
        Entry::Value(Mode::Vertical(1), 3u8),
68
        Entry::Value(Mode::Vertical(1), 3u8),
69
        Entry::Value(Mode::Vertical(0), 1u8),
70
        Entry::Value(Mode::Vertical(0), 1u8),
71
        Entry::Value(Mode::Vertical(0), 1u8),
72
        Entry::Value(Mode::Vertical(0), 1u8),
73
        Entry::Value(Mode::Vertical(0), 1u8),
74
        Entry::Value(Mode::Vertical(0), 1u8),
75
        Entry::Value(Mode::Vertical(0), 1u8),
76
        Entry::Value(Mode::Vertical(0), 1u8),
77
        Entry::Value(Mode::Vertical(0), 1u8),
78
        Entry::Value(Mode::Vertical(0), 1u8),
79
        Entry::Value(Mode::Vertical(0), 1u8),
80
        Entry::Value(Mode::Vertical(0), 1u8),
81
        Entry::Value(Mode::Vertical(0), 1u8),
82
        Entry::Value(Mode::Vertical(0), 1u8),
83
        Entry::Value(Mode::Vertical(0), 1u8),
84
        Entry::Value(Mode::Vertical(0), 1u8),
85
        Entry::Value(Mode::Vertical(0), 1u8),
86
        Entry::Value(Mode::Vertical(0), 1u8),
87
        Entry::Value(Mode::Vertical(0), 1u8),
88
        Entry::Value(Mode::Vertical(0), 1u8),
89
        Entry::Value(Mode::Vertical(0), 1u8),
90
        Entry::Value(Mode::Vertical(0), 1u8),
91
        Entry::Value(Mode::Vertical(0), 1u8),
92
        Entry::Value(Mode::Vertical(0), 1u8),
93
        Entry::Value(Mode::Vertical(0), 1u8),
94
        Entry::Value(Mode::Vertical(0), 1u8),
95
        Entry::Value(Mode::Vertical(0), 1u8),
96
        Entry::Value(Mode::Vertical(0), 1u8),
97
        Entry::Value(Mode::Vertical(0), 1u8),
98
        Entry::Value(Mode::Vertical(0), 1u8),
99
        Entry::Value(Mode::Vertical(0), 1u8),
100
        Entry::Value(Mode::Vertical(0), 1u8),
101
        Entry::Value(Mode::Vertical(0), 1u8),
102
        Entry::Value(Mode::Vertical(0), 1u8),
103
        Entry::Value(Mode::Vertical(0), 1u8),
104
        Entry::Value(Mode::Vertical(0), 1u8),
105
        Entry::Value(Mode::Vertical(0), 1u8),
106
        Entry::Value(Mode::Vertical(0), 1u8),
107
        Entry::Value(Mode::Vertical(0), 1u8),
108
        Entry::Value(Mode::Vertical(0), 1u8),
109
        Entry::Value(Mode::Vertical(0), 1u8),
110
        Entry::Value(Mode::Vertical(0), 1u8),
111
        Entry::Value(Mode::Vertical(0), 1u8),
112
        Entry::Value(Mode::Vertical(0), 1u8),
113
        Entry::Value(Mode::Vertical(0), 1u8),
114
        Entry::Value(Mode::Vertical(0), 1u8),
115
        Entry::Value(Mode::Vertical(0), 1u8),
116
        Entry::Value(Mode::Vertical(0), 1u8),
117
        Entry::Value(Mode::Vertical(0), 1u8),
118
        Entry::Value(Mode::Vertical(0), 1u8),
119
        Entry::Value(Mode::Vertical(0), 1u8),
120
        Entry::Value(Mode::Vertical(0), 1u8),
121
        Entry::Value(Mode::Vertical(0), 1u8),
122
        Entry::Value(Mode::Vertical(0), 1u8),
123
        Entry::Value(Mode::Vertical(0), 1u8),
124
        Entry::Value(Mode::Vertical(0), 1u8),
125
        Entry::Value(Mode::Vertical(0), 1u8),
126
        Entry::Value(Mode::Vertical(0), 1u8),
127
        Entry::Value(Mode::Vertical(0), 1u8),
128
        Entry::Value(Mode::Vertical(0), 1u8),
129
        Entry::Value(Mode::Vertical(0), 1u8),
130
        Entry::Value(Mode::Vertical(0), 1u8),
131
        Entry::Value(Mode::Vertical(0), 1u8),
132
        Entry::Value(Mode::Vertical(0), 1u8),
133
    ];
134
0
    pub fn decode(reader: &mut impl BitReader) -> Option<Mode> {
135
0
        let root = Entry::Prefix(7u8, &PREFIX_LUT_0);
136
0
        root.find(reader)
137
0
    }
Unexecuted instantiation: fax::maps::mode::decode::<fax::ByteReader<std::io::Bytes<std::io::buffered::bufreader::BufReader<std::io::Take<&mut std::io::cursor::Cursor<&[u8]>>>>>>
Unexecuted instantiation: fax::maps::mode::decode::<_>
138
0
    pub fn encode(val: Mode) -> Option<Bits> {
139
0
        let bits = match val {
140
0
            Mode::Pass => Bits { data: 1u16, len: 4u8 },
141
0
            Mode::Horizontal => Bits { data: 1u16, len: 3u8 },
142
0
            Mode::Vertical(0) => Bits { data: 1u16, len: 1u8 },
143
0
            Mode::Vertical(1) => Bits { data: 3u16, len: 3u8 },
144
0
            Mode::Vertical(2) => Bits { data: 3u16, len: 6u8 },
145
0
            Mode::Vertical(3) => Bits { data: 3u16, len: 7u8 },
146
0
            Mode::Vertical(-1) => Bits { data: 2u16, len: 3u8 },
147
0
            Mode::Vertical(-2) => Bits { data: 2u16, len: 6u8 },
148
0
            Mode::Vertical(-3) => Bits { data: 2u16, len: 7u8 },
149
0
            Mode::Extension => Bits { data: 1u16, len: 7u8 },
150
0
            Mode::EOF => Bits { data: 1u16, len: 12u8 },
151
0
            _ => return None,
152
        };
153
0
        Some(bits)
154
0
    }
155
    pub static ENTRIES: [(Mode, Bits); 11usize] = [
156
        (Mode::Pass, Bits { data: 1u16, len: 4u8 }),
157
        (Mode::Horizontal, Bits { data: 1u16, len: 3u8 }),
158
        (Mode::Vertical(0), Bits { data: 1u16, len: 1u8 }),
159
        (Mode::Vertical(1), Bits { data: 3u16, len: 3u8 }),
160
        (Mode::Vertical(2), Bits { data: 3u16, len: 6u8 }),
161
        (Mode::Vertical(3), Bits { data: 3u16, len: 7u8 }),
162
        (Mode::Vertical(-1), Bits { data: 2u16, len: 3u8 }),
163
        (Mode::Vertical(-2), Bits { data: 2u16, len: 6u8 }),
164
        (Mode::Vertical(-3), Bits { data: 2u16, len: 7u8 }),
165
        (Mode::Extension, Bits { data: 1u16, len: 7u8 }),
166
        (Mode::EOF, Bits { data: 1u16, len: 12u8 }),
167
    ];
168
}
169
pub mod black {
170
    pub use super::*;
171
    use crate::{BitReader, Bits};
172
    static LEAF_LUT_00000: [Option<(u16, u8)>; 256usize] = [
173
        None,
174
        None,
175
        None,
176
        None,
177
        None,
178
        None,
179
        None,
180
        None,
181
        None,
182
        None,
183
        None,
184
        None,
185
        None,
186
        None,
187
        None,
188
        None,
189
        None,
190
        None,
191
        None,
192
        None,
193
        None,
194
        None,
195
        None,
196
        None,
197
        None,
198
        None,
199
        None,
200
        None,
201
        None,
202
        None,
203
        None,
204
        None,
205
        Some((1792, 6u8)),
206
        Some((1792, 6u8)),
207
        Some((1792, 6u8)),
208
        Some((1792, 6u8)),
209
        Some((1984, 7u8)),
210
        Some((1984, 7u8)),
211
        Some((2048, 7u8)),
212
        Some((2048, 7u8)),
213
        Some((2112, 7u8)),
214
        Some((2112, 7u8)),
215
        Some((2176, 7u8)),
216
        Some((2176, 7u8)),
217
        Some((2240, 7u8)),
218
        Some((2240, 7u8)),
219
        Some((2304, 7u8)),
220
        Some((2304, 7u8)),
221
        Some((1856, 6u8)),
222
        Some((1856, 6u8)),
223
        Some((1856, 6u8)),
224
        Some((1856, 6u8)),
225
        Some((1920, 6u8)),
226
        Some((1920, 6u8)),
227
        Some((1920, 6u8)),
228
        Some((1920, 6u8)),
229
        Some((2368, 7u8)),
230
        Some((2368, 7u8)),
231
        Some((2432, 7u8)),
232
        Some((2432, 7u8)),
233
        Some((2496, 7u8)),
234
        Some((2496, 7u8)),
235
        Some((2560, 7u8)),
236
        Some((2560, 7u8)),
237
        Some((18, 5u8)),
238
        Some((18, 5u8)),
239
        Some((18, 5u8)),
240
        Some((18, 5u8)),
241
        Some((18, 5u8)),
242
        Some((18, 5u8)),
243
        Some((18, 5u8)),
244
        Some((18, 5u8)),
245
        Some((52, 7u8)),
246
        Some((52, 7u8)),
247
        Some((640, 8u8)),
248
        Some((704, 8u8)),
249
        Some((768, 8u8)),
250
        Some((832, 8u8)),
251
        Some((55, 7u8)),
252
        Some((55, 7u8)),
253
        Some((56, 7u8)),
254
        Some((56, 7u8)),
255
        Some((1280, 8u8)),
256
        Some((1344, 8u8)),
257
        Some((1408, 8u8)),
258
        Some((1472, 8u8)),
259
        Some((59, 7u8)),
260
        Some((59, 7u8)),
261
        Some((60, 7u8)),
262
        Some((60, 7u8)),
263
        Some((1536, 8u8)),
264
        Some((1600, 8u8)),
265
        Some((24, 6u8)),
266
        Some((24, 6u8)),
267
        Some((24, 6u8)),
268
        Some((24, 6u8)),
269
        Some((25, 6u8)),
270
        Some((25, 6u8)),
271
        Some((25, 6u8)),
272
        Some((25, 6u8)),
273
        Some((1664, 8u8)),
274
        Some((1728, 8u8)),
275
        Some((320, 7u8)),
276
        Some((320, 7u8)),
277
        Some((384, 7u8)),
278
        Some((384, 7u8)),
279
        Some((448, 7u8)),
280
        Some((448, 7u8)),
281
        Some((512, 8u8)),
282
        Some((576, 8u8)),
283
        Some((53, 7u8)),
284
        Some((53, 7u8)),
285
        Some((54, 7u8)),
286
        Some((54, 7u8)),
287
        Some((896, 8u8)),
288
        Some((960, 8u8)),
289
        Some((1024, 8u8)),
290
        Some((1088, 8u8)),
291
        Some((1152, 8u8)),
292
        Some((1216, 8u8)),
293
        Some((64, 5u8)),
294
        Some((64, 5u8)),
295
        Some((64, 5u8)),
296
        Some((64, 5u8)),
297
        Some((64, 5u8)),
298
        Some((64, 5u8)),
299
        Some((64, 5u8)),
300
        Some((64, 5u8)),
301
        Some((13, 3u8)),
302
        Some((13, 3u8)),
303
        Some((13, 3u8)),
304
        Some((13, 3u8)),
305
        Some((13, 3u8)),
306
        Some((13, 3u8)),
307
        Some((13, 3u8)),
308
        Some((13, 3u8)),
309
        Some((13, 3u8)),
310
        Some((13, 3u8)),
311
        Some((13, 3u8)),
312
        Some((13, 3u8)),
313
        Some((13, 3u8)),
314
        Some((13, 3u8)),
315
        Some((13, 3u8)),
316
        Some((13, 3u8)),
317
        Some((13, 3u8)),
318
        Some((13, 3u8)),
319
        Some((13, 3u8)),
320
        Some((13, 3u8)),
321
        Some((13, 3u8)),
322
        Some((13, 3u8)),
323
        Some((13, 3u8)),
324
        Some((13, 3u8)),
325
        Some((13, 3u8)),
326
        Some((13, 3u8)),
327
        Some((13, 3u8)),
328
        Some((13, 3u8)),
329
        Some((13, 3u8)),
330
        Some((13, 3u8)),
331
        Some((13, 3u8)),
332
        Some((13, 3u8)),
333
        Some((23, 6u8)),
334
        Some((23, 6u8)),
335
        Some((23, 6u8)),
336
        Some((23, 6u8)),
337
        Some((50, 7u8)),
338
        Some((50, 7u8)),
339
        Some((51, 7u8)),
340
        Some((51, 7u8)),
341
        Some((44, 7u8)),
342
        Some((44, 7u8)),
343
        Some((45, 7u8)),
344
        Some((45, 7u8)),
345
        Some((46, 7u8)),
346
        Some((46, 7u8)),
347
        Some((47, 7u8)),
348
        Some((47, 7u8)),
349
        Some((57, 7u8)),
350
        Some((57, 7u8)),
351
        Some((58, 7u8)),
352
        Some((58, 7u8)),
353
        Some((61, 7u8)),
354
        Some((61, 7u8)),
355
        Some((256, 7u8)),
356
        Some((256, 7u8)),
357
        Some((16, 5u8)),
358
        Some((16, 5u8)),
359
        Some((16, 5u8)),
360
        Some((16, 5u8)),
361
        Some((16, 5u8)),
362
        Some((16, 5u8)),
363
        Some((16, 5u8)),
364
        Some((16, 5u8)),
365
        Some((17, 5u8)),
366
        Some((17, 5u8)),
367
        Some((17, 5u8)),
368
        Some((17, 5u8)),
369
        Some((17, 5u8)),
370
        Some((17, 5u8)),
371
        Some((17, 5u8)),
372
        Some((17, 5u8)),
373
        Some((48, 7u8)),
374
        Some((48, 7u8)),
375
        Some((49, 7u8)),
376
        Some((49, 7u8)),
377
        Some((62, 7u8)),
378
        Some((62, 7u8)),
379
        Some((63, 7u8)),
380
        Some((63, 7u8)),
381
        Some((30, 7u8)),
382
        Some((30, 7u8)),
383
        Some((31, 7u8)),
384
        Some((31, 7u8)),
385
        Some((32, 7u8)),
386
        Some((32, 7u8)),
387
        Some((33, 7u8)),
388
        Some((33, 7u8)),
389
        Some((40, 7u8)),
390
        Some((40, 7u8)),
391
        Some((41, 7u8)),
392
        Some((41, 7u8)),
393
        Some((22, 6u8)),
394
        Some((22, 6u8)),
395
        Some((22, 6u8)),
396
        Some((22, 6u8)),
397
        Some((14, 3u8)),
398
        Some((14, 3u8)),
399
        Some((14, 3u8)),
400
        Some((14, 3u8)),
401
        Some((14, 3u8)),
402
        Some((14, 3u8)),
403
        Some((14, 3u8)),
404
        Some((14, 3u8)),
405
        Some((14, 3u8)),
406
        Some((14, 3u8)),
407
        Some((14, 3u8)),
408
        Some((14, 3u8)),
409
        Some((14, 3u8)),
410
        Some((14, 3u8)),
411
        Some((14, 3u8)),
412
        Some((14, 3u8)),
413
        Some((14, 3u8)),
414
        Some((14, 3u8)),
415
        Some((14, 3u8)),
416
        Some((14, 3u8)),
417
        Some((14, 3u8)),
418
        Some((14, 3u8)),
419
        Some((14, 3u8)),
420
        Some((14, 3u8)),
421
        Some((14, 3u8)),
422
        Some((14, 3u8)),
423
        Some((14, 3u8)),
424
        Some((14, 3u8)),
425
        Some((14, 3u8)),
426
        Some((14, 3u8)),
427
        Some((14, 3u8)),
428
        Some((14, 3u8)),
429
    ];
430
    static LEAF_LUT_00001: [Option<(u16, u8)>; 128usize] = [
431
        Some((10, 2u8)),
432
        Some((10, 2u8)),
433
        Some((10, 2u8)),
434
        Some((10, 2u8)),
435
        Some((10, 2u8)),
436
        Some((10, 2u8)),
437
        Some((10, 2u8)),
438
        Some((10, 2u8)),
439
        Some((10, 2u8)),
440
        Some((10, 2u8)),
441
        Some((10, 2u8)),
442
        Some((10, 2u8)),
443
        Some((10, 2u8)),
444
        Some((10, 2u8)),
445
        Some((10, 2u8)),
446
        Some((10, 2u8)),
447
        Some((10, 2u8)),
448
        Some((10, 2u8)),
449
        Some((10, 2u8)),
450
        Some((10, 2u8)),
451
        Some((10, 2u8)),
452
        Some((10, 2u8)),
453
        Some((10, 2u8)),
454
        Some((10, 2u8)),
455
        Some((10, 2u8)),
456
        Some((10, 2u8)),
457
        Some((10, 2u8)),
458
        Some((10, 2u8)),
459
        Some((10, 2u8)),
460
        Some((10, 2u8)),
461
        Some((10, 2u8)),
462
        Some((10, 2u8)),
463
        Some((11, 2u8)),
464
        Some((11, 2u8)),
465
        Some((11, 2u8)),
466
        Some((11, 2u8)),
467
        Some((11, 2u8)),
468
        Some((11, 2u8)),
469
        Some((11, 2u8)),
470
        Some((11, 2u8)),
471
        Some((11, 2u8)),
472
        Some((11, 2u8)),
473
        Some((11, 2u8)),
474
        Some((11, 2u8)),
475
        Some((11, 2u8)),
476
        Some((11, 2u8)),
477
        Some((11, 2u8)),
478
        Some((11, 2u8)),
479
        Some((11, 2u8)),
480
        Some((11, 2u8)),
481
        Some((11, 2u8)),
482
        Some((11, 2u8)),
483
        Some((11, 2u8)),
484
        Some((11, 2u8)),
485
        Some((11, 2u8)),
486
        Some((11, 2u8)),
487
        Some((11, 2u8)),
488
        Some((11, 2u8)),
489
        Some((11, 2u8)),
490
        Some((11, 2u8)),
491
        Some((11, 2u8)),
492
        Some((11, 2u8)),
493
        Some((11, 2u8)),
494
        Some((11, 2u8)),
495
        Some((15, 4u8)),
496
        Some((15, 4u8)),
497
        Some((15, 4u8)),
498
        Some((15, 4u8)),
499
        Some((15, 4u8)),
500
        Some((15, 4u8)),
501
        Some((15, 4u8)),
502
        Some((15, 4u8)),
503
        Some((128, 7u8)),
504
        Some((192, 7u8)),
505
        Some((26, 7u8)),
506
        Some((27, 7u8)),
507
        Some((28, 7u8)),
508
        Some((29, 7u8)),
509
        Some((19, 6u8)),
510
        Some((19, 6u8)),
511
        Some((20, 6u8)),
512
        Some((20, 6u8)),
513
        Some((34, 7u8)),
514
        Some((35, 7u8)),
515
        Some((36, 7u8)),
516
        Some((37, 7u8)),
517
        Some((38, 7u8)),
518
        Some((39, 7u8)),
519
        Some((21, 6u8)),
520
        Some((21, 6u8)),
521
        Some((42, 7u8)),
522
        Some((43, 7u8)),
523
        Some((0, 5u8)),
524
        Some((0, 5u8)),
525
        Some((0, 5u8)),
526
        Some((0, 5u8)),
527
        Some((12, 2u8)),
528
        Some((12, 2u8)),
529
        Some((12, 2u8)),
530
        Some((12, 2u8)),
531
        Some((12, 2u8)),
532
        Some((12, 2u8)),
533
        Some((12, 2u8)),
534
        Some((12, 2u8)),
535
        Some((12, 2u8)),
536
        Some((12, 2u8)),
537
        Some((12, 2u8)),
538
        Some((12, 2u8)),
539
        Some((12, 2u8)),
540
        Some((12, 2u8)),
541
        Some((12, 2u8)),
542
        Some((12, 2u8)),
543
        Some((12, 2u8)),
544
        Some((12, 2u8)),
545
        Some((12, 2u8)),
546
        Some((12, 2u8)),
547
        Some((12, 2u8)),
548
        Some((12, 2u8)),
549
        Some((12, 2u8)),
550
        Some((12, 2u8)),
551
        Some((12, 2u8)),
552
        Some((12, 2u8)),
553
        Some((12, 2u8)),
554
        Some((12, 2u8)),
555
        Some((12, 2u8)),
556
        Some((12, 2u8)),
557
        Some((12, 2u8)),
558
        Some((12, 2u8)),
559
    ];
560
    static LEAF_LUT_00010: [Option<(u16, u8)>; 2usize] = [Some((9, 1u8)), Some((8, 1u8))];
561
    static PREFIX_LUT_0: [Entry<u16>; 32usize] = [
562
        Entry::Leaf(8u8, &LEAF_LUT_00000),
563
        Entry::Leaf(7u8, &LEAF_LUT_00001),
564
        Entry::Leaf(1u8, &LEAF_LUT_00010),
565
        Entry::Value(7, 5u8),
566
        Entry::Value(6, 4u8),
567
        Entry::Value(6, 4u8),
568
        Entry::Value(5, 4u8),
569
        Entry::Value(5, 4u8),
570
        Entry::Value(1, 3u8),
571
        Entry::Value(1, 3u8),
572
        Entry::Value(1, 3u8),
573
        Entry::Value(1, 3u8),
574
        Entry::Value(4, 3u8),
575
        Entry::Value(4, 3u8),
576
        Entry::Value(4, 3u8),
577
        Entry::Value(4, 3u8),
578
        Entry::Value(3, 2u8),
579
        Entry::Value(3, 2u8),
580
        Entry::Value(3, 2u8),
581
        Entry::Value(3, 2u8),
582
        Entry::Value(3, 2u8),
583
        Entry::Value(3, 2u8),
584
        Entry::Value(3, 2u8),
585
        Entry::Value(3, 2u8),
586
        Entry::Value(2, 2u8),
587
        Entry::Value(2, 2u8),
588
        Entry::Value(2, 2u8),
589
        Entry::Value(2, 2u8),
590
        Entry::Value(2, 2u8),
591
        Entry::Value(2, 2u8),
592
        Entry::Value(2, 2u8),
593
        Entry::Value(2, 2u8),
594
    ];
595
0
    pub fn decode(reader: &mut impl BitReader) -> Option<u16> {
596
0
        let root = Entry::Prefix(5u8, &PREFIX_LUT_0);
597
0
        root.find(reader)
598
0
    }
Unexecuted instantiation: fax::maps::black::decode::<fax::ByteReader<std::io::Bytes<std::io::buffered::bufreader::BufReader<std::io::Take<&mut std::io::cursor::Cursor<&[u8]>>>>>>
Unexecuted instantiation: fax::maps::black::decode::<_>
599
0
    pub fn encode(val: u16) -> Option<Bits> {
600
0
        let bits = match val {
601
0
            0 => Bits { data: 55u16, len: 10u8 },
602
0
            1 => Bits { data: 2u16, len: 3u8 },
603
0
            2 => Bits { data: 3u16, len: 2u8 },
604
0
            3 => Bits { data: 2u16, len: 2u8 },
605
0
            4 => Bits { data: 3u16, len: 3u8 },
606
0
            5 => Bits { data: 3u16, len: 4u8 },
607
0
            6 => Bits { data: 2u16, len: 4u8 },
608
0
            7 => Bits { data: 3u16, len: 5u8 },
609
0
            8 => Bits { data: 5u16, len: 6u8 },
610
0
            9 => Bits { data: 4u16, len: 6u8 },
611
0
            10 => Bits { data: 4u16, len: 7u8 },
612
0
            11 => Bits { data: 5u16, len: 7u8 },
613
0
            12 => Bits { data: 7u16, len: 7u8 },
614
0
            13 => Bits { data: 4u16, len: 8u8 },
615
0
            14 => Bits { data: 7u16, len: 8u8 },
616
0
            15 => Bits { data: 24u16, len: 9u8 },
617
0
            16 => Bits { data: 23u16, len: 10u8 },
618
0
            17 => Bits { data: 24u16, len: 10u8 },
619
0
            18 => Bits { data: 8u16, len: 10u8 },
620
0
            19 => Bits { data: 103u16, len: 11u8 },
621
0
            20 => Bits { data: 104u16, len: 11u8 },
622
0
            21 => Bits { data: 108u16, len: 11u8 },
623
0
            22 => Bits { data: 55u16, len: 11u8 },
624
0
            23 => Bits { data: 40u16, len: 11u8 },
625
0
            24 => Bits { data: 23u16, len: 11u8 },
626
0
            25 => Bits { data: 24u16, len: 11u8 },
627
0
            26 => Bits { data: 202u16, len: 12u8 },
628
0
            27 => Bits { data: 203u16, len: 12u8 },
629
0
            28 => Bits { data: 204u16, len: 12u8 },
630
0
            29 => Bits { data: 205u16, len: 12u8 },
631
0
            30 => Bits { data: 104u16, len: 12u8 },
632
0
            31 => Bits { data: 105u16, len: 12u8 },
633
0
            32 => Bits { data: 106u16, len: 12u8 },
634
0
            33 => Bits { data: 107u16, len: 12u8 },
635
0
            34 => Bits { data: 210u16, len: 12u8 },
636
0
            35 => Bits { data: 211u16, len: 12u8 },
637
0
            36 => Bits { data: 212u16, len: 12u8 },
638
0
            37 => Bits { data: 213u16, len: 12u8 },
639
0
            38 => Bits { data: 214u16, len: 12u8 },
640
0
            39 => Bits { data: 215u16, len: 12u8 },
641
0
            40 => Bits { data: 108u16, len: 12u8 },
642
0
            41 => Bits { data: 109u16, len: 12u8 },
643
0
            42 => Bits { data: 218u16, len: 12u8 },
644
0
            43 => Bits { data: 219u16, len: 12u8 },
645
0
            44 => Bits { data: 84u16, len: 12u8 },
646
0
            45 => Bits { data: 85u16, len: 12u8 },
647
0
            46 => Bits { data: 86u16, len: 12u8 },
648
0
            47 => Bits { data: 87u16, len: 12u8 },
649
0
            48 => Bits { data: 100u16, len: 12u8 },
650
0
            49 => Bits { data: 101u16, len: 12u8 },
651
0
            50 => Bits { data: 82u16, len: 12u8 },
652
0
            51 => Bits { data: 83u16, len: 12u8 },
653
0
            52 => Bits { data: 36u16, len: 12u8 },
654
0
            53 => Bits { data: 55u16, len: 12u8 },
655
0
            54 => Bits { data: 56u16, len: 12u8 },
656
0
            55 => Bits { data: 39u16, len: 12u8 },
657
0
            56 => Bits { data: 40u16, len: 12u8 },
658
0
            57 => Bits { data: 88u16, len: 12u8 },
659
0
            58 => Bits { data: 89u16, len: 12u8 },
660
0
            59 => Bits { data: 43u16, len: 12u8 },
661
0
            60 => Bits { data: 44u16, len: 12u8 },
662
0
            61 => Bits { data: 90u16, len: 12u8 },
663
0
            62 => Bits { data: 102u16, len: 12u8 },
664
0
            63 => Bits { data: 103u16, len: 12u8 },
665
0
            64 => Bits { data: 15u16, len: 10u8 },
666
0
            128 => Bits { data: 200u16, len: 12u8 },
667
0
            192 => Bits { data: 201u16, len: 12u8 },
668
0
            256 => Bits { data: 91u16, len: 12u8 },
669
0
            320 => Bits { data: 51u16, len: 12u8 },
670
0
            384 => Bits { data: 52u16, len: 12u8 },
671
0
            448 => Bits { data: 53u16, len: 12u8 },
672
0
            512 => Bits { data: 108u16, len: 13u8 },
673
0
            576 => Bits { data: 109u16, len: 13u8 },
674
0
            640 => Bits { data: 74u16, len: 13u8 },
675
0
            704 => Bits { data: 75u16, len: 13u8 },
676
0
            768 => Bits { data: 76u16, len: 13u8 },
677
0
            832 => Bits { data: 77u16, len: 13u8 },
678
0
            896 => Bits { data: 114u16, len: 13u8 },
679
0
            960 => Bits { data: 115u16, len: 13u8 },
680
0
            1024 => Bits { data: 116u16, len: 13u8 },
681
0
            1088 => Bits { data: 117u16, len: 13u8 },
682
0
            1152 => Bits { data: 118u16, len: 13u8 },
683
0
            1216 => Bits { data: 119u16, len: 13u8 },
684
0
            1280 => Bits { data: 82u16, len: 13u8 },
685
0
            1344 => Bits { data: 83u16, len: 13u8 },
686
0
            1408 => Bits { data: 84u16, len: 13u8 },
687
0
            1472 => Bits { data: 85u16, len: 13u8 },
688
0
            1536 => Bits { data: 90u16, len: 13u8 },
689
0
            1600 => Bits { data: 91u16, len: 13u8 },
690
0
            1664 => Bits { data: 100u16, len: 13u8 },
691
0
            1728 => Bits { data: 101u16, len: 13u8 },
692
0
            1792 => Bits { data: 8u16, len: 11u8 },
693
0
            1856 => Bits { data: 12u16, len: 11u8 },
694
0
            1920 => Bits { data: 13u16, len: 11u8 },
695
0
            1984 => Bits { data: 18u16, len: 12u8 },
696
0
            2048 => Bits { data: 19u16, len: 12u8 },
697
0
            2112 => Bits { data: 20u16, len: 12u8 },
698
0
            2176 => Bits { data: 21u16, len: 12u8 },
699
0
            2240 => Bits { data: 22u16, len: 12u8 },
700
0
            2304 => Bits { data: 23u16, len: 12u8 },
701
0
            2368 => Bits { data: 28u16, len: 12u8 },
702
0
            2432 => Bits { data: 29u16, len: 12u8 },
703
0
            2496 => Bits { data: 30u16, len: 12u8 },
704
0
            2560 => Bits { data: 31u16, len: 12u8 },
705
0
            _ => return None,
706
        };
707
0
        Some(bits)
708
0
    }
709
    pub static ENTRIES: [(u16, Bits); 104usize] = [
710
        (0, Bits { data: 55u16, len: 10u8 }),
711
        (1, Bits { data: 2u16, len: 3u8 }),
712
        (2, Bits { data: 3u16, len: 2u8 }),
713
        (3, Bits { data: 2u16, len: 2u8 }),
714
        (4, Bits { data: 3u16, len: 3u8 }),
715
        (5, Bits { data: 3u16, len: 4u8 }),
716
        (6, Bits { data: 2u16, len: 4u8 }),
717
        (7, Bits { data: 3u16, len: 5u8 }),
718
        (8, Bits { data: 5u16, len: 6u8 }),
719
        (9, Bits { data: 4u16, len: 6u8 }),
720
        (10, Bits { data: 4u16, len: 7u8 }),
721
        (11, Bits { data: 5u16, len: 7u8 }),
722
        (12, Bits { data: 7u16, len: 7u8 }),
723
        (13, Bits { data: 4u16, len: 8u8 }),
724
        (14, Bits { data: 7u16, len: 8u8 }),
725
        (15, Bits { data: 24u16, len: 9u8 }),
726
        (16, Bits { data: 23u16, len: 10u8 }),
727
        (17, Bits { data: 24u16, len: 10u8 }),
728
        (18, Bits { data: 8u16, len: 10u8 }),
729
        (19, Bits { data: 103u16, len: 11u8 }),
730
        (20, Bits { data: 104u16, len: 11u8 }),
731
        (21, Bits { data: 108u16, len: 11u8 }),
732
        (22, Bits { data: 55u16, len: 11u8 }),
733
        (23, Bits { data: 40u16, len: 11u8 }),
734
        (24, Bits { data: 23u16, len: 11u8 }),
735
        (25, Bits { data: 24u16, len: 11u8 }),
736
        (26, Bits { data: 202u16, len: 12u8 }),
737
        (27, Bits { data: 203u16, len: 12u8 }),
738
        (28, Bits { data: 204u16, len: 12u8 }),
739
        (29, Bits { data: 205u16, len: 12u8 }),
740
        (30, Bits { data: 104u16, len: 12u8 }),
741
        (31, Bits { data: 105u16, len: 12u8 }),
742
        (32, Bits { data: 106u16, len: 12u8 }),
743
        (33, Bits { data: 107u16, len: 12u8 }),
744
        (34, Bits { data: 210u16, len: 12u8 }),
745
        (35, Bits { data: 211u16, len: 12u8 }),
746
        (36, Bits { data: 212u16, len: 12u8 }),
747
        (37, Bits { data: 213u16, len: 12u8 }),
748
        (38, Bits { data: 214u16, len: 12u8 }),
749
        (39, Bits { data: 215u16, len: 12u8 }),
750
        (40, Bits { data: 108u16, len: 12u8 }),
751
        (41, Bits { data: 109u16, len: 12u8 }),
752
        (42, Bits { data: 218u16, len: 12u8 }),
753
        (43, Bits { data: 219u16, len: 12u8 }),
754
        (44, Bits { data: 84u16, len: 12u8 }),
755
        (45, Bits { data: 85u16, len: 12u8 }),
756
        (46, Bits { data: 86u16, len: 12u8 }),
757
        (47, Bits { data: 87u16, len: 12u8 }),
758
        (48, Bits { data: 100u16, len: 12u8 }),
759
        (49, Bits { data: 101u16, len: 12u8 }),
760
        (50, Bits { data: 82u16, len: 12u8 }),
761
        (51, Bits { data: 83u16, len: 12u8 }),
762
        (52, Bits { data: 36u16, len: 12u8 }),
763
        (53, Bits { data: 55u16, len: 12u8 }),
764
        (54, Bits { data: 56u16, len: 12u8 }),
765
        (55, Bits { data: 39u16, len: 12u8 }),
766
        (56, Bits { data: 40u16, len: 12u8 }),
767
        (57, Bits { data: 88u16, len: 12u8 }),
768
        (58, Bits { data: 89u16, len: 12u8 }),
769
        (59, Bits { data: 43u16, len: 12u8 }),
770
        (60, Bits { data: 44u16, len: 12u8 }),
771
        (61, Bits { data: 90u16, len: 12u8 }),
772
        (62, Bits { data: 102u16, len: 12u8 }),
773
        (63, Bits { data: 103u16, len: 12u8 }),
774
        (64, Bits { data: 15u16, len: 10u8 }),
775
        (128, Bits { data: 200u16, len: 12u8 }),
776
        (192, Bits { data: 201u16, len: 12u8 }),
777
        (256, Bits { data: 91u16, len: 12u8 }),
778
        (320, Bits { data: 51u16, len: 12u8 }),
779
        (384, Bits { data: 52u16, len: 12u8 }),
780
        (448, Bits { data: 53u16, len: 12u8 }),
781
        (512, Bits { data: 108u16, len: 13u8 }),
782
        (576, Bits { data: 109u16, len: 13u8 }),
783
        (640, Bits { data: 74u16, len: 13u8 }),
784
        (704, Bits { data: 75u16, len: 13u8 }),
785
        (768, Bits { data: 76u16, len: 13u8 }),
786
        (832, Bits { data: 77u16, len: 13u8 }),
787
        (896, Bits { data: 114u16, len: 13u8 }),
788
        (960, Bits { data: 115u16, len: 13u8 }),
789
        (1024, Bits { data: 116u16, len: 13u8 }),
790
        (1088, Bits { data: 117u16, len: 13u8 }),
791
        (1152, Bits { data: 118u16, len: 13u8 }),
792
        (1216, Bits { data: 119u16, len: 13u8 }),
793
        (1280, Bits { data: 82u16, len: 13u8 }),
794
        (1344, Bits { data: 83u16, len: 13u8 }),
795
        (1408, Bits { data: 84u16, len: 13u8 }),
796
        (1472, Bits { data: 85u16, len: 13u8 }),
797
        (1536, Bits { data: 90u16, len: 13u8 }),
798
        (1600, Bits { data: 91u16, len: 13u8 }),
799
        (1664, Bits { data: 100u16, len: 13u8 }),
800
        (1728, Bits { data: 101u16, len: 13u8 }),
801
        (1792, Bits { data: 8u16, len: 11u8 }),
802
        (1856, Bits { data: 12u16, len: 11u8 }),
803
        (1920, Bits { data: 13u16, len: 11u8 }),
804
        (1984, Bits { data: 18u16, len: 12u8 }),
805
        (2048, Bits { data: 19u16, len: 12u8 }),
806
        (2112, Bits { data: 20u16, len: 12u8 }),
807
        (2176, Bits { data: 21u16, len: 12u8 }),
808
        (2240, Bits { data: 22u16, len: 12u8 }),
809
        (2304, Bits { data: 23u16, len: 12u8 }),
810
        (2368, Bits { data: 28u16, len: 12u8 }),
811
        (2432, Bits { data: 29u16, len: 12u8 }),
812
        (2496, Bits { data: 30u16, len: 12u8 }),
813
        (2560, Bits { data: 31u16, len: 12u8 }),
814
    ];
815
}
816
pub mod white {
817
    pub use super::*;
818
    use crate::{BitReader, Bits};
819
    static LEAF_LUT_0000: [Option<(u16, u8)>; 256usize] = [
820
        None,
821
        None,
822
        None,
823
        None,
824
        None,
825
        None,
826
        None,
827
        None,
828
        None,
829
        None,
830
        None,
831
        None,
832
        None,
833
        None,
834
        None,
835
        None,
836
        Some((1792, 7u8)),
837
        Some((1792, 7u8)),
838
        Some((1984, 8u8)),
839
        Some((2048, 8u8)),
840
        Some((2112, 8u8)),
841
        Some((2176, 8u8)),
842
        Some((2240, 8u8)),
843
        Some((2304, 8u8)),
844
        Some((1856, 7u8)),
845
        Some((1856, 7u8)),
846
        Some((1920, 7u8)),
847
        Some((1920, 7u8)),
848
        Some((2368, 8u8)),
849
        Some((2432, 8u8)),
850
        Some((2496, 8u8)),
851
        Some((2560, 8u8)),
852
        Some((29, 4u8)),
853
        Some((29, 4u8)),
854
        Some((29, 4u8)),
855
        Some((29, 4u8)),
856
        Some((29, 4u8)),
857
        Some((29, 4u8)),
858
        Some((29, 4u8)),
859
        Some((29, 4u8)),
860
        Some((29, 4u8)),
861
        Some((29, 4u8)),
862
        Some((29, 4u8)),
863
        Some((29, 4u8)),
864
        Some((29, 4u8)),
865
        Some((29, 4u8)),
866
        Some((29, 4u8)),
867
        Some((29, 4u8)),
868
        Some((30, 4u8)),
869
        Some((30, 4u8)),
870
        Some((30, 4u8)),
871
        Some((30, 4u8)),
872
        Some((30, 4u8)),
873
        Some((30, 4u8)),
874
        Some((30, 4u8)),
875
        Some((30, 4u8)),
876
        Some((30, 4u8)),
877
        Some((30, 4u8)),
878
        Some((30, 4u8)),
879
        Some((30, 4u8)),
880
        Some((30, 4u8)),
881
        Some((30, 4u8)),
882
        Some((30, 4u8)),
883
        Some((30, 4u8)),
884
        Some((45, 4u8)),
885
        Some((45, 4u8)),
886
        Some((45, 4u8)),
887
        Some((45, 4u8)),
888
        Some((45, 4u8)),
889
        Some((45, 4u8)),
890
        Some((45, 4u8)),
891
        Some((45, 4u8)),
892
        Some((45, 4u8)),
893
        Some((45, 4u8)),
894
        Some((45, 4u8)),
895
        Some((45, 4u8)),
896
        Some((45, 4u8)),
897
        Some((45, 4u8)),
898
        Some((45, 4u8)),
899
        Some((45, 4u8)),
900
        Some((46, 4u8)),
901
        Some((46, 4u8)),
902
        Some((46, 4u8)),
903
        Some((46, 4u8)),
904
        Some((46, 4u8)),
905
        Some((46, 4u8)),
906
        Some((46, 4u8)),
907
        Some((46, 4u8)),
908
        Some((46, 4u8)),
909
        Some((46, 4u8)),
910
        Some((46, 4u8)),
911
        Some((46, 4u8)),
912
        Some((46, 4u8)),
913
        Some((46, 4u8)),
914
        Some((46, 4u8)),
915
        Some((46, 4u8)),
916
        Some((22, 3u8)),
917
        Some((22, 3u8)),
918
        Some((22, 3u8)),
919
        Some((22, 3u8)),
920
        Some((22, 3u8)),
921
        Some((22, 3u8)),
922
        Some((22, 3u8)),
923
        Some((22, 3u8)),
924
        Some((22, 3u8)),
925
        Some((22, 3u8)),
926
        Some((22, 3u8)),
927
        Some((22, 3u8)),
928
        Some((22, 3u8)),
929
        Some((22, 3u8)),
930
        Some((22, 3u8)),
931
        Some((22, 3u8)),
932
        Some((22, 3u8)),
933
        Some((22, 3u8)),
934
        Some((22, 3u8)),
935
        Some((22, 3u8)),
936
        Some((22, 3u8)),
937
        Some((22, 3u8)),
938
        Some((22, 3u8)),
939
        Some((22, 3u8)),
940
        Some((22, 3u8)),
941
        Some((22, 3u8)),
942
        Some((22, 3u8)),
943
        Some((22, 3u8)),
944
        Some((22, 3u8)),
945
        Some((22, 3u8)),
946
        Some((22, 3u8)),
947
        Some((22, 3u8)),
948
        Some((23, 3u8)),
949
        Some((23, 3u8)),
950
        Some((23, 3u8)),
951
        Some((23, 3u8)),
952
        Some((23, 3u8)),
953
        Some((23, 3u8)),
954
        Some((23, 3u8)),
955
        Some((23, 3u8)),
956
        Some((23, 3u8)),
957
        Some((23, 3u8)),
958
        Some((23, 3u8)),
959
        Some((23, 3u8)),
960
        Some((23, 3u8)),
961
        Some((23, 3u8)),
962
        Some((23, 3u8)),
963
        Some((23, 3u8)),
964
        Some((23, 3u8)),
965
        Some((23, 3u8)),
966
        Some((23, 3u8)),
967
        Some((23, 3u8)),
968
        Some((23, 3u8)),
969
        Some((23, 3u8)),
970
        Some((23, 3u8)),
971
        Some((23, 3u8)),
972
        Some((23, 3u8)),
973
        Some((23, 3u8)),
974
        Some((23, 3u8)),
975
        Some((23, 3u8)),
976
        Some((23, 3u8)),
977
        Some((23, 3u8)),
978
        Some((23, 3u8)),
979
        Some((23, 3u8)),
980
        Some((47, 4u8)),
981
        Some((47, 4u8)),
982
        Some((47, 4u8)),
983
        Some((47, 4u8)),
984
        Some((47, 4u8)),
985
        Some((47, 4u8)),
986
        Some((47, 4u8)),
987
        Some((47, 4u8)),
988
        Some((47, 4u8)),
989
        Some((47, 4u8)),
990
        Some((47, 4u8)),
991
        Some((47, 4u8)),
992
        Some((47, 4u8)),
993
        Some((47, 4u8)),
994
        Some((47, 4u8)),
995
        Some((47, 4u8)),
996
        Some((48, 4u8)),
997
        Some((48, 4u8)),
998
        Some((48, 4u8)),
999
        Some((48, 4u8)),
1000
        Some((48, 4u8)),
1001
        Some((48, 4u8)),
1002
        Some((48, 4u8)),
1003
        Some((48, 4u8)),
1004
        Some((48, 4u8)),
1005
        Some((48, 4u8)),
1006
        Some((48, 4u8)),
1007
        Some((48, 4u8)),
1008
        Some((48, 4u8)),
1009
        Some((48, 4u8)),
1010
        Some((48, 4u8)),
1011
        Some((48, 4u8)),
1012
        Some((13, 2u8)),
1013
        Some((13, 2u8)),
1014
        Some((13, 2u8)),
1015
        Some((13, 2u8)),
1016
        Some((13, 2u8)),
1017
        Some((13, 2u8)),
1018
        Some((13, 2u8)),
1019
        Some((13, 2u8)),
1020
        Some((13, 2u8)),
1021
        Some((13, 2u8)),
1022
        Some((13, 2u8)),
1023
        Some((13, 2u8)),
1024
        Some((13, 2u8)),
1025
        Some((13, 2u8)),
1026
        Some((13, 2u8)),
1027
        Some((13, 2u8)),
1028
        Some((13, 2u8)),
1029
        Some((13, 2u8)),
1030
        Some((13, 2u8)),
1031
        Some((13, 2u8)),
1032
        Some((13, 2u8)),
1033
        Some((13, 2u8)),
1034
        Some((13, 2u8)),
1035
        Some((13, 2u8)),
1036
        Some((13, 2u8)),
1037
        Some((13, 2u8)),
1038
        Some((13, 2u8)),
1039
        Some((13, 2u8)),
1040
        Some((13, 2u8)),
1041
        Some((13, 2u8)),
1042
        Some((13, 2u8)),
1043
        Some((13, 2u8)),
1044
        Some((13, 2u8)),
1045
        Some((13, 2u8)),
1046
        Some((13, 2u8)),
1047
        Some((13, 2u8)),
1048
        Some((13, 2u8)),
1049
        Some((13, 2u8)),
1050
        Some((13, 2u8)),
1051
        Some((13, 2u8)),
1052
        Some((13, 2u8)),
1053
        Some((13, 2u8)),
1054
        Some((13, 2u8)),
1055
        Some((13, 2u8)),
1056
        Some((13, 2u8)),
1057
        Some((13, 2u8)),
1058
        Some((13, 2u8)),
1059
        Some((13, 2u8)),
1060
        Some((13, 2u8)),
1061
        Some((13, 2u8)),
1062
        Some((13, 2u8)),
1063
        Some((13, 2u8)),
1064
        Some((13, 2u8)),
1065
        Some((13, 2u8)),
1066
        Some((13, 2u8)),
1067
        Some((13, 2u8)),
1068
        Some((13, 2u8)),
1069
        Some((13, 2u8)),
1070
        Some((13, 2u8)),
1071
        Some((13, 2u8)),
1072
        Some((13, 2u8)),
1073
        Some((13, 2u8)),
1074
        Some((13, 2u8)),
1075
        Some((13, 2u8)),
1076
    ];
1077
    static LEAF_LUT_0001: [Option<(u16, u8)>; 16usize] = [
1078
        Some((20, 3u8)),
1079
        Some((20, 3u8)),
1080
        Some((33, 4u8)),
1081
        Some((34, 4u8)),
1082
        Some((35, 4u8)),
1083
        Some((36, 4u8)),
1084
        Some((37, 4u8)),
1085
        Some((38, 4u8)),
1086
        Some((19, 3u8)),
1087
        Some((19, 3u8)),
1088
        Some((31, 4u8)),
1089
        Some((32, 4u8)),
1090
        Some((1, 2u8)),
1091
        Some((1, 2u8)),
1092
        Some((1, 2u8)),
1093
        Some((1, 2u8)),
1094
    ];
1095
    static LEAF_LUT_0010: [Option<(u16, u8)>; 16usize] = [
1096
        Some((12, 2u8)),
1097
        Some((12, 2u8)),
1098
        Some((12, 2u8)),
1099
        Some((12, 2u8)),
1100
        Some((53, 4u8)),
1101
        Some((54, 4u8)),
1102
        Some((26, 3u8)),
1103
        Some((26, 3u8)),
1104
        Some((39, 4u8)),
1105
        Some((40, 4u8)),
1106
        Some((41, 4u8)),
1107
        Some((42, 4u8)),
1108
        Some((43, 4u8)),
1109
        Some((44, 4u8)),
1110
        Some((21, 3u8)),
1111
        Some((21, 3u8)),
1112
    ];
1113
    static LEAF_LUT_0011: [Option<(u16, u8)>; 16usize] = [
1114
        Some((28, 3u8)),
1115
        Some((28, 3u8)),
1116
        Some((61, 4u8)),
1117
        Some((62, 4u8)),
1118
        Some((63, 4u8)),
1119
        Some((0, 4u8)),
1120
        Some((320, 4u8)),
1121
        Some((384, 4u8)),
1122
        Some((10, 1u8)),
1123
        Some((10, 1u8)),
1124
        Some((10, 1u8)),
1125
        Some((10, 1u8)),
1126
        Some((10, 1u8)),
1127
        Some((10, 1u8)),
1128
        Some((10, 1u8)),
1129
        Some((10, 1u8)),
1130
    ];
1131
    static LEAF_LUT_0100: [Option<(u16, u8)>; 32usize] = [
1132
        Some((11, 1u8)),
1133
        Some((11, 1u8)),
1134
        Some((11, 1u8)),
1135
        Some((11, 1u8)),
1136
        Some((11, 1u8)),
1137
        Some((11, 1u8)),
1138
        Some((11, 1u8)),
1139
        Some((11, 1u8)),
1140
        Some((11, 1u8)),
1141
        Some((11, 1u8)),
1142
        Some((11, 1u8)),
1143
        Some((11, 1u8)),
1144
        Some((11, 1u8)),
1145
        Some((11, 1u8)),
1146
        Some((11, 1u8)),
1147
        Some((11, 1u8)),
1148
        Some((27, 3u8)),
1149
        Some((27, 3u8)),
1150
        Some((27, 3u8)),
1151
        Some((27, 3u8)),
1152
        Some((59, 4u8)),
1153
        Some((59, 4u8)),
1154
        Some((60, 4u8)),
1155
        Some((60, 4u8)),
1156
        Some((1472, 5u8)),
1157
        Some((1536, 5u8)),
1158
        Some((1600, 5u8)),
1159
        Some((1728, 5u8)),
1160
        Some((18, 3u8)),
1161
        Some((18, 3u8)),
1162
        Some((18, 3u8)),
1163
        Some((18, 3u8)),
1164
    ];
1165
    static LEAF_LUT_0101: [Option<(u16, u8)>; 16usize] = [
1166
        Some((24, 3u8)),
1167
        Some((24, 3u8)),
1168
        Some((49, 4u8)),
1169
        Some((50, 4u8)),
1170
        Some((51, 4u8)),
1171
        Some((52, 4u8)),
1172
        Some((25, 3u8)),
1173
        Some((25, 3u8)),
1174
        Some((55, 4u8)),
1175
        Some((56, 4u8)),
1176
        Some((57, 4u8)),
1177
        Some((58, 4u8)),
1178
        Some((192, 2u8)),
1179
        Some((192, 2u8)),
1180
        Some((192, 2u8)),
1181
        Some((192, 2u8)),
1182
    ];
1183
    static LEAF_LUT_0110: [Option<(u16, u8)>; 32usize] = [
1184
        Some((1664, 2u8)),
1185
        Some((1664, 2u8)),
1186
        Some((1664, 2u8)),
1187
        Some((1664, 2u8)),
1188
        Some((1664, 2u8)),
1189
        Some((1664, 2u8)),
1190
        Some((1664, 2u8)),
1191
        Some((1664, 2u8)),
1192
        Some((448, 4u8)),
1193
        Some((448, 4u8)),
1194
        Some((512, 4u8)),
1195
        Some((512, 4u8)),
1196
        Some((704, 5u8)),
1197
        Some((768, 5u8)),
1198
        Some((640, 4u8)),
1199
        Some((640, 4u8)),
1200
        Some((576, 4u8)),
1201
        Some((576, 4u8)),
1202
        Some((832, 5u8)),
1203
        Some((896, 5u8)),
1204
        Some((960, 5u8)),
1205
        Some((1024, 5u8)),
1206
        Some((1088, 5u8)),
1207
        Some((1152, 5u8)),
1208
        Some((1216, 5u8)),
1209
        Some((1280, 5u8)),
1210
        Some((1344, 5u8)),
1211
        Some((1408, 5u8)),
1212
        Some((256, 3u8)),
1213
        Some((256, 3u8)),
1214
        Some((256, 3u8)),
1215
        Some((256, 3u8)),
1216
    ];
1217
    static LEAF_LUT_1001: [Option<(u16, u8)>; 2usize] = [Some((128, 1u8)), Some((8, 1u8))];
1218
    static LEAF_LUT_1010: [Option<(u16, u8)>; 4usize] = [Some((9, 1u8)), Some((9, 1u8)), Some((16, 2u8)), Some((17, 2u8))];
1219
    static LEAF_LUT_1101: [Option<(u16, u8)>; 4usize] = [Some((14, 2u8)), Some((15, 2u8)), Some((64, 1u8)), Some((64, 1u8))];
1220
    static PREFIX_LUT_0: [Entry<u16>; 16usize] = [
1221
        Entry::Leaf(8u8, &LEAF_LUT_0000),
1222
        Entry::Leaf(4u8, &LEAF_LUT_0001),
1223
        Entry::Leaf(4u8, &LEAF_LUT_0010),
1224
        Entry::Leaf(4u8, &LEAF_LUT_0011),
1225
        Entry::Leaf(5u8, &LEAF_LUT_0100),
1226
        Entry::Leaf(4u8, &LEAF_LUT_0101),
1227
        Entry::Leaf(5u8, &LEAF_LUT_0110),
1228
        Entry::Value(2, 4u8),
1229
        Entry::Value(3, 4u8),
1230
        Entry::Leaf(1u8, &LEAF_LUT_1001),
1231
        Entry::Leaf(2u8, &LEAF_LUT_1010),
1232
        Entry::Value(4, 4u8),
1233
        Entry::Value(5, 4u8),
1234
        Entry::Leaf(2u8, &LEAF_LUT_1101),
1235
        Entry::Value(6, 4u8),
1236
        Entry::Value(7, 4u8),
1237
    ];
1238
0
    pub fn decode(reader: &mut impl BitReader) -> Option<u16> {
1239
0
        let root = Entry::Prefix(4u8, &PREFIX_LUT_0);
1240
0
        root.find(reader)
1241
0
    }
Unexecuted instantiation: fax::maps::white::decode::<fax::ByteReader<std::io::Bytes<std::io::buffered::bufreader::BufReader<std::io::Take<&mut std::io::cursor::Cursor<&[u8]>>>>>>
Unexecuted instantiation: fax::maps::white::decode::<_>
1242
0
    pub fn encode(val: u16) -> Option<Bits> {
1243
0
        let bits = match val {
1244
0
            0 => Bits { data: 53u16, len: 8u8 },
1245
0
            1 => Bits { data: 7u16, len: 6u8 },
1246
0
            2 => Bits { data: 7u16, len: 4u8 },
1247
0
            3 => Bits { data: 8u16, len: 4u8 },
1248
0
            4 => Bits { data: 11u16, len: 4u8 },
1249
0
            5 => Bits { data: 12u16, len: 4u8 },
1250
0
            6 => Bits { data: 14u16, len: 4u8 },
1251
0
            7 => Bits { data: 15u16, len: 4u8 },
1252
0
            8 => Bits { data: 19u16, len: 5u8 },
1253
0
            9 => Bits { data: 20u16, len: 5u8 },
1254
0
            10 => Bits { data: 7u16, len: 5u8 },
1255
0
            11 => Bits { data: 8u16, len: 5u8 },
1256
0
            12 => Bits { data: 8u16, len: 6u8 },
1257
0
            13 => Bits { data: 3u16, len: 6u8 },
1258
0
            14 => Bits { data: 52u16, len: 6u8 },
1259
0
            15 => Bits { data: 53u16, len: 6u8 },
1260
0
            16 => Bits { data: 42u16, len: 6u8 },
1261
0
            17 => Bits { data: 43u16, len: 6u8 },
1262
0
            18 => Bits { data: 39u16, len: 7u8 },
1263
0
            19 => Bits { data: 12u16, len: 7u8 },
1264
0
            20 => Bits { data: 8u16, len: 7u8 },
1265
0
            21 => Bits { data: 23u16, len: 7u8 },
1266
0
            22 => Bits { data: 3u16, len: 7u8 },
1267
0
            23 => Bits { data: 4u16, len: 7u8 },
1268
0
            24 => Bits { data: 40u16, len: 7u8 },
1269
0
            25 => Bits { data: 43u16, len: 7u8 },
1270
0
            26 => Bits { data: 19u16, len: 7u8 },
1271
0
            27 => Bits { data: 36u16, len: 7u8 },
1272
0
            28 => Bits { data: 24u16, len: 7u8 },
1273
0
            29 => Bits { data: 2u16, len: 8u8 },
1274
0
            30 => Bits { data: 3u16, len: 8u8 },
1275
0
            31 => Bits { data: 26u16, len: 8u8 },
1276
0
            32 => Bits { data: 27u16, len: 8u8 },
1277
0
            33 => Bits { data: 18u16, len: 8u8 },
1278
0
            34 => Bits { data: 19u16, len: 8u8 },
1279
0
            35 => Bits { data: 20u16, len: 8u8 },
1280
0
            36 => Bits { data: 21u16, len: 8u8 },
1281
0
            37 => Bits { data: 22u16, len: 8u8 },
1282
0
            38 => Bits { data: 23u16, len: 8u8 },
1283
0
            39 => Bits { data: 40u16, len: 8u8 },
1284
0
            40 => Bits { data: 41u16, len: 8u8 },
1285
0
            41 => Bits { data: 42u16, len: 8u8 },
1286
0
            42 => Bits { data: 43u16, len: 8u8 },
1287
0
            43 => Bits { data: 44u16, len: 8u8 },
1288
0
            44 => Bits { data: 45u16, len: 8u8 },
1289
0
            45 => Bits { data: 4u16, len: 8u8 },
1290
0
            46 => Bits { data: 5u16, len: 8u8 },
1291
0
            47 => Bits { data: 10u16, len: 8u8 },
1292
0
            48 => Bits { data: 11u16, len: 8u8 },
1293
0
            49 => Bits { data: 82u16, len: 8u8 },
1294
0
            50 => Bits { data: 83u16, len: 8u8 },
1295
0
            51 => Bits { data: 84u16, len: 8u8 },
1296
0
            52 => Bits { data: 85u16, len: 8u8 },
1297
0
            53 => Bits { data: 36u16, len: 8u8 },
1298
0
            54 => Bits { data: 37u16, len: 8u8 },
1299
0
            55 => Bits { data: 88u16, len: 8u8 },
1300
0
            56 => Bits { data: 89u16, len: 8u8 },
1301
0
            57 => Bits { data: 90u16, len: 8u8 },
1302
0
            58 => Bits { data: 91u16, len: 8u8 },
1303
0
            59 => Bits { data: 74u16, len: 8u8 },
1304
0
            60 => Bits { data: 75u16, len: 8u8 },
1305
0
            61 => Bits { data: 50u16, len: 8u8 },
1306
0
            62 => Bits { data: 51u16, len: 8u8 },
1307
0
            63 => Bits { data: 52u16, len: 8u8 },
1308
0
            64 => Bits { data: 27u16, len: 5u8 },
1309
0
            128 => Bits { data: 18u16, len: 5u8 },
1310
0
            192 => Bits { data: 23u16, len: 6u8 },
1311
0
            256 => Bits { data: 55u16, len: 7u8 },
1312
0
            320 => Bits { data: 54u16, len: 8u8 },
1313
0
            384 => Bits { data: 55u16, len: 8u8 },
1314
0
            448 => Bits { data: 100u16, len: 8u8 },
1315
0
            512 => Bits { data: 101u16, len: 8u8 },
1316
0
            576 => Bits { data: 104u16, len: 8u8 },
1317
0
            640 => Bits { data: 103u16, len: 8u8 },
1318
0
            704 => Bits { data: 204u16, len: 9u8 },
1319
0
            768 => Bits { data: 205u16, len: 9u8 },
1320
0
            832 => Bits { data: 210u16, len: 9u8 },
1321
0
            896 => Bits { data: 211u16, len: 9u8 },
1322
0
            960 => Bits { data: 212u16, len: 9u8 },
1323
0
            1024 => Bits { data: 213u16, len: 9u8 },
1324
0
            1088 => Bits { data: 214u16, len: 9u8 },
1325
0
            1152 => Bits { data: 215u16, len: 9u8 },
1326
0
            1216 => Bits { data: 216u16, len: 9u8 },
1327
0
            1280 => Bits { data: 217u16, len: 9u8 },
1328
0
            1344 => Bits { data: 218u16, len: 9u8 },
1329
0
            1408 => Bits { data: 219u16, len: 9u8 },
1330
0
            1472 => Bits { data: 152u16, len: 9u8 },
1331
0
            1536 => Bits { data: 153u16, len: 9u8 },
1332
0
            1600 => Bits { data: 154u16, len: 9u8 },
1333
0
            1664 => Bits { data: 24u16, len: 6u8 },
1334
0
            1728 => Bits { data: 155u16, len: 9u8 },
1335
0
            1792 => Bits { data: 8u16, len: 11u8 },
1336
0
            1856 => Bits { data: 12u16, len: 11u8 },
1337
0
            1920 => Bits { data: 13u16, len: 11u8 },
1338
0
            1984 => Bits { data: 18u16, len: 12u8 },
1339
0
            2048 => Bits { data: 19u16, len: 12u8 },
1340
0
            2112 => Bits { data: 20u16, len: 12u8 },
1341
0
            2176 => Bits { data: 21u16, len: 12u8 },
1342
0
            2240 => Bits { data: 22u16, len: 12u8 },
1343
0
            2304 => Bits { data: 23u16, len: 12u8 },
1344
0
            2368 => Bits { data: 28u16, len: 12u8 },
1345
0
            2432 => Bits { data: 29u16, len: 12u8 },
1346
0
            2496 => Bits { data: 30u16, len: 12u8 },
1347
0
            2560 => Bits { data: 31u16, len: 12u8 },
1348
0
            _ => return None,
1349
        };
1350
0
        Some(bits)
1351
0
    }
1352
    pub static ENTRIES: [(u16, Bits); 104usize] = [
1353
        (0, Bits { data: 53u16, len: 8u8 }),
1354
        (1, Bits { data: 7u16, len: 6u8 }),
1355
        (2, Bits { data: 7u16, len: 4u8 }),
1356
        (3, Bits { data: 8u16, len: 4u8 }),
1357
        (4, Bits { data: 11u16, len: 4u8 }),
1358
        (5, Bits { data: 12u16, len: 4u8 }),
1359
        (6, Bits { data: 14u16, len: 4u8 }),
1360
        (7, Bits { data: 15u16, len: 4u8 }),
1361
        (8, Bits { data: 19u16, len: 5u8 }),
1362
        (9, Bits { data: 20u16, len: 5u8 }),
1363
        (10, Bits { data: 7u16, len: 5u8 }),
1364
        (11, Bits { data: 8u16, len: 5u8 }),
1365
        (12, Bits { data: 8u16, len: 6u8 }),
1366
        (13, Bits { data: 3u16, len: 6u8 }),
1367
        (14, Bits { data: 52u16, len: 6u8 }),
1368
        (15, Bits { data: 53u16, len: 6u8 }),
1369
        (16, Bits { data: 42u16, len: 6u8 }),
1370
        (17, Bits { data: 43u16, len: 6u8 }),
1371
        (18, Bits { data: 39u16, len: 7u8 }),
1372
        (19, Bits { data: 12u16, len: 7u8 }),
1373
        (20, Bits { data: 8u16, len: 7u8 }),
1374
        (21, Bits { data: 23u16, len: 7u8 }),
1375
        (22, Bits { data: 3u16, len: 7u8 }),
1376
        (23, Bits { data: 4u16, len: 7u8 }),
1377
        (24, Bits { data: 40u16, len: 7u8 }),
1378
        (25, Bits { data: 43u16, len: 7u8 }),
1379
        (26, Bits { data: 19u16, len: 7u8 }),
1380
        (27, Bits { data: 36u16, len: 7u8 }),
1381
        (28, Bits { data: 24u16, len: 7u8 }),
1382
        (29, Bits { data: 2u16, len: 8u8 }),
1383
        (30, Bits { data: 3u16, len: 8u8 }),
1384
        (31, Bits { data: 26u16, len: 8u8 }),
1385
        (32, Bits { data: 27u16, len: 8u8 }),
1386
        (33, Bits { data: 18u16, len: 8u8 }),
1387
        (34, Bits { data: 19u16, len: 8u8 }),
1388
        (35, Bits { data: 20u16, len: 8u8 }),
1389
        (36, Bits { data: 21u16, len: 8u8 }),
1390
        (37, Bits { data: 22u16, len: 8u8 }),
1391
        (38, Bits { data: 23u16, len: 8u8 }),
1392
        (39, Bits { data: 40u16, len: 8u8 }),
1393
        (40, Bits { data: 41u16, len: 8u8 }),
1394
        (41, Bits { data: 42u16, len: 8u8 }),
1395
        (42, Bits { data: 43u16, len: 8u8 }),
1396
        (43, Bits { data: 44u16, len: 8u8 }),
1397
        (44, Bits { data: 45u16, len: 8u8 }),
1398
        (45, Bits { data: 4u16, len: 8u8 }),
1399
        (46, Bits { data: 5u16, len: 8u8 }),
1400
        (47, Bits { data: 10u16, len: 8u8 }),
1401
        (48, Bits { data: 11u16, len: 8u8 }),
1402
        (49, Bits { data: 82u16, len: 8u8 }),
1403
        (50, Bits { data: 83u16, len: 8u8 }),
1404
        (51, Bits { data: 84u16, len: 8u8 }),
1405
        (52, Bits { data: 85u16, len: 8u8 }),
1406
        (53, Bits { data: 36u16, len: 8u8 }),
1407
        (54, Bits { data: 37u16, len: 8u8 }),
1408
        (55, Bits { data: 88u16, len: 8u8 }),
1409
        (56, Bits { data: 89u16, len: 8u8 }),
1410
        (57, Bits { data: 90u16, len: 8u8 }),
1411
        (58, Bits { data: 91u16, len: 8u8 }),
1412
        (59, Bits { data: 74u16, len: 8u8 }),
1413
        (60, Bits { data: 75u16, len: 8u8 }),
1414
        (61, Bits { data: 50u16, len: 8u8 }),
1415
        (62, Bits { data: 51u16, len: 8u8 }),
1416
        (63, Bits { data: 52u16, len: 8u8 }),
1417
        (64, Bits { data: 27u16, len: 5u8 }),
1418
        (128, Bits { data: 18u16, len: 5u8 }),
1419
        (192, Bits { data: 23u16, len: 6u8 }),
1420
        (256, Bits { data: 55u16, len: 7u8 }),
1421
        (320, Bits { data: 54u16, len: 8u8 }),
1422
        (384, Bits { data: 55u16, len: 8u8 }),
1423
        (448, Bits { data: 100u16, len: 8u8 }),
1424
        (512, Bits { data: 101u16, len: 8u8 }),
1425
        (576, Bits { data: 104u16, len: 8u8 }),
1426
        (640, Bits { data: 103u16, len: 8u8 }),
1427
        (704, Bits { data: 204u16, len: 9u8 }),
1428
        (768, Bits { data: 205u16, len: 9u8 }),
1429
        (832, Bits { data: 210u16, len: 9u8 }),
1430
        (896, Bits { data: 211u16, len: 9u8 }),
1431
        (960, Bits { data: 212u16, len: 9u8 }),
1432
        (1024, Bits { data: 213u16, len: 9u8 }),
1433
        (1088, Bits { data: 214u16, len: 9u8 }),
1434
        (1152, Bits { data: 215u16, len: 9u8 }),
1435
        (1216, Bits { data: 216u16, len: 9u8 }),
1436
        (1280, Bits { data: 217u16, len: 9u8 }),
1437
        (1344, Bits { data: 218u16, len: 9u8 }),
1438
        (1408, Bits { data: 219u16, len: 9u8 }),
1439
        (1472, Bits { data: 152u16, len: 9u8 }),
1440
        (1536, Bits { data: 153u16, len: 9u8 }),
1441
        (1600, Bits { data: 154u16, len: 9u8 }),
1442
        (1664, Bits { data: 24u16, len: 6u8 }),
1443
        (1728, Bits { data: 155u16, len: 9u8 }),
1444
        (1792, Bits { data: 8u16, len: 11u8 }),
1445
        (1856, Bits { data: 12u16, len: 11u8 }),
1446
        (1920, Bits { data: 13u16, len: 11u8 }),
1447
        (1984, Bits { data: 18u16, len: 12u8 }),
1448
        (2048, Bits { data: 19u16, len: 12u8 }),
1449
        (2112, Bits { data: 20u16, len: 12u8 }),
1450
        (2176, Bits { data: 21u16, len: 12u8 }),
1451
        (2240, Bits { data: 22u16, len: 12u8 }),
1452
        (2304, Bits { data: 23u16, len: 12u8 }),
1453
        (2368, Bits { data: 28u16, len: 12u8 }),
1454
        (2432, Bits { data: 29u16, len: 12u8 }),
1455
        (2496, Bits { data: 30u16, len: 12u8 }),
1456
        (2560, Bits { data: 31u16, len: 12u8 }),
1457
    ];
1458
}