





'''simple docstring'''

from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike





class lowerCamelCase						(a__					):







  def __init__(		self     ,     lowercase__ = None     ,     lowercase__ = None     ,     lowercase__ = None     ,     lowercase__ = None     ,     lowercase__ = False     ,     lowercase__ = False     ,     lowercase__ = None     ,     **lowercase__     ,     )		->						Any:






        """simple docstring"""





        _snake_case		:	List[Any]					     =     path_or_paths
        _snake_case		:	Union[str, Any]					     =     split if split or isinstance(lowercase__     ,     lowercase__		) else '''train'''
        _snake_case		:	Any					     =     features
        _snake_case		:	Union[str, Any]					     =     cache_dir
        _snake_case		:	int					     =     keep_in_memory
        _snake_case		:	int					     =     streaming
        _snake_case		:	Dict					     =     num_proc
        _snake_case		:	str					     =     kwargs







  @abstractmethod
  def 				UpperCAmelCase_				(		self		)		->						Union[Dataset, DatasetDict, IterableDataset, IterableDatasetDict]:






        """simple docstring"""





        pass





class lowerCamelCase						(a__					):







  def __init__(		self     ,     lowercase__ = None     ,     lowercase__ = None     ,     lowercase__ = False     ,     lowercase__ = False     ,     lowercase__ = None     ,     **lowercase__     ,     )		->						List[Any]:






        """simple docstring"""





        _snake_case		:	Any					     =     features
        _snake_case		:	int					     =     cache_dir
        _snake_case		:	Any					     =     keep_in_memory
        _snake_case		:	str					     =     streaming
        _snake_case		:	List[Any]					     =     num_proc
        _snake_case		:	Dict					     =     kwargs







  @abstractmethod
  def 				UpperCAmelCase_				(		self		)		->						Union[Dataset, IterableDataset]:






        """simple docstring"""





        pass









'''simple docstring'''

from __future__ import annotations




def    _a    (							lowerCAmelCase_			,      lowerCAmelCase_ = None			,      lowerCAmelCase_ = None	):





      """simple docstring"""



      if start is None:
            _snake_case		:	Optional[Any]					     =     0

      if end is None:
            _snake_case		:	Any					     =     len(lowerCAmelCase_	) - 1

      if start >= end:
            return

      _snake_case		:	Optional[Any]					     =     (start + end) // 2

      slowsort(lowerCAmelCase_			,      lowerCAmelCase_			,      lowerCAmelCase_	)
      slowsort(lowerCAmelCase_			,      mid + 1			,      lowerCAmelCase_	)

      if sequence[end] < sequence[mid]:
            _snake_case     ,							_snake_case		:	int					     =     sequence[mid], sequence[end]

      slowsort(lowerCAmelCase_			,      lowerCAmelCase_			,      end - 1	)


if __name__ == "__main__":
   from doctest import testmod

   testmod()


