code: def merge_kwargs(local_kwarg, default_kwarg):
      
  
      if default_kwarg is None:
          return local_kwarg
  
      if isinstance(local_kwarg, basestring):
          return local_kwarg
  
      if local_kwarg is None:
          return default_kwarg
  
      # Bypass if not a dictionary (e.g. timeout)
      if not hasattr(default_kwarg, 'items'):
          return local_kwarg
  
      # Update new values.
      kwargs = default_kwarg.copy()
      kwargs.update(local_kwarg)
  
      # Remove keys that are set to None.
      for (k,v) in local_kwarg.items():
          if v is None:
              del kwargs[k]
  
      return kwargs
docs: Merges kwarg dictionaries.
  
      If a local key in the dictionary is set to None, it will be removed.