code: def _fill_in_vars(self, args):
      defaults = symbols("x,y,z,u,v")
      v_error = ValueError("Could not find what to plot.")
      if len(args) == 0:
          return defaults
      if not isinstance(args, (tuple, list)):
          raise v_error
      if len(args) == 0:
          return defaults
      for s in args:
          if s is not None and not isinstance(s, Symbol):
              raise v_error
      # when vars are given explicitly, any vars
      # not given are marked 'unbound' as to not
      # be accidentally used in an expression
      vars = [Symbol("unbound%i" % (i)) for i in range(1, 6)]
      # interpret as t
      if len(args) == 1:
          vars[3] = args[0]
      # interpret as u,v
      elif len(args) == 2:
          if args[0] is not None:
              vars[3] = args[0]
          if args[1] is not None:
              vars[4] = args[1]
      # interpret as x,y,z
      elif len(args) >= 3:
          # allow some of x,y,z to be
          # left unbound if not given
          if args[0] is not None:
              vars[0] = args[0]
          if args[1] is not None:
              vars[1] = args[1]
          if args[2] is not None:
              vars[2] = args[2]
          # interpret the rest as t
          if len(args) >= 4:
              vars[3] = args[3]
              # ...or u,v
              if len(args) >= 5:
                  vars[4] = args[4]
      return vars
  
imports: from sympy.core.basic import Basic
  from sympy.core.symbol import Symbol, symbols
  from sympy.utilities.lambdify import lambdify
  from .util import interpolate, rinterpolate, create_bounds, update_bounds
  from sympy.utilities.iterables import sift
label_desc: Use image node_id 4 for calling the ColorScheme obj's underlying member method code with example usage: obj._fill_in_vars(args) and returns: vars, defaults, defaults