docs: def send_config_set(
          self,
          config_commands=None,
          exit_config_mode=True,
          delay_factor=1,
          max_loops=150,
          strip_prompt=False,
          strip_command=False,
          config_mode_command=None,
      ):
          """
          Send configuration commands down the SSH channel.
  
          config_commands is an iterable containing all of the configuration commands.
          The commands will be executed one after the other.
  
          Automatically exits/enters configuration mode.
  
          :param config_commands: Multiple configuration commands to be sent to the device
          :type config_commands: list or string
  
          :param exit_config_mode: Determines whether or not to exit config mode after complete
          :type exit_config_mode: bool
  
          :param delay_factor: Factor to adjust delays
          :type delay_factor: int
  
          :param max_loops: Controls wait time in conjunction with delay_factor (default: 150)
          :type max_loops: int
  
          :param strip_prompt: Determines whether or not to strip the prompt
          :type strip_prompt: bool
  
          :param strip_command: Determines whether or not to strip the command
          :type strip_command: bool
  
          :param config_mode_command: The command to enter into config mode
          :type config_mode_command: str
          """
          delay_factor = self.select_delay_factor(delay_factor)
          if config_commands is None:
              return ""
          elif isinstance(config_commands, string_types):
              config_commands = (config_commands,)
  
          if not hasattr(config_commands, "__iter__"):
              raise ValueError("Invalid argument passed into send_config_set")
  
          # Send config commands
          cfg_mode_args = (config_mode_command,) if config_mode_command else tuple()
          output = self.config_mode(*cfg_mode_args)
          for cmd in config_commands:
              self.write_channel(self.normalize_cmd(cmd))
              if self.fast_cli:
                  pass
              else:
                  time.sleep(delay_factor * 0.05)
  
          # Gather output
          output += self._read_channel_timing(
              delay_factor=delay_factor, max_loops=max_loops
          )
          if exit_config_mode:
              output += self.exit_config_mode()
          output = self._sanitize_output(output)
          log.debug("{}".format(output))
          return output