internal void send_all_trees(int lcodes, int dcodes, int blcodes){
int rank; // index in bl_order
send_bits(lcodes-257, 5); // not +255 as stated in appnote.txt
send_bits(dcodes-1, 5);
send_bits(blcodes-4, 4); // not -3 as stated in appnote.txt
for (rank = 0; rank < blcodes; rank++) {
send_bits(bl_tree[Tree.bl_order[rank]*2+1], 3);
}
send_tree(dyn_ltree, lcodes-1); // literal tree
send_tree(dyn_dtree, dcodes-1); // distance tree
}