






'''simple docstring'''
import argparse

from .config import config_command_parser
from .config_args import default_config_file, load_config_from_file  # noqa: F401
from .default import default_command_parser
from .update import update_command_parser




def 		__SCREAMING_SNAKE_CASE					(  _UpperCamelCase=None							):


   """simple docstring"""




   lowercase_	:    Dict           =     argparse.ArgumentParser(add_help=_UpperCamelCase						,		allow_abbrev=_UpperCamelCase							)
   # The main config parser
   lowercase_	:    Union[str, Any]           =     config_command_parser(_UpperCamelCase							)
   # The subparser to add commands to
   lowercase_	:    List[str]           =     config_parser.add_subparsers(title="subcommands"						,		dest="subcommand"							)

   # Then add other parsers with the parent parser
   default_command_parser(_UpperCamelCase						,		parents=[parent_parser]							)
   update_command_parser(_UpperCamelCase						,		parents=[parent_parser]							)

   return config_parser




def 		__SCREAMING_SNAKE_CASE					(  ):


   """simple docstring"""




   lowercase_	:    Optional[int]           =     get_config_parser()
   lowercase_	:    int           =     config_parser.parse_args()

   if not hasattr(_UpperCamelCase						,		"func"							):
      config_parser.print_help()
      exit(1							)

   # Run
   args.func(_UpperCamelCase							)


if __name__ == "__main__":
      main()












'''simple docstring'''
def 		__SCREAMING_SNAKE_CASE					(  _UpperCamelCase							):


   """simple docstring"""




   if number < 0:
      raise ValueError("number must not be negative"							)
   return number & (number - 1) == 0


if __name__ == "__main__":
 import doctest

 doctest.testmod()




