From 4b5a43a219d51066c01ff2ab86af18b967f2d0dd Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Fri, 9 Sep 2011 23:22:37 -0700 Subject: zlib 1.2.0.5 --- contrib/infback9/README | 1 + contrib/infback9/infback9.diff | 427 +++++++++++++++++++++++++++++++++++++++++ contrib/infback9/infback9.h | 26 +++ contrib/infback9/inffix9.h | 94 +++++++++ 4 files changed, 548 insertions(+) create mode 100644 contrib/infback9/README create mode 100644 contrib/infback9/infback9.diff create mode 100644 contrib/infback9/infback9.h create mode 100644 contrib/infback9/inffix9.h (limited to 'contrib/infback9') diff --git a/contrib/infback9/README b/contrib/infback9/README new file mode 100644 index 0000000..e75ed13 --- /dev/null +++ b/contrib/infback9/README @@ -0,0 +1 @@ +See infback9.h for what this is and how to use it. diff --git a/contrib/infback9/infback9.diff b/contrib/infback9/infback9.diff new file mode 100644 index 0000000..cbe2e49 --- /dev/null +++ b/contrib/infback9/infback9.diff @@ -0,0 +1,427 @@ +*** infback.c Mon Aug 11 16:48:06 2003 +--- infback9.c Mon Sep 8 21:22:46 2003 +*************** +*** 1,19 **** +! /* infback.c -- inflate using a call-back interface + * Copyright (C) 1995-2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +- /* +- This code is largely copied from inflate.c. Normally either infback.o or +- inflate.o would be linked into an application--not both. The interface +- with inffast.c is retained so that optimized assembler-coded versions of +- inflate_fast() can be used with either inflate.c or infback.c. +- */ +- + #include "zutil.h" +! #include "inftrees.h" + #include "inflate.h" +- #include "inffast.h" + + /* function prototypes */ + local void fixedtables OF((struct inflate_state FAR *state)); +--- 1,12 ---- +! /* infback9.c -- inflate deflate64 data using a call-back interface + * Copyright (C) 1995-2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + + #include "zutil.h" +! #include "infback9.h" +! #include "inftree9.h" + #include "inflate.h" + + /* function prototypes */ + local void fixedtables OF((struct inflate_state FAR *state)); +*************** +*** 22,33 **** + strm provides memory allocation functions in zalloc and zfree, or + Z_NULL to use the library memory allocation functions. + +! windowBits is in the range 8..15, and window is a user-supplied +! window and output buffer that is 2**windowBits bytes. + */ +! int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size) + z_stream FAR *strm; +- int windowBits; + unsigned char FAR *window; + const char *version; + int stream_size; +--- 15,24 ---- + strm provides memory allocation functions in zalloc and zfree, or + Z_NULL to use the library memory allocation functions. + +! window is a user-supplied window and output buffer that is 64K bytes. + */ +! int ZEXPORT inflateBack9Init_(strm, window, version, stream_size) + z_stream FAR *strm; + unsigned char FAR *window; + const char *version; + int stream_size; +*************** +*** 37,44 **** + if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || + stream_size != (int)(sizeof(z_stream))) + return Z_VERSION_ERROR; +! if (strm == Z_NULL || window == Z_NULL || +! windowBits < 8 || windowBits > 15) + return Z_STREAM_ERROR; + strm->msg = Z_NULL; /* in case we return an error */ + if (strm->zalloc == (alloc_func)0) { +--- 28,34 ---- + if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || + stream_size != (int)(sizeof(z_stream))) + return Z_VERSION_ERROR; +! if (strm == Z_NULL || window == Z_NULL) + return Z_STREAM_ERROR; + strm->msg = Z_NULL; /* in case we return an error */ + if (strm->zalloc == (alloc_func)0) { +*************** +*** 51,58 **** + if (state == Z_NULL) return Z_MEM_ERROR; + Tracev((stderr, "inflate: allocated\n")); + strm->state = (voidpf)state; +! state->wbits = windowBits; +! state->wsize = 1U << windowBits; + state->window = window; + state->write = 0; + state->whave = 0; +--- 41,48 ---- + if (state == Z_NULL) return Z_MEM_ERROR; + Tracev((stderr, "inflate: allocated\n")); + strm->state = (voidpf)state; +! state->wbits = 16; +! state->wsize = 1U << 16; + state->window = window; + state->write = 0; + state->whave = 0; +*************** +*** 91,110 **** + next = fixed; + lenfix = next; + bits = 9; +! inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); + + /* distance table */ + sym = 0; + while (sym < 32) state->lens[sym++] = 5; + distfix = next; + bits = 5; +! inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); + + /* do this just once */ + virgin = 0; + } + #else /* !BUILDFIXED */ +! # include "inffixed.h" + #endif /* BUILDFIXED */ + state->lencode = lenfix; + state->lenbits = 9; +--- 81,100 ---- + next = fixed; + lenfix = next; + bits = 9; +! inflate_table9(LENS, state->lens, 288, &(next), &(bits), state->work); + + /* distance table */ + sym = 0; + while (sym < 32) state->lens[sym++] = 5; + distfix = next; + bits = 5; +! inflate_table9(DISTS, state->lens, 32, &(next), &(bits), state->work); + + /* do this just once */ + virgin = 0; + } + #else /* !BUILDFIXED */ +! # include "inffix9.h" + #endif /* BUILDFIXED */ + state->lencode = lenfix; + state->lenbits = 9; +*************** +*** 114,141 **** + + /* Macros for inflateBack(): */ + +- /* Load returned state from inflate_fast() */ +- #define LOAD() \ +- do { \ +- put = strm->next_out; \ +- left = strm->avail_out; \ +- next = strm->next_in; \ +- have = strm->avail_in; \ +- hold = state->hold; \ +- bits = state->bits; \ +- } while (0) +- +- /* Set state from registers for inflate_fast() */ +- #define RESTORE() \ +- do { \ +- strm->next_out = put; \ +- strm->avail_out = left; \ +- strm->next_in = next; \ +- strm->avail_in = have; \ +- state->hold = hold; \ +- state->bits = bits; \ +- } while (0) +- + /* Clear the input bit accumulator */ + #define INITBITS() \ + do { \ +--- 104,109 ---- +*************** +*** 237,243 **** + inflateBack() can also return Z_STREAM_ERROR if the input parameters + are not correct, i.e. strm is Z_NULL or the state was not initialized. + */ +! int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) + z_stream FAR *strm; + in_func in; + void FAR *in_desc; +--- 205,211 ---- + inflateBack() can also return Z_STREAM_ERROR if the input parameters + are not correct, i.e. strm is Z_NULL or the state was not initialized. + */ +! int ZEXPORT inflateBack9(strm, in, in_desc, out, out_desc) + z_stream FAR *strm; + in_func in; + void FAR *in_desc; +*************** +*** 354,366 **** + DROPBITS(5); + state->ncode = BITS(4) + 4; + DROPBITS(4); +! #ifndef PKZIP_BUG_WORKAROUND +! if (state->nlen > 286 || state->ndist > 30) { +! strm->msg = (char *)"too many length or distance symbols"; + state->mode = BAD; + break; + } +- #endif + Tracev((stderr, "inflate: table sizes ok\n")); + + /* get code length code lengths (not a typo) */ +--- 322,332 ---- + DROPBITS(5); + state->ncode = BITS(4) + 4; + DROPBITS(4); +! if (state->nlen > 286) { +! strm->msg = (char *)"too many length symbols"; + state->mode = BAD; + break; + } + Tracev((stderr, "inflate: table sizes ok\n")); + + /* get code length code lengths (not a typo) */ +*************** +*** 375,381 **** + state->next = state->codes; + state->lencode = (code const FAR *)(state->next); + state->lenbits = 7; +! ret = inflate_table(CODES, state->lens, 19, &(state->next), + &(state->lenbits), state->work); + if (ret) { + strm->msg = (char *)"invalid code lengths set"; +--- 341,347 ---- + state->next = state->codes; + state->lencode = (code const FAR *)(state->next); + state->lenbits = 7; +! ret = inflate_table9(CODES, state->lens, 19, &(state->next), + &(state->lenbits), state->work); + if (ret) { + strm->msg = (char *)"invalid code lengths set"; +*************** +*** 438,445 **** + state->next = state->codes; + state->lencode = (code const FAR *)(state->next); + state->lenbits = 9; +! ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), +! &(state->lenbits), state->work); + if (ret) { + strm->msg = (char *)"invalid literal/lengths set"; + state->mode = BAD; +--- 404,411 ---- + state->next = state->codes; + state->lencode = (code const FAR *)(state->next); + state->lenbits = 9; +! ret = inflate_table9(LENS, state->lens, state->nlen, +! &(state->next), &(state->lenbits), state->work); + if (ret) { + strm->msg = (char *)"invalid literal/lengths set"; + state->mode = BAD; +*************** +*** 447,454 **** + } + state->distcode = (code const FAR *)(state->next); + state->distbits = 6; +! ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, +! &(state->next), &(state->distbits), state->work); + if (ret) { + strm->msg = (char *)"invalid distances set"; + state->mode = BAD; +--- 413,421 ---- + } + state->distcode = (code const FAR *)(state->next); + state->distbits = 6; +! ret = inflate_table9(DISTS, state->lens + state->nlen, +! state->ndist, &(state->next), &(state->distbits), +! state->work); + if (ret) { + strm->msg = (char *)"invalid distances set"; + state->mode = BAD; +*************** +*** 458,473 **** + state->mode = LEN; + + case LEN: +- /* use inflate_fast() if we have enough input and output */ +- if (have >= 6 && left >= 258) { +- RESTORE(); +- if (state->whave < state->wsize) +- state->whave = state->wsize - left; +- inflate_fast(strm, state->wsize); +- LOAD(); +- break; +- } +- + /* get a literal, length, or end-of-block code */ + for (;;) { + this = state->lencode[BITS(state->lenbits)]; +--- 425,430 ---- +*************** +*** 607,613 **** + return ret; + } + +! int ZEXPORT inflateBackEnd(strm) + z_stream FAR *strm; + { + if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) +--- 564,570 ---- + return ret; + } + +! int ZEXPORT inflateBack9End(strm) + z_stream FAR *strm; + { + if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) +*** inftrees.c Sun Sep 7 10:59:10 2003 +--- inftree9.c Mon Sep 8 20:54:36 2003 +*************** +*** 1,15 **** +! /* inftrees.c -- generate Huffman trees for efficient decoding + * Copyright (C) 1995-2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + + #include "zutil.h" +! #include "inftrees.h" + + #define MAXBITS 15 + +! const char inflate_copyright[] = +! " inflate 1.2.0.5 Copyright 1995-2003 Mark Adler "; + /* + If you use the zlib library in a product, an acknowledgment is welcome + in the documentation of your product. If for some reason you cannot +--- 1,15 ---- +! /* inftree9.c -- generate Huffman trees for efficient decoding + * Copyright (C) 1995-2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + + #include "zutil.h" +! #include "inftree9.h" + + #define MAXBITS 15 + +! const char inflate9_copyright[] = +! " inflate9 1.2.0.5 Copyright 1995-2003 Mark Adler "; + /* + If you use the zlib library in a product, an acknowledgment is welcome + in the documentation of your product. If for some reason you cannot +*************** +*** 29,35 **** + table index bits. It will differ if the request is greater than the + longest code or if it is less than the shortest code. + */ +! int inflate_table(type, lens, codes, table, bits, work) + codetype type; + unsigned short FAR *lens; + unsigned codes; +--- 29,35 ---- + table index bits. It will differ if the request is greater than the + longest code or if it is less than the shortest code. + */ +! int inflate_table9(type, lens, codes, table, bits, work) + codetype type; + unsigned short FAR *lens; + unsigned codes; +*************** +*** 59,76 **** + unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ + static const unsigned short lbase[31] = { /* Length codes 257..285 base */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, +! 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; + static const unsigned short lext[31] = { /* Length codes 257..285 extra */ + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, +! 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 192, 78}; +! static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, +! 8193, 12289, 16385, 24577, 0, 0}; +! static const unsigned short dext[32] = { /* Distance codes 0..29 extra */ + 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, + 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, +! 28, 28, 29, 29, 64, 64}; + + /* + Process a set of code lengths to create a canonical Huffman code. The +--- 59,76 ---- + unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ + static const unsigned short lbase[31] = { /* Length codes 257..285 base */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, +! 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 3, 0, 0}; + static const unsigned short lext[31] = { /* Length codes 257..285 extra */ + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, +! 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 32, 192, 78}; +! static const unsigned short dbase[32] = { /* Distance codes 0..31 base */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, +! 8193, 12289, 16385, 24577, 32769, 49153}; +! static const unsigned short dext[32] = { /* Distance codes 0..31 extra */ + 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, + 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, +! 28, 28, 29, 29, 30, 30}; + + /* + Process a set of code lengths to create a canonical Huffman code. The +*** inftrees.h Sun Aug 10 15:15:50 2003 +--- inftree9.h Mon Sep 8 20:54:51 2003 +*************** +*** 1,4 **** +! /* inftrees.h -- header to use inftrees.c + * Copyright (C) 1995-2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ +--- 1,4 ---- +! /* inftree9.h -- header to use inftree9.c + * Copyright (C) 1995-2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ +*************** +*** 50,55 **** + DISTS + } codetype; + +! extern int inflate_table OF((codetype type, unsigned short FAR *lens, + unsigned codes, code FAR * FAR *table, + unsigned FAR *bits, unsigned short FAR *work)); +--- 50,55 ---- + DISTS + } codetype; + +! extern int inflate_table9 OF((codetype type, unsigned short FAR *lens, + unsigned codes, code FAR * FAR *table, + unsigned FAR *bits, unsigned short FAR *work)); diff --git a/contrib/infback9/infback9.h b/contrib/infback9/infback9.h new file mode 100644 index 0000000..fb7c73e --- /dev/null +++ b/contrib/infback9/infback9.h @@ -0,0 +1,26 @@ +/* infback9.h -- header for using inflateBack9 functions + * Copyright (C) 2003 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* + * This header file and associated patches provide a decoder for PKWare's + * undocumented deflate64 compression method (method 9). Use with infback9.c, + * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported. + * This code will almost certainly not work on 16-bit architectures. See the + * comments in zlib.h for inflateBack() usage. These functions are used + * identically, except that there is no windowBits parameter, and a 64K + * window must be provided. zlib.h must be included before this header file. + */ + +ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm, + in_func in, void FAR *in_desc, + out_func out, void FAR *out_desc)); +ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm)); +ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm, + unsigned char FAR *window, + const char *version, + int stream_size)); +#define inflateBack9Init(strm, window) \ + inflateBack9Init_((strm), (window), \ + ZLIB_VERSION, sizeof(z_stream)) diff --git a/contrib/infback9/inffix9.h b/contrib/infback9/inffix9.h new file mode 100644 index 0000000..8476588 --- /dev/null +++ b/contrib/infback9/inffix9.h @@ -0,0 +1,94 @@ + /* inffix9.h -- table for decoding fixed codes + * Generated automatically by makefixed(). + */ + + /* WARNING: this file should *not* be used by applications. + It is part of the implementation of this library and is + subject to change. Applications should only use zlib.h. + */ + + static const code lenfix[512] = { + {96,7,0},{0,8,80},{0,8,16},{20,8,115},{18,7,31},{0,8,112},{0,8,48}, + {0,9,192},{16,7,10},{0,8,96},{0,8,32},{0,9,160},{0,8,0},{0,8,128}, + {0,8,64},{0,9,224},{16,7,6},{0,8,88},{0,8,24},{0,9,144},{19,7,59}, + {0,8,120},{0,8,56},{0,9,208},{17,7,17},{0,8,104},{0,8,40},{0,9,176}, + {0,8,8},{0,8,136},{0,8,72},{0,9,240},{16,7,4},{0,8,84},{0,8,20}, + {21,8,227},{19,7,43},{0,8,116},{0,8,52},{0,9,200},{17,7,13},{0,8,100}, + {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},{16,7,8}, + {0,8,92},{0,8,28},{0,9,152},{20,7,83},{0,8,124},{0,8,60},{0,9,216}, + {18,7,23},{0,8,108},{0,8,44},{0,9,184},{0,8,12},{0,8,140},{0,8,76}, + {0,9,248},{16,7,3},{0,8,82},{0,8,18},{21,8,163},{19,7,35},{0,8,114}, + {0,8,50},{0,9,196},{17,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2}, + {0,8,130},{0,8,66},{0,9,228},{16,7,7},{0,8,90},{0,8,26},{0,9,148}, + {20,7,67},{0,8,122},{0,8,58},{0,9,212},{18,7,19},{0,8,106},{0,8,42}, + {0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},{16,7,5},{0,8,86}, + {0,8,22},{192,8,0},{19,7,51},{0,8,118},{0,8,54},{0,9,204},{17,7,15}, + {0,8,102},{0,8,38},{0,9,172},{0,8,6},{0,8,134},{0,8,70},{0,9,236}, + {16,7,9},{0,8,94},{0,8,30},{0,9,156},{20,7,99},{0,8,126},{0,8,62}, + {0,9,220},{18,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142}, + {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{21,8,131},{18,7,31}, + {0,8,113},{0,8,49},{0,9,194},{16,7,10},{0,8,97},{0,8,33},{0,9,162}, + {0,8,1},{0,8,129},{0,8,65},{0,9,226},{16,7,6},{0,8,89},{0,8,25}, + {0,9,146},{19,7,59},{0,8,121},{0,8,57},{0,9,210},{17,7,17},{0,8,105}, + {0,8,41},{0,9,178},{0,8,9},{0,8,137},{0,8,73},{0,9,242},{16,7,4}, + {0,8,85},{0,8,21},{32,8,3},{19,7,43},{0,8,117},{0,8,53},{0,9,202}, + {17,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},{0,8,69}, + {0,9,234},{16,7,8},{0,8,93},{0,8,29},{0,9,154},{20,7,83},{0,8,125}, + {0,8,61},{0,9,218},{18,7,23},{0,8,109},{0,8,45},{0,9,186},{0,8,13}, + {0,8,141},{0,8,77},{0,9,250},{16,7,3},{0,8,83},{0,8,19},{21,8,195}, + {19,7,35},{0,8,115},{0,8,51},{0,9,198},{17,7,11},{0,8,99},{0,8,35}, + {0,9,166},{0,8,3},{0,8,131},{0,8,67},{0,9,230},{16,7,7},{0,8,91}, + {0,8,27},{0,9,150},{20,7,67},{0,8,123},{0,8,59},{0,9,214},{18,7,19}, + {0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},{0,8,75},{0,9,246}, + {16,7,5},{0,8,87},{0,8,23},{78,8,0},{19,7,51},{0,8,119},{0,8,55}, + {0,9,206},{17,7,15},{0,8,103},{0,8,39},{0,9,174},{0,8,7},{0,8,135}, + {0,8,71},{0,9,238},{16,7,9},{0,8,95},{0,8,31},{0,9,158},{20,7,99}, + {0,8,127},{0,8,63},{0,9,222},{18,7,27},{0,8,111},{0,8,47},{0,9,190}, + {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},{0,8,16}, + {20,8,115},{18,7,31},{0,8,112},{0,8,48},{0,9,193},{16,7,10},{0,8,96}, + {0,8,32},{0,9,161},{0,8,0},{0,8,128},{0,8,64},{0,9,225},{16,7,6}, + {0,8,88},{0,8,24},{0,9,145},{19,7,59},{0,8,120},{0,8,56},{0,9,209}, + {17,7,17},{0,8,104},{0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72}, + {0,9,241},{16,7,4},{0,8,84},{0,8,20},{21,8,227},{19,7,43},{0,8,116}, + {0,8,52},{0,9,201},{17,7,13},{0,8,100},{0,8,36},{0,9,169},{0,8,4}, + {0,8,132},{0,8,68},{0,9,233},{16,7,8},{0,8,92},{0,8,28},{0,9,153}, + {20,7,83},{0,8,124},{0,8,60},{0,9,217},{18,7,23},{0,8,108},{0,8,44}, + {0,9,185},{0,8,12},{0,8,140},{0,8,76},{0,9,249},{16,7,3},{0,8,82}, + {0,8,18},{21,8,163},{19,7,35},{0,8,114},{0,8,50},{0,9,197},{17,7,11}, + {0,8,98},{0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229}, + {16,7,7},{0,8,90},{0,8,26},{0,9,149},{20,7,67},{0,8,122},{0,8,58}, + {0,9,213},{18,7,19},{0,8,106},{0,8,42},{0,9,181},{0,8,10},{0,8,138}, + {0,8,74},{0,9,245},{16,7,5},{0,8,86},{0,8,22},{192,8,0},{19,7,51}, + {0,8,118},{0,8,54},{0,9,205},{17,7,15},{0,8,102},{0,8,38},{0,9,173}, + {0,8,6},{0,8,134},{0,8,70},{0,9,237},{16,7,9},{0,8,94},{0,8,30}, + {0,9,157},{20,7,99},{0,8,126},{0,8,62},{0,9,221},{18,7,27},{0,8,110}, + {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},{96,7,0}, + {0,8,81},{0,8,17},{21,8,131},{18,7,31},{0,8,113},{0,8,49},{0,9,195}, + {16,7,10},{0,8,97},{0,8,33},{0,9,163},{0,8,1},{0,8,129},{0,8,65}, + {0,9,227},{16,7,6},{0,8,89},{0,8,25},{0,9,147},{19,7,59},{0,8,121}, + {0,8,57},{0,9,211},{17,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9}, + {0,8,137},{0,8,73},{0,9,243},{16,7,4},{0,8,85},{0,8,21},{32,8,3}, + {19,7,43},{0,8,117},{0,8,53},{0,9,203},{17,7,13},{0,8,101},{0,8,37}, + {0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},{16,7,8},{0,8,93}, + {0,8,29},{0,9,155},{20,7,83},{0,8,125},{0,8,61},{0,9,219},{18,7,23}, + {0,8,109},{0,8,45},{0,9,187},{0,8,13},{0,8,141},{0,8,77},{0,9,251}, + {16,7,3},{0,8,83},{0,8,19},{21,8,195},{19,7,35},{0,8,115},{0,8,51}, + {0,9,199},{17,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131}, + {0,8,67},{0,9,231},{16,7,7},{0,8,91},{0,8,27},{0,9,151},{20,7,67}, + {0,8,123},{0,8,59},{0,9,215},{18,7,19},{0,8,107},{0,8,43},{0,9,183}, + {0,8,11},{0,8,139},{0,8,75},{0,9,247},{16,7,5},{0,8,87},{0,8,23}, + {78,8,0},{19,7,51},{0,8,119},{0,8,55},{0,9,207},{17,7,15},{0,8,103}, + {0,8,39},{0,9,175},{0,8,7},{0,8,135},{0,8,71},{0,9,239},{16,7,9}, + {0,8,95},{0,8,31},{0,9,159},{20,7,99},{0,8,127},{0,8,63},{0,9,223}, + {18,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},{0,8,79}, + {0,9,255} + }; + + static const code distfix[32] = { + {16,5,1},{23,5,257},{19,5,17},{27,5,4097},{17,5,5},{25,5,1025}, + {21,5,65},{29,5,16385},{16,5,3},{24,5,513},{20,5,33},{28,5,8193}, + {18,5,9},{26,5,2049},{22,5,129},{30,5,32769},{16,5,2},{23,5,385}, + {19,5,25},{27,5,6145},{17,5,7},{25,5,1537},{21,5,97},{29,5,24577}, + {16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073}, + {22,5,193},{30,5,49153} + }; -- cgit v1.2.3-55-g6feb