
    wBf                     j   d Z ddlZddlZddlmZ  eej                  dk(        Z eej                  dk(        Z eej                  dk(        Z	 ej                         ZdZd	efd
Zd Z edd      d        ZddlmZ d ZddlmZ 	 ddZd Z ed      ZeeeeeefZd Zd	efdZ d Z!d Z"d Z#y)zCommon compatiblity code.    N   )
deprecatedwin32darwinlinuxTreturnc                 |    t        | t              r| S t        | t              r| j                         S t        |       S )z/Environment names and values need to be string.)
isinstancestrbytesdecodevalues    3lib/python3.12/site-packages/conda/common/compat.pyencode_for_env_varr      s1    %	E5	!||~u:    c                     t         r5| j                         D ci c]  \  }}t        |      t        |       } }}| S c c}}w N)ENCODE_ENVIRONMENTitemsr   )envkvs      r   encode_environmentr   "   s>    HK		T1!!$&8&;;TTJ Us   >z24.9z25.3c                     | S r    )	argumentss    r   encode_argumentsr   (   s    r   )Iterablec                 H    t        | t               xr t        | t              S r   )r
   r   r   )objs    r   
isiterabler"   0   s    #s##A
3(AAr   )OrderedDictc           	          d|v r$t        j                  | t        |      ||||      S t        j                  | t        |      ||xs d|||      S )Nb)	bufferingerrorsnewlineclosefdutf-8)r&   encodingr'   r(   r)   )builtinsopenr   )filemoder&   r+   r'   r(   r)   s          r   r-   r-   ;   sc     d{}}I
 	
 }}I(
 	
r   c                 Z      G  fddt               }t         j                  |ddi       S )z%Create a base class with a metaclass.c                   0    e Zd Z fdZe fd       Zy)%six_with_metaclass.<locals>.metaclassc                      ||      S r   r   )clsname
this_basesdbasesmetas       r   __new__z-six_with_metaclass.<locals>.metaclass.__new__Z   s    eQ''r   c                 (    j                  |      S r   )__prepare__)r4   r5   r6   r8   r9   s      r   r<   z1six_with_metaclass.<locals>.metaclass.__prepare__]   s    ##D%00r   N)__name__
__module____qualname__r:   classmethodr<   )r8   r9   s   r   	metaclassr2   Y   s    	( 
	1 
	1r   rA   temporary_classr   )typer:   )r9   r8   rA   s   `` r   six_with_metaclassrD   S   s'    1D 1 <<	#4b"==r   c                 H    	 | j                  d      S # t        $ r | cY S w xY wNr*   )encodeAttributeErrorr   s    r   ensure_binaryrI   h   s,    ||G$$      !!c                     	 | j                  d      S # t        $ r | cY S t        $ r( ddlm} t         ||       j                               cY S t        $ r | cY S w xY w)Nr*   r   )
from_bytes)r   rH   UnicodeDecodeErrorcharset_normalizerrL   r   bestUnicodeEncodeError)r   rL   s     r   ensure_text_typerQ   q   s_    ||G$$   -1:e$))+,,  	s    A-A
AAc                 H    	 | j                  d      S # t        $ r | cY S w xY w)Nunicode_escape)r   rH   r   s    r   ensure_unicoderT      s-    ||,--  rJ   c                 h    	 | j                  t              S # t        $ r | cY S t        $ r | cY S w xY wr   )rG   FILESYSTEM_ENCODINGrH   rP   r   s    r   ensure_fs_path_encodingrW      s8    ||/00  s    1
11c                 `    	 | j                  d      S # t        $ r | cY S t        $ r | cY S w xY wrF   )rG   rH   rP   r   s    r   ensure_utf8_encodingrY      s7    ||G$$  s    -
--)rNNNT)$__doc__r,   sysdeprecationsr   boolplatformon_winon_macon_linuxgetfilesystemencodingrV   r   r   r   r   r   collections.abcr   r"   collectionsr#   odictr-   rD   rC   NoneTypeintfloatcomplexprimitive_typesrI   rQ   rT   rW   rY   r   r   r   <module>rm      s       
 %	cllg%	&	cllh&	''(/c//1     FF  %B - UY
0>" :UGT8<s $r   