
    si0                    ~    S r SSKJr  SSKJr  SSKJr  SSKJr  \(       a
  SSKJ	r	J
r
Jr  \" \5      rS
S jrSS jrg	)z|CLI implementation for `conda init`.

Prepares the user's profile for running conda, and sets up the conda shell interface.
    )annotations)SUPPRESS)	getLogger)TYPE_CHECKING)ArgumentParser	Namespace_SubParsersActionc           
        SSK Jn  SSKJn  SSKJn  SSKJn  SSKJ	n  SnUnU" S	5      n	U R                  "  S1UUU	S
.UD6n
U
R                  SS[        US9  U
R                  SSSUS9  U
R                  S5      nUR                  SS[        US9  UR                  SSSUS9  UR                  SSSSSS9  UR                  SSSSS9  UR                  SSSUS9  UR                  SSS US9  U
R                  S!S"US#S$[        U5       3U(       a  S%S&/OS'/S(9  U(       a  U
R                  S)SS*US9  U" U
5        U
R                  S+S,SS-S.9  U
R                  S/S09  U
$ )2N   )dalsCOMPATIBLE_SHELLSon_win)NULL   )add_parser_jsonz'Initialize conda for shell interaction.a  
        Key parts of conda's functionality require that it interact directly with the shell
        within which conda is being invoked. The `conda activate` and `conda deactivate` commands
        specifically are shell-level commands. That is, they affect the state (e.g. environment
        variables) of the shell context being interacted with. Other core commands, like
        `conda create` and `conda install`, also necessarily interact with the shell environment.
        They're therefore implemented in ways specific to each shell. Each shell must be configured
        to make use of them.

        The --condabin option adds the "$CONDA_PREFIX/condabin" directory to the PATH environment variable.
        This directory only contains the conda executable and does not contain other executables from other
        packages installed in the base environment. On most shells, a small snippet is added to the
        shell profile. For CMD, the PATH environment variable is modified directly in the registry.

        This command makes changes to your system that are specific and customized for each shell.
        To see the specific files and locations on your system that will be affected before, use
        the '--dry-run' flag.  To see the exact changes that are being or will be made to each
        location, use the '--verbose' flag.

        IMPORTANT: After running `conda init`, most shells will need to be closed and restarted for
        changes to take effect.

        )helpdescriptionepilogz--dev
store_true)actionr   defaultz--allz*Initialize all currently available shells.z
setup typez	--installz
--condabinzLAdd 'condabin/' directory to PATH only. Does not install the shell function.z--useruserz0Initialize conda for the current user (default).T)r   destr   r   z	--no-userstore_falsez,Don't initialize conda for the current user.)r   r   r   z--systemz-Initialize conda for all users on the system.z	--reversez Undo effects of last conda init.shells*SHELLSzOne or more shells to be initialized. If not given, the default value is 'bash' on unix and 'cmd.exe' & 'powershell' on Windows. Use the '--all' flag to initialize all shells. Available shells: zcmd.exe
powershellbash)nargschoicesmetavarr   r   z--anaconda-promptz.Add an 'Anaconda Prompt' icon to your desktop.z-dz	--dry-runz'Only display what would have been done.)r   r   zconda.cli.main_init.execute)func)init)
auxlib.ishr   base.constantsr   common.compatr   common.constantsr   helpersr   
add_parseradd_argumentr   add_argument_groupsortedset_defaults)sub_parserskwargsr   r   r   r   r   summaryr   r   psetup_type_groups               3lib/python3.13/site-packages/conda/cli/main_init.pyconfigure_parserr7      s   !2&'(7GK	F4 				
 	A NN	   NN9	   ++L9!!	 "  !![	 "  !!? "  !!;	 "  !!<	 "  !!/	 "  NN!))/0A)B(CE .4L)&   	A	 	 	
 ANN6	   NN5N6H    c                   SSK Jn  SSKJn  SSKJn  SSKJnJnJ	nJ
n  SSKJn	  U R                  (       a  U" UR                  5      $ U R                  (       a  Un
O[        U R                   5      n
U R"                  (       a"  [%        U
5      S:w  a  U	" S5      eU" U
S	   5      $ U R&                  (       ab  U R(                  =(       a    U R*                  (       + nU=(       a    U R,                  nU" UR                  XU R*                  U R.                  5      $ U R(                  =(       a    U R*                  (       + nU=(       a    U R,                  nU" UR                  U
UU R*                  UU R.                  5      $ )
Nr   r   )contextr   )add_condabin_to_path
initializeinitialize_devinstall)ArgumentErrorr   z3--dev can only handle one shell at a time right nowr   )r(   r   base.contextr:   r)   r   core.initializer;   r<   r=   r>   
exceptionsr?   conda_prefixalltupler   devlencondabinr   systemanaconda_promptreverse)argsparserr   r:   r   r;   r<   r=   r>   r?   selected_shellsfor_userrJ   s                r6   executerP      s    2&&  +||w++,, xx+,xx1$ UVVoa011	990T[[ 9T%9%9#  /T[[$,,
 	
 990T[[ 9T%9%9  KKLL
 	
r8   N)r1   r	   returnr   )rL   r   rM   r   rQ   int)__doc__
__future__r   argparser   loggingr   typingr   r   r   r	   __name__logr7   rP    r8   r6   <module>r[      s7   
 #    EE~B)
r8   