Ë
    òT•jø8  ã                   óô  — d dl Z d dlZd dlZd dlZe j                  dk(  r
d„ Zd„ Zd„ Zn¿e j                  dk(  rej                  dk(  r
d dl	m
Z d	„ Zn—ej                  j                  d
«      rd dlmZ nue j                  dk(  rfd dlZd dlZd„ Zd„ Zej                  dk(  rd„ Znd„ Zej                  j                  d«      rd„ Zd„ Zn ej                  dk(  rd„ Zdd„Zn	d„ Zd„ Zd„ Zd„ Zedk(  r e«        yy)é    NÚntc                  ó4  — d} t         j                  j                  | «      }|dk(  ry|t        | «      z   }t         j                  |d j	                  dd«      \  }}t        |dd «      dz
  }|dk\  r|dz  }t        |d	d
 «      dz  }|dk(  rd}|dk\  r||z   S y)zÏReturn the version of MSVC that was used to build Python.

        For Python 2.3 and up, the version number is included in
        sys.version.  For earlier versions, assume the compiler is MSVC 6.
        zMSC v.éÿÿÿÿé   Nú é   éþÿÿÿé   é   é   g      $@r   )ÚsysÚversionÚfindÚlenÚsplitÚint)ÚprefixÚiÚsÚrestÚmajorVersionÚminorVersions         ú"/usr/lib/python3.12/ctypes/util.pyÚ_get_build_versionr   	   s°   € ð ˆÜ�K‰K×Ñ˜VÓ$ˆØ�Š7ØØ”�F“‰OˆÜ—+‘+˜a˜b�/×'Ñ'¨¨QÓ/‰ˆˆ4Ü˜1˜S˜b˜6“{ Q‘ˆØ˜2ÒØ˜AÑˆLÜ˜1˜Q˜q˜6“{ TÑ)ˆà˜1ÒØˆLØ˜1ÒØ ,Ñ.Ð.àó    c                  ó–   — t        «       } | €y| dk  rd}n| dk  r	d| dz  z  }nyddl}d|j                  j                  v r|d	z  }|d
z   S )z%Return the name of the VC runtime dllNr   Úmsvcrtr
   zmsvcr%dé
   r   z_d.pydÚdú.dll)r   Úimportlib.machineryÚ	machineryÚEXTENSION_SUFFIXES)r   ÚclibnameÚ	importlibs      r   Úfind_msvcrtr&   "   sd   € ä$Ó&ˆØˆ?àØ�aŠ<Ø‰HØ˜Š]Ø  G¨b¡LÑ1‰Hð ó 	#Ø�y×*Ñ*×=Ñ=Ñ=Ø˜‰OˆHØ˜‰Ðr   c                 ó   — | dv r
t        «       S t        j                  d   j                  t        j                  «      D ]�  }t        j
                  j                  || «      }t        j
                  j                  |«      r|c S |j                  «       j                  d«      rŒf|dz   }t        j
                  j                  |«      sŒ‹|c S  y )N)ÚcÚmÚPATHr    )
