
    <Bh	                         S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	KJr  SS
KJr  SSKJrJr  S rS rS rg)zConda-flavored installer.    Nbasename)
IndexedSet   )UpdateModifier)context)NULL)Environment)UnsatisfiableError)Channelprioritize_channelsc                 V   UR                   Vs/ s H  ofS:w  d  M
  UPM     nnSUR                   ;  a  UR                  [        R                   5        [        U5      n[	        S U5       5      n	[	        S U5       5      n
[        R
                  R                  5       nU" X	XS9nU$ s  snf )zSolve the environment
nodefaultsc              3   8   #    U  H  n[        U5      v   M     g 7fN)r   .0urls     :lib/python3.13/site-packages/conda/env/installers/conda.py	<genexpr>_solve.<locals>.<genexpr>   s     H2G3'#,,2G   c              3   8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r   r      s     H2G3#2Gr   )specs_to_add)channelsextendr   r   r   plugin_managerget_cached_solver_backend)prefixspecsargsenv_kwargschanchannel_urls_channel_priority_mapr   subdirssolver_backendsolvers                r   _solver+      s     &)\\J\T\5ID\LJ3<<'G,,-/=H2GHHHH2GHHG++EEGNFgJFM Ks
   	B&B&c           	          [        [        R                  " 5       XU/UQ70 UD6nUR                  5       n[	        UR
                  UVs/ s H  n[        U5      PM     snUR                  S9nU$ s  snf )z%Do a dry run of the environment solve)namedependenciesr   )r+   tempfilemkdtempsolve_final_stater
   r-   strr   )	r    r!   r"   r#   r$   r*   pkgsp
solved_envs	            r   dry_runr6   $   sj    H$$&SG1GGF##%DXXT$:TSVT$:S\\J  %;s   A/
c                    [        XX#/UQ70 UD6n UR                  [        USS5      [        R                  S9nUR                  (       a  gUR                  5         UR                  5         UR                  5       S   $ ! [
        [        4 a<  n[        USS5      (       d  e UR                  [        USS5      [        S9n SnANSnAff = f)z$Install packages into an environmentpruneF)r8   update_modifierallow_retryTNr   )r+   solve_for_transactiongetattrr   FREEZE_INSTALLEDr   
SystemExitr	   nothing_to_dodownload_and_extractexecute_make_legacy_action_groups)	r   r    r!   r"   r#   r$   r*   unlink_link_transactionexcs	            r   installrE   .   s    F4;q;F;F
"(">">$/*;; #? #
 ,,002##%"==?BB 
+ 
 sM400"(">">$/ #? #

s   )B   C2CC)__doc__r/   os.pathr   boltons.setutilsr   base.constantsr   base.contextr   common.constantsr	   env.envr
   
exceptionsr   models.channelr   r   r+   r6   rE        r   <module>rQ      s5        ' , # $ " , :$CrP   