;ct_data[L_CODES+2]
align 4
static_ltree dw \
	 12,  8, 140,  8,  76,  8, 204,  8,  44,  8,\
	172,  8, 108,  8, 236,  8,  28,  8, 156,  8,\
	 92,  8, 220,  8,  60,  8, 188,  8, 124,  8,\
	252,  8,   2,  8, 130,  8,  66,  8, 194,  8,\
	 34,  8, 162,  8,  98,  8, 226,  8,  18,  8,\
	146,  8,  82,  8, 210,  8,  50,  8, 178,  8,\
	114,  8, 242,  8,  10,  8, 138,  8,  74,  8,\
	202,  8,  42,  8, 170,  8, 106,  8, 234,  8,\
	 26,  8, 154,  8,  90,  8, 218,  8,  58,  8,\
	186,  8, 122,  8, 250,  8,   6,  8, 134,  8,\
	 70,  8, 198,  8,  38,  8, 166,  8, 102,  8,\
	230,  8,  22,  8, 150,  8,  86,  8, 214,  8,\
	 54,  8, 182,  8, 118,  8, 246,  8,  14,  8,\
	142,  8,  78,  8, 206,  8,  46,  8, 174,  8,\
	110,  8, 238,  8,  30,  8, 158,  8,  94,  8,\
	222,  8,  62,  8, 190,  8, 126,  8, 254,  8,\
	  1,  8, 129,  8,  65,  8, 193,  8,  33,  8,\
	161,  8,  97,  8, 225,  8,  17,  8, 145,  8,\
	 81,  8, 209,  8,  49,  8, 177,  8, 113,  8,\
	241,  8,   9,  8, 137,  8,  73,  8, 201,  8,\
	 41,  8, 169,  8, 105,  8, 233,  8,  25,  8,\
	153,  8,  89,  8, 217,  8,  57,  8, 185,  8,\
	121,  8, 249,  8,   5,  8, 133,  8,  69,  8,\
	197,  8,  37,  8, 165,  8, 101,  8, 229,  8,\
	 21,  8, 149,  8,  85,  8, 213,  8,  53,  8,\
	181,  8, 117,  8, 245,  8,  13,  8, 141,  8,\
	 77,  8, 205,  8,  45,  8, 173,  8, 109,  8,\
	237,  8,  29,  8, 157,  8,  93,  8, 221,  8,\
	 61,  8, 189,  8, 125,  8, 253,  8,  19,  9,\
	275,  9, 147,  9, 403,  9,  83,  9, 339,  9,\
	211,  9, 467,  9,  51,  9, 307,  9, 179,  9,\
	435,  9, 115,  9, 371,  9, 243,  9, 499,  9,\
	 11,  9, 267,  9, 139,  9, 395,  9,  75,  9,\
	331,  9, 203,  9, 459,  9,  43,  9, 299,  9,\
	171,  9, 427,  9, 107,  9, 363,  9, 235,  9,\
	491,  9,  27,  9, 283,  9, 155,  9, 411,  9,\
	 91,  9, 347,  9, 219,  9, 475,  9,  59,  9,\
	315,  9, 187,  9, 443,  9, 123,  9, 379,  9,\
	251,  9, 507,  9,   7,  9, 263,  9, 135,  9,\
	391,  9,  71,  9, 327,  9, 199,  9, 455,  9,\
	 39,  9, 295,  9, 167,  9, 423,  9, 103,  9,\
	359,  9, 231,  9, 487,  9,  23,  9, 279,  9,\
	151,  9, 407,  9,  87,  9, 343,  9, 215,  9,\
	471,  9,  55,  9, 311,  9, 183,  9, 439,  9,\
	119,  9, 375,  9, 247,  9, 503,  9,  15,  9,\
	271,  9, 143,  9, 399,  9,  79,  9, 335,  9,\
	207,  9, 463,  9,  47,  9, 303,  9, 175,  9,\
	431,  9, 111,  9, 367,  9, 239,  9, 495,  9,\
	 31,  9, 287,  9, 159,  9, 415,  9,  95,  9,\
	351,  9, 223,  9, 479,  9,  63,  9, 319,  9,\
	191,  9, 447,  9, 127,  9, 383,  9, 255,  9,\
	511,  9,   0,  7,  64,  7,  32,  7,  96,  7,\
	 16,  7,  80,  7,  48,  7, 112,  7,   8,  7,\
	 72,  7,  40,  7, 104,  7,  24,  7,  88,  7,\
	 56,  7, 120,  7,   4,  7,  68,  7,  36,  7,\
	100,  7,  20,  7,  84,  7,  52,  7, 116,  7,\
	  3,  8, 131,  8,  67,  8, 195,  8,  35,  8,\
	163,  8,  99,  8, 227,  8


;ct_data[D_CODES]
align 4
static_dtree dw \
	 0, 5, 16, 5,  8, 5, 24, 5,  4, 5,\
	20, 5, 12, 5, 28, 5,  2, 5, 18, 5,\
	10, 5, 26, 5,  6, 5, 22, 5, 14, 5,\
	30, 5,  1, 5, 17, 5,  9, 5, 25, 5,\
	 5, 5, 21, 5, 13, 5, 29, 5,  3, 5,\
	19, 5, 11, 5, 27, 5,  7, 5, 23, 5


;uch[DIST_CODE_LEN]
align 4
_dist_code db \
	 0,  1,  2,  3,  4,  4,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,  8,  8,  8,  8,\
	 8,  8,  8,  8,  9,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 10, 10,\
	10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\
	11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\
	12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,\
	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,\
	13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\
	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\
	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\
	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,\
	15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,\
	15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,\
	15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,  0,  0, 16, 17,\
	18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,\
	23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\
	24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,\
	26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,\
	26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,\
	27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,\
	27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\
	28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\
	28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\
	28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,\
	29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,\
	29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,\
	29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29


;uch[MAX_MATCH-MIN_MATCH+1]
align 4
_length_code db \
	 0,  1,  2,  3,  4,  5,  6,  7,  8,  8,  9,  9, 10, 10, 11, 11, 12, 12, 12, 12,\
	13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,\
	17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19,\
	19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\
	21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22,\
	22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,\
	23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\
	24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\
	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,\
	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,\
	26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,\
	26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,\
	27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28


;int[LENGTH_CODES]
align 4
base_length dd \
  0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,\
 64, 80, 96, 112, 128, 160, 192, 224, 0


;int[D_CODES]
align 4
base_dist dd \
    0,     1,     2,     3,     4,     6,     8,    12,    16,    24,\
   32,    48,    64,    96,   128,   192,   256,   384,   512,   768,\
 1024,  1536,  2048,  3072,  4096,  6144,  8192, 12288, 16384, 24576