code: def list_files(suffix=""):
    
  
    cleverhans_path = os.path.abspath(cleverhans.__path__[0])
    # In some environments cleverhans_path does not point to a real directory.
    # In such case return empty list.
    if not os.path.isdir(cleverhans_path):
      return []
    repo_path = os.path.abspath(os.path.join(cleverhans_path, os.pardir))
    file_list = _list_files(cleverhans_path, suffix)
  
    extra_dirs = ['cleverhans_tutorials', 'examples', 'scripts', 'tests_tf', 'tests_pytorch']
  
    for extra_dir in extra_dirs:
      extra_path = os.path.join(repo_path, extra_dir)
      if os.path.isdir(extra_path):
        extra_files = _list_files(extra_path, suffix)
        extra_files = [os.path.join(os.pardir, path) for path in extra_files]
        file_list = file_list + extra_files
  
    return file_list
docs: Returns a list of all files in CleverHans with the given suffix.
  
    Parameters
    ----------
    suffix : str
  
    Returns
    -------
  
    file_list : list
        A list of all files in CleverHans whose filepath ends with `suffix`.