from typing import Optional
from urllib.parse import quote

import huggingface_hub as hfh
from packaging import version




def       __lowerCAmelCase      (						A_   : Optional[int]						,	A_   : Any						,	A_   : str = None					)    ->  str:
  if version.parse(hfh.__version__					).release < version.parse("0.11.0"					).release:
    # old versions of hfh don't url-encode the file path
    __UpperCAmelCase						    =       quote(_SCREAMING_SNAKE_CASE					)
  return hfh.hf_hub_url(_SCREAMING_SNAKE_CASE						,	_SCREAMING_SNAKE_CASE						,	repo_type="dataset"						,	revision=_SCREAMING_SNAKE_CASE					)




from abc import ABC, abstractmethod
from argparse import ArgumentParser


class 			UpperCAmelCase__    (		snake_case					):



  """simple docstring"""






  @staticmethod
  @abstractmethod
  def 	_UpperCAmelCase				(				__lowerCAmelCase:			ArgumentParser   ) -> Tuple:




    '''simple docstring'''




    raise NotImplementedError()






  @abstractmethod
  def 	_UpperCAmelCase				(				self:			List[str]   ) -> List[Any]:




    '''simple docstring'''




    raise NotImplementedError()