r&   ÚosÚenvironr   ÚpathsepÚpathÚjoinÚisfileÚlowerÚendswith)ÚnameÚ	directoryÚfnames      r   Úfind_libraryr6   7   sœ   € Ø�:ÑÜ“=Ð äŸ™ FÑ+×1Ñ1´"·*±*Ó=ò 	ˆIÜ—G‘G—L‘L ¨DÓ1ˆEÜ�w‰w�~‰~˜eÔ$Ø’Ø�{‰{‹}×%Ñ% fÔ-ØØ˜F‘NˆEÜ�w‰w�~‰~˜eÕ$Ø’ð	ð r   ÚposixÚdarwin)Ú	dyld_findc                 ój   — d| z  d| z  | ›d| ›�g}|D ]  } 	 t        | «      c S  y # t        $ r Y Œw xY w)Nzlib%s.dylibz%s.dylibz.framework/)Ú
_dyld_findÚ
ValueError)r3   Úpossibles     r   r6   r6   H   s[   € Ø! DÑ(Ø Ñ%Ú)-©tÐ4ð6ˆð ò 	ˆDðÜ! $Ó'Ò'ð	ð
 øô ò Ùðús   —
&¦	2±2Úaix)r6   c                 ó’   — d}	 t        | d«      5 }|j                  d«      |k(  cddd«       S # 1 sw Y   yxY w# t        $ r Y yw xY w)z,Return True if the given file is an ELF files   ELFÚbré   NF)ÚopenÚreadÚFileNotFoundError)ÚfilenameÚ
elf_headerÚthefiles      r   Ú_is_elfrH   `   sN   € àˆ
ð	Ü�h Ó%ð 5¨Ø—|‘| A“¨*Ñ4÷5÷ 5ò 5ûä ò 	Ùð	ús#   „: �.¤	: ®7³: ·: º	AÁAc                 óŠ  — t        j                  dt        j                  | «      z  «      }t	        j
                  d«      }|st	        j
                  d«      }|sy t        j                  «       }	 |dd|j                  d| z   g}t        t         j                  «      }d|d<   d|d	<   	 t        j                  |t        j                  t        j                  |¬
«      }|5  |j$                  j'                  «       }d d d «       	 |j!                  «        t        j(                  |«      }|sy |D ]$  }	t+        |	«      sŒt        j,                  |	«      c S  y # t        $ r# Y 	 |j!                  «        y # t"        $ r Y y w xY ww xY w# 1 sw Y   ŒŒxY w# t"        $ r Y Œ‰w xY w# 	 |j!                  «        w # t"        $ r Y w w xY wxY w)Nú[^\(\)\s]*lib%s\.[^\(\)\s]*ÚgccÚccz-Wl,-tú-oz-lÚCÚLC_ALLÚLANG©ÚstdoutÚstderrÚenv)r+   ÚfsencodeÚreÚescapeÚshutilÚwhichÚtempfileÚNamedTemporaryFiler3   Údictr,   Ú
subprocessÚPopenÚPIPEÚSTDOUTÚOSErrorÚcloserD   rR   rC   ÚfindallrH   Úfsdecode)
r3   ÚexprÚ
c_compilerÚtempÚargsrT   ÚprocÚtraceÚresÚfiles
             r   Ú_findLib_gccrm   i   s£  € ô
 �{‰{Ð9¼B¿I¹IÀd»OÑKÓLˆä—\‘\ %Ó(ˆ
ÙÜŸ™ dÓ+ˆJÙàä×*Ñ*Ó,ˆð	Ø ¨$°·	±	¸4À$¹;ÐGˆDä”r—z‘zÓ"ˆCØˆC�‰MØˆC�‰KðÜ!×'Ñ'¨Ü/9¯©Ü/9×/@Ñ/@Ø,/ô1�ð ñ +ØŸ™×(Ñ(Ó*�÷+ðØ—
‘
”ô
 �j‰j˜˜uÓ%ˆÙØàò 	%ˆDô ˜4”=ØÜ—;‘;˜tÓ$Ò$ñ	%øô ò ØðØ—
‘
•øÜ$ò ñ ðúðú÷+ð +ûô
 %ò ñ ðûðØ—
‘
•øÜ$ò ñ ðýs�   Á07F  Â(5E ÃF  ÃFÃ:F  ÄF Å	FÅF  Å!E2 Å2	E>Å=E>ÆFÆF  ÆFÆ
F  Æ	FÆFÆ GÆ"F3Æ2GÆ3	F?Æ<GÆ>F?Æ?GÚsunos5c                 ór  — | sy 	 t        j                  dd| ft         j                  t         j                  ¬«      }|5  |j
                  j                  «       }d d d «       t        j                  d«      }|sy t        j                  |j                  d«      «      S # t        $ r Y y w xY w# 1 sw Y   ŒUxY w)Nz/usr/ccs/bin/dumpz-Lpv©rR   rS   s   \[.*\]\sSONAME\s+([^\s]+)r   )r]   r^   r_   ÚDEVNULLra   rR   rC   rV   Úsearchr+   rd   Úgroup)Úfri   Údatark   s       r   Ú_get_sonamerv   �   s¦   € ÙØðÜ!×'Ñ'Ð)<¸fÀaÐ(HÜ/9¯©Ü/9×/AÑ/AôC�ð
 ñ *Ø—{‘{×'Ñ'Ó)�÷*ä—)‘)Ð9¸4Ó@ˆCÙØÜ—;‘;˜sŸy™y¨›|Ó,Ð,øô ò Ùðú÷*ð *ús   …7B ¾B-Â	B*Â)B*Â-B6c                 ó¦  — | sy t        j                  d«      }|sy 	 t        j                  |ddd| ft        j                  t        j
                  ¬«      }|5  |j                  j                  «       }d d d «       t        j                  d«      }|sy t        j                  |j                  d«      «      S # t        $ r Y y w xY w# 1 sw Y   ŒUxY w)NÚobjdumpú-pz-jz.dynamicrp   s   \sSONAME\s+([^\s]+)r   )rX   rY   r]   r^   r_   rq   ra   rR   rC   rV   rr   r+   rd   rs   )rt   rx   ri   Údumprk   s        r   rv   rv   ®   s½   € áØÜ—l‘l 9Ó-ˆGÙàðÜ!×'Ñ'¨°$¸¸jÈ!Ð(LÜ/9¯©Ü/9×/AÑ/AôC�ð
 ñ *Ø—{‘{×'Ñ'Ó)�÷*ä—)‘)Ð3°TÓ:ˆCÙØÜ—;‘;˜sŸy™y¨›|Ó,Ð,øô ò Ùðú÷*ð *ús   �9B8 ÁCÂ8	CÃCÃC)ÚfreebsdÚopenbsdÚ	dragonflyc                 óÎ   — | j                  d«      }g }	 |r,|j                  dt        |j                  «       «      «       |rŒ,|xs t
        j                  gS # t        $ r Y Œ w xY w)Nó   .r   )r   Úinsertr   Úpopr<   r   Úmaxsize)ÚlibnameÚpartsÚnumss      r   Ú_num_versionr†   Æ   sb   € à—M‘M $Ó'ˆEØˆDðÙØ—K‘K ¤3 u§y¡y£{Ó#3Ô4ò ð Ò(œCŸK™K˜=Ð(øô ò Ùðús   •-A Á	A$Á#A$c                 ó
  — t        j                  | «      }d|›d|›d�}t        j                  |«      }	 t	        j
                  dt        j                  t        j                  ¬«      }|5  |j                  j                  «       }d d d «       t        j                  |«      }|st        t        | «      «      S |j                  t        ¬«       t        j                   |d   «      S # 1 sw Y   ŒcxY w# t        $ r d}Y Œsw xY w)	Nz:-lz\.\S+ => \S*/(libz\.\S+))ú/sbin/ldconfigz-rrp   r   )Úkeyr   )rV   rW   r+   rU   r]   r^   r_   rq   rR   rC   ra   rc   rv   rm   Úsortr†   rd   )r3   Úenamere   ri   ru   rk   s         r   r6   r6   Ñ   s×   € Ü—I‘I˜d“O‰EÚ8=ºuÐEˆDÜ—;‘;˜tÓ$ˆDð.Ü!×'Ñ'Ð(@Ü/9¯©Ü/9×/AÑ/AôC�ð ñ .ØŸ;™;×+Ñ+Ó-�D÷.ô —*‘*˜T 4Ó(ˆCÙÜ"¤<°Ó#5Ó6Ð6Ø�H‰HœˆHÔ&Ü—;‘;˜s 2™wÓ'Ð'÷.ð .ûô ò Ø’ðús   µ4C4 Á+C(Ã(C1Ã4DÄDc                 ó¼  — t         j                  j                  d«      sy t        t         j                  «      }d|d<   |rd}nd}d }	 t        j                  |t
        j                  t
        j                  |¬«      }|5  |j                  D ]J  }|j                  «       }|j                  d«      sŒ%t        j                  |«      j                  «       d   }ŒL 	 d d d «       |sy |j                  d	«      D ]H  }t         j                  j                  |d
| z  «      }t         j                  j                  |«      sŒF|c S  y # t        $ r Y y w xY w# 1 sw Y   ŒxxY w)Nú/usr/bin/crlerN   rO   )r�   ú-64)r�   rQ   s   Default Library Path (ELF):rA   ú:zlib%s.so)r+   r.   Úexistsr\   r,   r]   r^   r_   rq   ra   rR   ÚstripÚ
startswithrd   r   r/   )	r3   Úis64rT   rh   Úpathsri   ÚlineÚdirÚlibfiles	            r   Ú_findLib_crler˜   è   s0  € Ü—7‘7—>‘> /Ô2Øä”r—z‘zÓ"ˆCØˆC�‰MáØ/‘à)�àˆEðÜ!×'Ñ'¨Ü/9¯©Ü/9×/AÑ/AØ,/ô1�ð ñ =Ø ŸK™Kò =�DØŸ:™:›<�DØ—‘Ð'EÕFÜ "§¡¨DÓ 1× 7Ñ 7Ó 9¸!Ñ <™ñ=÷=ñ Øà—{‘{ 3Ó'ò #�ÜŸ'™'Ÿ,™, s¨J¸Ñ,=Ó>�Ü—7‘7—>‘> 'Õ*Ø"’Nð#ð
 øô! ò Ùðú÷=ð =ús$   Á	5E Â 1EÂ2(EÅ	EÅEÅEc                 óF   — t        t        | |«      xs t        | «      «      S ©N)rv   r˜   rm   )r3   r“   s     r   r6   r6     s   € Üœ}¨T°4Ó8ÒN¼LÈÓ<NÓOÐOr   c           	      ó   — dd l }t        j                  «       }|j                  j	                  d«      rd}|j                  d«      dk(  r|j                  dz   }n|j                  dz   }ddddd	d
dœ}|j                  |d«      }d}t        j                  |t        j                  | «      |fz  «      }	 t        j                  ddgt        j                  t        j                  t        j                  dddœ¬«      5 }t        j                  ||j                  j!                  «       «      }|r-t        j"                  |j%                  d«      «      cd d d «       S 	 d d d «       y # 1 sw Y   y xY w# t&        $ r Y y w xY w)Nr   ÚarmÚlrA   z-32rŽ   zlibc6,x86-64zlibc6,64bitzlibc6,IA-64zlibc6(,hard-float)?)z	x86_64-64zppc64-64z
sparc64-64zs390x-64zia64-64zarm-32Úlibc6z\s+(lib%s\.[^\s]+)\s+\(%srˆ   ry   rN   )rO   rP   )ÚstdinrS   rR   rT   r   )Ústructr+   ÚunameÚmachiner’   ÚcalcsizeÚgetrU   rV   rW   r]   r^   rq   r_   rr   rR   rC   rd   rs   ra   )	r3   r    r¡   r¢   Úmach_mapÚabi_typeÚregexÚprk   s	            r   Ú_findSoname_ldconfigr©     sV  € Ûô
 —H‘H“JˆEà�}‰}×'Ñ'¨Ô.Ø�Ø�‰˜sÓ# qÒ(ØŸ-™-¨%Ñ/‘àŸ-™-¨%Ñ/�à+Ø)Ø+Ø)Ø(ð 0ñ	ˆHð  —|‘| G¨WÓ5ˆHð 1ˆEÜ—K‘K ¬¯©°4«¸(Ð(CÑ CÓDˆEð
Ü×%Ñ%Ð'7¸Ð&>Ü,6×,>Ñ,>Ü-7×-?Ñ-?Ü-7¯_©_Ø58À#Ñ*Fô	Hð 9ð LMÜŸ)™) E¨1¯8©8¯=©=«?Ó;�CÙÜ!Ÿ{™{¨3¯9©9°Q«<Ó8÷9ñ 9ð ÷9÷ 9ñ 9ûô ò Ùðús8   Â4A	E1 Ã=AE%Å	E1 ÅE1 Å%E.Å*E1 Å.E1 Å1	E=Å<E=c                 óx  — dt        j                  | «      z  }ddg}t        j                  j	                  d«      }|r)|j                  d«      D ]  }|j                  d|g«       Œ |j                  dt        j                  d| z  g«       d }	 t        j                  |t        j                  t        j                  d	¬
«      }|j                  «       \  }}t        j                  |t        j                  |«      «      }	|	D ]$  }
t        |
«      sŒt        j                  |
«      c S  	 |S # t        $ r Y |S w xY w)NrJ   Úldz-tÚLD_LIBRARY_PATHr�   z-LrM   z-l%sT)rR   rS   Úuniversal_newlines)rV   rW   r+   r,   r¤   r   ÚextendÚdevnullr]   r^   r_   Úcommunicaterc   rd   rH   Ú	Exception)r3   re   ÚcmdÚlibpathr   Úresultr¨   ÚoutÚ_rk   rl   s              r   Ú_findLib_ldr·   :  s  € à1´B·I±I¸d³OÑCˆDØ˜�,ˆCÜ—j‘j—n‘nÐ%6Ó7ˆGÙØ Ÿ™ sÓ+ò *�AØ—J‘J  a˜yÕ)ð*à�J‰J˜œbŸj™j¨&°4©-Ð8Ô9ØˆFðÜ×$Ñ$ S´·±Ü,6¯O©OØ8<ô>�ð Ÿ™›‘��QÜ—j‘j ¤r§{¡{°3Ó'7Ó8�Øò -�Dô # 4œ=Ø ÜŸ;™; tÓ,Ò,ñ-ð ˆMøô ò ØØˆMðús   ÂBD, Ä(D, Ä,	D9Ä8D9c                 óp   — t        | «      xs* t        t        | «      «      xs t        t        | «      «      S rš   )r©   rv   rm   r·   )r3   s    r   r6   r6   U  s6   € ä'¨Ó-ò UÜœ|¨DÓ1Ó2òUÜ6AÄ+ÈdÓBSÓ6TðUr   c                  ó¬  — ddl m}  t        j                  dk(  rCt	        | j
                  «       t	        | j                  d«      «       t	        t        d«      «       t        j                  dk(  �rdt	        t        d«      «       t	        t        d«      «       t	        t        d«      «       t        j                  d	k(  rit	        | j                  d
«      «       t	        | j                  d«      «       t	        | j                  d«      «       t	        | j                  d«      «       y t        j                  j                  d«      �rCddl m} t        j                  dk  rot	        d |dt        j                  «      › �«       t	        d| j                  d«      › �«       t	        t        d«      «       t	        | j                  d«      «       n@t	        d |dt        j                  «      › �«       t	        d| j                  d«      › �«       t	        dt        d«      › �«       t	        d| j                  t        d«      «      › �«       t	        dt        d«      › �«       t	        d| j                  t        d«      «      › �«       y t	        | j                  d«      «       t	        | j                  d«      «       t	        t        d«      «       y y )Nr   )Úcdllr   r   r7   r)   r(   Úbz2r8   z
libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>   )ÚCDLLl        z"Using CDLL(name, os.RTLD_MEMBER): zlibc.a(shr.o)zUsing cdll.LoadLibrary(): Úrpmz	librpm.sozlibc.a(shr_64.o)z	crypt	:: Úcryptz
crypto	:: Úcryptozlibm.sozlibcrypt.so)Úctypesrº   r+   r3   Úprintr   Úloadr6   r   ÚplatformÚLoadLibraryr’   r¼   r‚   ÚRTLD_MEMBER)rº   r¼   s     r   ÚtestrÆ   ]  s%  € ÝÜ	‡w�w�$‚Üˆd�k‰kÔÜˆd�i‰i˜Ó!Ô"ÜŒl˜8Ó$Ô%ä	‡w�w�'ÓäŒl˜3ÓÔ ÜŒl˜3ÓÔ ÜŒl˜5Ó!Ô"ô �<‰<˜8Ò#Ü�$×"Ñ" <Ó0Ô1Ü�$×"Ñ"Ð#4Ó5Ô6Ü�$×"Ñ"Ð#4Ó5Ô6Ü�$×"Ñ"Ð#<Ó=Õ>ä�\‰\×$Ñ$ UÕ+Ý#Ü�{‰{˜UÒ"ÜÐ:¹4ÀÔQS×Q_ÑQ_Ó;`Ð:aÐbÔcÜÐ2°4×3CÑ3CÀOÓ3TÐ2UÐVÔWä”l 5Ó)Ô*Ü�d×&Ñ& {Ó3Õ4äÐ:¹4Ð@RÔTV×TbÑTbÓ;cÐ:dÐeÔfÜÐ2°4×3CÑ3CÐDVÓ3WÐ2XÐYÔZÜ�Jœ|¨GÓ4Ð5Ð6Ô7Ü�J˜t×/Ñ/´¸WÓ0EÓFÐGÐHÔIÜ�K¤¨XÓ 6Ð7Ð8Ô9Ü�K × 0Ñ 0´¸hÓ1GÓ HÐIÐJÕKä�$×"Ñ" 9Ó-Ô.Ü�$×"Ñ" =Ó1Ô2Ü”,˜wÓ'Õ(ð? r   Ú__main__)F)r+   rX   r]   r   r3   r   r&   r6   rÃ   Úctypes.macholib.dyldr9   r;   r’   Úctypes._aixrV   rZ   rH   rm   rv   r†   r˜   r©   r·   rÆ   Ú__name__© r   r   ú<module>rÌ      sý   ðÛ 	Û Û Û 
ð ‡7�7ˆd‚?òò2ó*ð ‡W�W�Ò˜CŸL™L¨HÒ4Ý<ó	ð 	‡\�\×Ñ˜UÔ#ö )à‡W�W�Òçòò/%ðd ‡|�|�xÒó	-ò"	-ð, ‡|�|×ÑÐBÔCò		)ó	(ð* 
�‰˜Ò	!ò"	ôH	Pò
'	òR	ò6	Uò&)ðP ˆzÒÙ…Fð r   