use crate::decoder::ccitt::HuffmanTree;
pub fn white_tree() -> HuffmanTree {
let working_bits = 9;
let max_bits = 12;
let append_bits = 9;
let append = [
(-1, -1),
(12, -2),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(-1, -1),
(11, 1792),
(11, 1792),
(12, 1984),
(12, 2048),
(12, 2112),
(12, 2176),
(12, 2240),
(12, 2304),
(11, 1856),
(11, 1856),
(11, 1920),
(11, 1920),
(12, 2368),
(12, 2432),
(12, 2496),
(12, 2560),
];
let matrix: [(i32, i32); 512] = [
(-1, 0),
(-1, 1),
(-1, 2),
(-1, 3),
(8, 29),
(8, 29),
(8, 30),
(8, 30),
(8, 45),
(8, 45),
(8, 46),
(8, 46),
(7, 22),
(7, 22),
(7, 22),
(7, 22),
(7, 23),
(7, 23),
(7, 23),
(7, 23),
(8, 47),
(8, 47),
(8, 48),
(8, 48),
(6, 13),
(6, 13),
(6, 13),
(6, 13),
(6, 13),
(6, 13),
(6, 13),
(6, 13),
(7, 20),
(7, 20),
(7, 20),
(7, 20),
(8, 33),
(8, 33),
(8, 34),
(8, 34),
(8, 35),
(8, 35),
(8, 36),
(8, 36),
(8, 37),
(8, 37),
(8, 38),
(8, 38),
(7, 19),
(7, 19),
(7, 19),
(7, 19),
(8, 31),
(8, 31),
(8, 32),
(8, 32),
(6, 1),
(6, 1),
(6, 1),
(6, 1),
(6, 1),
(6, 1),
(6, 1),
(6, 1),
(6, 12),
(6, 12),
(6, 12),
(6, 12),
(6, 12),
(6, 12),
(6, 12),
(6, 12),
(8, 53),
(8, 53),
(8, 54),
(8, 54),
(7, 26),
(7, 26),
(7, 26),
(7, 26),
(8, 39),
(8, 39),
(8, 40),
(8, 40),
(8, 41),
(8, 41),
(8, 42),
(8, 42),
(8, 43),
(8, 43),
(8, 44),
(8, 44),
(7, 21),
(7, 21),
(7, 21),
(7, 21),
(7, 28),
(7, 28),
(7, 28),
(7, 28),
(8, 61),
(8, 61),
(8, 62),
(8, 62),
(8, 63),
(8, 63),
(8, 0),
(8, 0),
(8, 320),
(8, 320),
(8, 384),
(8, 384),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 10),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(5, 11),
(7, 27),
(7, 27),
(7, 27),
(7, 27),
(8, 59),
(8, 59),
(8, 60),
(8, 60),
(9, 1472),
(9, 1536),
(9, 1600),
(9, 1728),
(7, 18),
(7, 18),
(7, 18),
(7, 18),
(7, 24),
(7, 24),
(7, 24),
(7, 24),
(8, 49),
(8, 49),
(8, 50),
(8, 50),
(8, 51),
(8, 51),
(8, 52),
(8, 52),
(7, 25),
(7, 25),
(7, 25),
(7, 25),
(8, 55),
(8, 55),
(8, 56),
(8, 56),
(8, 57),
(8, 57),
(8, 58),
(8, 58),
(6, 192),
(6, 192),
(6, 192),
(6, 192),
(6, 192),
(6, 192),
(6, 192),
(6, 192),
(6, 1664),
(6, 1664),
(6, 1664),
(6, 1664),
(6, 1664),
(6, 1664),
(6, 1664),
(6, 1664),
(8, 448),
(8, 448),
(8, 512),
(8, 512),
(9, 704),
(9, 768),
(8, 640),
(8, 640),
(8, 576),
(8, 576),
(9, 832),
(9, 896),
(9, 960),
(9, 1024),
(9, 1088),
(9, 1152),
(9, 1216),
(9, 1280),
(9, 1344),
(9, 1408),
(7, 256),
(7, 256),
(7, 256),
(7, 256),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 2),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(4, 3),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 128),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 8),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(5, 9),
(6, 16),
(6, 16),
(6, 16),
(6, 16),
(6, 16),
(6, 16),
(6, 16),
(6, 16),
(6, 17),
(6, 17),
(6, 17),
(6, 17),
(6, 17),
(6, 17),
(6, 17),
(6, 17),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 4),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(4, 5),
(6, 14),
(6, 14),
(6, 14),
(6, 14),
(6, 14),
(6, 14),
(6, 14),
(6, 14),
(6, 15),
(6, 15),
(6, 15),
(6, 15),
(6, 15),
(6, 15),
(6, 15),
(6, 15),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(5, 64),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 6),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
(4, 7),
];
HuffmanTree {
working_bits,
max_bits,
append_bits,
matrix: matrix.to_vec(),
append: append.to_vec(),
}
}