docs: function zip_deflate_start(level) {
      var i;
  
      if (!level)
          level = zip_DEFAULT_LEVEL;
      else if (level < 1)
          level = 1;
      else if (level > 9)
          level = 9;
  
      zip_compr_level = level;
      zip_initflag = false;
      zip_eofile = false;
      if (zip_outbuf != null)
          return;
  
      zip_free_queue = zip_qhead = zip_qtail = null;
      zip_outbuf = new Array(zip_OUTBUFSIZ);
      zip_window = new Array(zip_window_size);
      zip_d_buf = new Array(zip_DIST_BUFSIZE);
      zip_l_buf = new Array(zip_INBUFSIZ + zip_INBUF_EXTRA);
      zip_prev = new Array(1 << zip_BITS);
      zip_dyn_ltree = new Array(zip_HEAP_SIZE);
      for (i = 0; i < zip_HEAP_SIZE; i++)
          zip_dyn_ltree[i] = new zip_DeflateCT();
      zip_dyn_dtree = new Array(2 * zip_D_CODES + 1);
      for (i = 0; i < 2 * zip_D_CODES + 1; i++)
          zip_dyn_dtree[i] = new zip_DeflateCT();
      zip_static_ltree = new Array(zip_L_CODES + 2);
      for (i = 0; i < zip_L_CODES + 2; i++)
          zip_static_ltree[i] = new zip_DeflateCT();
      zip_static_dtree = new Array(zip_D_CODES);
      for (i = 0; i < zip_D_CODES; i++)
          zip_static_dtree[i] = new zip_DeflateCT();
      zip_bl_tree = new Array(2 * zip_BL_CODES + 1);
      for (i = 0; i < 2 * zip_BL_CODES + 1; i++)
          zip_bl_tree[i] = new zip_DeflateCT();
      zip_l_desc = new zip_DeflateTreeDesc();
      zip_d_desc = new zip_DeflateTreeDesc();
      zip_bl_desc = new zip_DeflateTreeDesc();
      zip_bl_count = new Array(zip_MAX_BITS + 1);
      zip_heap = new Array(2 * zip_L_CODES + 1);
      zip_depth = new Array(2 * zip_L_CODES + 1);
      zip_length_code = new Array(zip_MAX_MATCH - zip_MIN_MATCH + 1);
      zip_dist_code = new Array(512);
      zip_base_length = new Array(zip_LENGTH_CODES);
      zip_base_dist = new Array(zip_D_CODES);
      zip_flag_buf = new Array(parseInt(zip_LIT_BUFSIZE / 8));
  }