
    i                         S r SSKrSSKJr  SSKrSSKrSSKrSrS rS rS r	S r
\S	:X  a  \
" \R                  5        gg)
zEnables use of Python Fire as a "main" function (i.e. "python -m fire").

This allows using Fire with third-party libraries without modifying their code.
    N)utila  usage: python -m fire [module] [arg] ..."

Python Fire is a library for creating CLIs from absolutely any Python
object or program. To run Python Fire from the command line on an
existing Python file, it can be invoked with "python -m fire [module]"
and passed a Python module using module notation:

"python -m fire packageA.packageB.module"

or with a file path:

"python -m fire packageA/packageB/module.py" c                 h   [         R                  R                  U 5      (       d  [        S5      e[         R                  R	                  U 5      n[
        R                  " X5      nUb  UR                  c  [        S5      e[
        R                  " U5      nUR                  R                  U5        X14$ )a<  Performs a module import given the filename.

Args:
  path (str): the path to the file to be imported.

Raises:
  IOError: if the given file does not exist or importlib fails to load it.

Returns:
  Tuple[ModuleType, str]: returns the imported module and the module name,
    usually extracted from the path itself.
zGiven file path does not exist.z*Unable to load module from specified path.)
ospathexistsOSErrorbasenamer   spec_from_file_locationloadermodule_from_specexec_module)r   module_namespecmodules       M/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/fire/__main__.pyimport_from_file_pathr   *   s     
		
3
44  &+		%	%k	8$	\T[[(
>
??  &&++&!		    c                 4    [         R                  " U 5      nX4$ )z-Imports a module and returns it and its name.)	importlibimport_module)r   r   s     r   import_from_module_namer   H   s    "";/&		r   c                 >   [         R                  R                  U 5      (       a-  U R                  S5      (       d   [	        U 5      $ [        U 5      $ [         R                  R                  U ;   a  [        S5      e[	        U 5      $ ! [
         a    [        S5      ef = f)a  Imports a given module or filename.

If the module_or_filename exists in the file system and ends with .py, we
attempt to import it. If that import fails, try to import it as a module.

Args:
  module_or_filename (str): string name of path or module.

Raises:
  ValueError: if the given file is invalid.
  IOError: if the file or module can not be found or imported.

Returns:
  Tuple[ModuleType, str]: returns the imported module and the module name,
    usually extracted from the path itself.
z.pyz%Fire can only be called on .py files.z4Fire was passed a filename which could not be found.)
r   r   r   endswithr   ImportError
ValueErrorr   sepr   )module_or_filenames    r   r   r   N   s    $ WW^^&''&&u--B&'9:: !!344WW[[&&
H
II	 !3	44  B@AABs   
B Bc                     [        U 5      S:  a%  [        [        5        [        R                  " S5        U S   n[        U5      u  p#[        R                  " X#U SS S9  g)zAEntrypoint for fire when invoked as a module with python -m fire.      N)namecommand)lenprint
cli_stringsysexitr   fireFire)argsr   r   r   s       r   mainr+   p   sN     	Y]	*HHQKAw%&89&))Fd12h7r   __main__)__doc__r   r   r   r&   r(   r%   r   r   r   r+   __name__argv r   r   <module>r1      sQ    
   	 
 1
<5D
8 zsxx. r   