+
    kGj>                    H   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtHt ^ RIHt ^ RIH t H!t!H"t" ^ RI#H$t$ ]PJ                  ! ]&4      t' ! R R]4      t(R R lt)R R lt*RR R llt+R# )z$
Install a wheel / install a conda.
)annotationsN)Path)BinaryIOIterable)patch)
confirm_yn)main_subshell)PackageCacheData)install)SchemeDictionaryDestination)HashRecordEntry)	WheelFile)Schemeconstruct_record_filecopyfileobj_with_hashing)PathTypec                  \   a  ] tR t^t$ RtR]R&   R V 3R lltR tR R ltR	 R
 lt	Rt
V ;t# )_CondaWheelDestinationzSuppress entry-point script generation.

Conda creates entry-point scripts at install time from info/link.json
(CEP-34), so writing them here would only embed a hardcoded shebang
that breaks in other environments.
tarfile.TarFileconda_builderc                   V ^8  d   QhRR/# )   r   r    )formats   "4lib/python3.14/site-packages/conda_pypi/installer.py__annotate__#_CondaWheelDestination.__annotate__)   s     ( (_ (    c               	`   < \         SV `  ! V/ VB  Wn        . V n        \	        4       V n        R # )N)super__init__r   package_pathsset_members)selfr   argskwargs	__class__s   &$*,r   r!   _CondaWheelDestination.__init__)   s,    $)&)*)+"%%r   c                	P    \         P                  R V R24       \        VRRR7      # )zSkipping script generation for z (handled via link.json)N)pathhash_size)logdebugr   )r%   namemoduleattrsections   &&&&&r   write_script#_CondaWheelDestination.write_script/   s(    		3D69QRSDt<<r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   schemer   r+   strstreamr   is_executableboolreturnr   r   )r   s   "r   r   r   3   sC     =I =I=I =I 	=I
 =I 
=Ir   c           
       a \        \        V P                  V,          V4      P                  4       4      oRSP	                  R4      9   d   \        RS 24      h\        P                  ! SR7      pV'       d   RMRVn        \        P                  ! 4       ;_uu_ 4       p\        W6V P                  4      w  rxR\        V4      ) ^,          ,          p	\        P                  ! Wy,           4      P!                  4       p
SV P"                  9   d   RS 2pR	pV P$                  '       dK   \'        V3R
 lV P(                   4       4      pVR,          V
8X  d   \*        P-                  RS4       RpV R2pV'       g   V P$                  '       g   \/        V4      hV P"                  P1                  S4       Wn        VP5                  ^ 4       V P6                  P9                  WV4       RRR4       V P(                  P;                  RSR\        \<        P>                  4      RX
RX/4       \A        V\C        V P                  X4      V4      #   + '       g   i     Lk; i)zj
In installer==1.0.0, the SchemeDirectoryDestination() superclass
delegates all write_*() functions here.
z../zPath traversal detected: )r0   i  i  =zFile already exists: Tc              3  F   <"   T F  qR ,          S8X  g   K  Vx  K  	  R# 5i)_pathNr   ).0parchive_paths   & r   	<genexpr>5_CondaWheelDestination.write_to_fs.<locals>.<genexpr>T   s     Y(:1jL>XQQ(:s   !
!sha256z1Wheel has overlapping paths %s with same content.Fz7; overwrite_existing not available in write-to-archive.NrA   	path_typesize_in_bytes)"r8   r   scheme_dictas_posixsplit
ValueErrortarfileTarInfomodetempfileSpooledTemporaryFiler   hash_algorithmlenbase64urlsafe_b64decodehexr$   overwrite_existingnextr"   r.   warningFileExistsErroraddr-   seekr   addfileappendr   hardlinkr   r   )r%   r7   r+   r9   r:   tar_infobufferr,   r-   padhash_hexmessageraise_existsrC   rD   s   &&&&&         @r   write_to_fs"_CondaWheelDestination.write_to_fs3   s    4 0 0 8$?HHJK<%%c**8GHH??5!.E**,,264CVCVWKE
 #e*q)C//<@@BH t}},1,@#***Y(:(:YYA{h.OQ] (-&i'^_    t'>'>'>)'22MMl+ MKKN &&x8? -B 	!!S!2!23(		
 4d&9&95!A4HHU -,s!   BI&AI8I
