code: def draw_box(cb, x0, y0, w, h, fg=colors.default_fg, bg=colors.default_bg, h_seps=[], v_seps=[]):
      
      w -= 1
      h -= 1
      corners = [(x0, y0), (x0 + w, y0), (x0, y0 + h), (x0 + w, y0 + h)]
  
      fg = fg()
      bg = bg()
  
      for i, c in enumerate(corners):
          cb.put(c[0], c[1], BOX_CORNERS[i], fg, bg)
  
      for s in h_seps + [0, h]:
          cb.put(x0 + 1, y0 + s, symbols["BOX_HORIZONTAL"] * (w - 1), fg, bg)
  
      for y in range(1, h):
          for s in v_seps + [0, w]:
              cb.put(x0 + s, y0 + y, symbols["BOX_VERTICAL"], fg, bg)
  
      for s in h_seps:
          cb.put(x0,     y0 + s, symbols["BOX_X_LEFT"],  fg, bg)
          cb.put(x0 + w, y0 + s, symbols["BOX_X_RIGHT"], fg, bg)
  
      for s in v_seps:
          cb.put(x0 + s, y0,     symbols["BOX_X_TOP"],    fg, bg)
          cb.put(x0 + s, y0 + h, symbols["BOX_X_BOTTOM"], fg, bg)
docs: Draws a box in the given terminal.
      :type cb: cursebox.CurseBox