




'''simple docstring'''







from argparse import ArgumentParser

from datasets.commands.convert import ConvertCommand
from datasets.commands.dummy_data import DummyDataCommand
from datasets.commands.env import EnvironmentCommand
from datasets.commands.run_beam import RunBeamCommand
from datasets.commands.test import TestCommand
from datasets.utils.logging import set_verbosity_info





def 						snake_case_							(_a	:							Tuple     ):
    return {key.lstrip('''-'''     ): value for key, value in zip(unknown_args[::2]    ,   unknown_args[1::2]     )}





def 						snake_case_							():
    UpperCAmelCase			       =		ArgumentParser(
        '''HuggingFace Datasets CLI tool'''    ,   usage='''datasets-cli <command> [<args>]'''    ,   allow_abbrev=_a     )
    UpperCAmelCase			       =		parser.add_subparsers(help='''datasets-cli command helpers'''     )
    set_verbosity_info()

    # Register commands
    ConvertCommand.register_subcommand(_a     )
    EnvironmentCommand.register_subcommand(_a     )
    TestCommand.register_subcommand(_a     )
    RunBeamCommand.register_subcommand(_a     )
    DummyDataCommand.register_subcommand(_a     )

    # Parse args
    UpperCAmelCase       ,     UpperCAmelCase			       =		parser.parse_known_args()
    if not hasattr(_a    ,   '''func'''     ):
        parser.print_help()
        exit(1     )
    UpperCAmelCase			       =		parse_unknown_args(_a     )

    # Run
    UpperCAmelCase			       =		args.func(_a    ,   **_a     )
    service.run()


if __name__ == "__main__":
   main()





"""simple docstring"""
def 						__a   (	_SCREAMING_SNAKE_CASE		,     _SCREAMING_SNAKE_CASE   )	->int:
  while a != 0:
    a__							,    a__:     List[str]										=	b % a, a
  return b







def 						__a   (	_SCREAMING_SNAKE_CASE		,     _SCREAMING_SNAKE_CASE   )	->int:
  if gcd(_SCREAMING_SNAKE_CASE		,     _SCREAMING_SNAKE_CASE   ) != 1:
    a__:     Dict										=	F'mod inverse of {a!r} and {m!r} does not exist'
    raise ValueError(_SCREAMING_SNAKE_CASE   )
  a__							,    a__							,    a__:     Union[str, Any]										=	1, 0, a
  a__							,    a__							,    a__:     Any										=	0, 1, m
  while va != 0:
    a__:     int										=	ua // va
    a__							,    a__							,    a__							,    a__							,    a__							,    a__:     Any										=	(ua - q * va), (ua - q * va), (ua - q * va), va, va, va
  return ua % m