AII	c               $    V ^8  d   QhRRRRRR/# )r   r7   r   record_file_pathr8   recordsz$Iterable[tuple[Scheme, RecordEntry]]r   )r   s   "r   r   r   r   s-     [ [[ [ 6	[r   c           	        a a R VV 3R llp\        V4      p\        WT4      ;_uu_ 4       pS P                  SW&RR7       RRR4       R#   + '       g   i     R# ; i)zFinalize installation, by writing the ``RECORD`` file.
Account for relpath() differences between superclass (installs to a real
filesystem) and _CondaWheelDestination (creates an archive). Unlike
superclass, doesn't compile bytecode.
c                    V ^8  d   QhRRRR/# )r   file_schemer8   r<   z
str | Noner   )r   s   "r   r   B_CondaWheelDestination.finalize_installation.<locals>.__annotate__~   s     	 	3 	: 	r   c                   < V S8X  d   R # SP                   V ,          ;'       g    RpSP                   S,          ;'       g    Rp\        P                  P                  WR7      pVR,           # )N.)startr>   )rJ   osr+   relpath)rn   source_prefixtarget_prefixr+   r7   r%   s   &   r   prefix_for_schemeG_CondaWheelDestination.finalize_installation.<locals>.prefix_for_scheme~   s\    f$ ,,[9@@SM ,,V4;;M77??=?FD#:r   F)r:   N)listr   rg   )r%   r7   rj   rk   rw   record_listrecord_streams   ff&&   r   finalize_installation,_CondaWheelDestination.finalize_installationr   sL    	 	 7m";BBmV%5TYZ CBBBs   A

A	)r$   r   r"   )__name__
__module____qualname____firstlineno____doc____annotations__r!   r4   rg   r|   __static_attributes____classcell__)r(   s   @r   r   r      s2     #"( (==I~[ [r   r   c               (    V ^8  d   QhRRRRRRRR/# )	r   python_executabler8   whlr   tarr   r<   z
list[dict]r   )r   s   "r   r   r      s0     % %%	% 
% 	%r   c           
        R RRRRRRRRR/p\        V\        V 4      R	R
VR7      p\        P                  ! V4      ;_uu_ 4       p\	        VVRR/R7       RRR4       VP
                  #   + '       g   i     TP
                  # ; i)purelibsite-packagesplatlibscriptsbindata headersincludeposixT)rJ   interpreterscript_kindrX   r   	INSTALLERs   conda-pypi
)sourcedestinationadditional_metadataN)r   r8   r   openr
   r"   )r   r   r   r7   r   r   s   &&&   r   install_installer_to_tarr      s     	??59F ))*K 
		# _!		
 
 $$$ 
	 $$$s   A))B	c               $    V ^8  d   QhRRRRRR/# )r   r   r8   r   r   
build_pathr   )r   s   "r   r   r      s!     , ,3 ,T ,t ,r   c                    V R RRRRR\        VR,          4      V.	p\        P                  ! VR\        P                  \        P                  R7       \        P                  R	V 24       R
# )z-mpipr
   z--quietz	--no-depsz--targetr   T)checkstdoutstderrzInstalled to N)r8   
subprocessrunPIPEr.   r/   )r   r   r   commands   &&& r   install_pipr      s]    J()
G NN7$zzWIIj\*+r   c               (    V ^8  d   QhRRRRRRRR/# )r   prefixr   packageyesr;   r   zPath | Noner   )r   s   "r   r   r      s6     H HHH 
H 	Hr   c                   \         P                  ! 4       P                  p\        P                  ! VRR7      ;_uu_ 4       p\
        P                  ! \        P                  RV/4      ;_uu_ 4        V'       g$   Ve   TMVP                  p\        RV RV  24       \        RR\        V 4      \        V4      4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)	a:  
Install [editable] conda package without adding it to the environment's
package cache, since we don't want to accidentally re-install "a link to a
source checkout" elsewhere.

Installing packages directly from a file does not resolve dependencies.
Should we automatically install the project's dependencies also?
	ephemeral)dirr   CONDA_PKGS_DIRSNzInstall editable package from z into r
   z--prefix)r	   first_writablepkgs_dirrQ   TemporaryDirectoryr   dictrs   environr0   r   r   r8   )r   r   r   r   persistent_pkgs	cache_dirsource_texts   &&&&   r   install_ephemeral_condar      s     '557@@O##LLPY

2:: 19=>>$*$6&GLLK7}F6(STiS[#g,G 	? 	ML>> 	MLLs%    0C!0AC	<C!CC!!C2	)TN),r   
__future__r   rU   loggingrs   r   rN   rQ   pathlibr   typingr   r   unittest.mockr   conda.cli.installr   conda.cli.mainr   conda.core.package_cache_datar	   	installerr
   installer.destinationsr   installer.recordsr   r   installer.sourcesr   installer.utilsr   r   r   conda_pypi.conda_build_utilsr   	getLoggerr~   r.   r   r   r   r   r   r   r   <module>r      s    #   	     %  ( ( :  > / ' S S 1!j[8 j[Z%D, H Hr   