ó
    ÷Þ j'  ã                  ó  • % S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r
Jr  SSKJrJrJrJr  \
(       a  S SKrS SKJrJrJr  SrSrS	r1 S
kr\R4                  S&S j5       rS'S jrS'S jrS(S jr\R>                  " S 5      r S\!S'    " S S\5      r"S)S jr#S)S jr$S)S jr%S*S jr&\RN                  S+S j5       r(\RN                  " SS9S,S j5       r)S-S jr*\"" SS5      S\"" SS5      S \"" SS!5      S"0r+S#\!S$'   S.S% jr,g)/é    )ÚannotationsN)ÚTYPE_CHECKINGÚ
NamedTupleé   )ÚEIClassÚEIDataÚELFFileÚEMachine)Ú	GeneratorÚIteratorÚSequencel      ~ i   i   >   Úppc64Ús390xÚx86_64Úaarch64Úppc64leÚriscv64Úloongarch64c              #  ó²   #   •  [        U S5       n[        U5      v •  S S S 5        g ! , (       d  f       g = f! [        [        [        4 a    S v •   g f = f7f)NÚrb)Úopenr	   ÚOSErrorÚ	TypeErrorÚ
ValueError)ÚpathÚfs     ÚN/var/www/html/gaurav/venv/lib/python3.13/site-packages/packaging/_manylinux.pyÚ
_parse_elfr   !   sE   é € ðÜ�$˜Ô Ü˜!“*Ò÷ ×Öûä”Y¤
Ð+ó ØŒ
ðüs>   ‚A„8 �'ž8 ¦A§
5±8 ´Aµ8 ¸AÁAÁAÁAc                ó´  • [        U 5       nUS L=(       a§    UR                  [        R                  :H  =(       aƒ    UR                  [
        R                  :H  =(       a_    UR                  [        R                  :H  =(       a;    UR                  [        -  [        :H  =(       a    UR                  [        -  [        :H   sS S S 5        $ ! , (       d  f       g = f©N)r   Úcapacityr   ÚC32Úencodingr   ÚLsbÚmachiner
   ÚArmÚflagsÚEF_ARM_ABIMASKÚEF_ARM_ABI_VER5ÚEF_ARM_ABI_FLOAT_HARD©Ú
executabler   s     r   Ú_is_linux_armhfr-   *   sž   € ô 
�JÔ	 1à�TˆM÷ IØ—
‘
œgŸk™kÑ)÷Ià—
‘
œfŸj™jÑ(÷Ið —	‘	œXŸ\™\Ñ)÷Ið —‘œ.Ñ(¬OÑ;÷	Ið
 —‘Ô/Ñ/Ô3HÑHð	
÷ 
 ×	×	ús   ŒB3C	Ã	
Cc                ó0  • [        U 5       nUS L=(       ae    UR                  [        R                  :H  =(       aA    UR                  [
        R                  :H  =(       a    UR                  [        R                  :H   sS S S 5        $ ! , (       d  f       g = fr    )
r   r!   r   r"   r#   r   r$   r%   r
   ÚI386r+   s     r   Ú_is_linux_i686r0   9   se   € Ü	�JÔ	 1à�TˆM÷ +Ø—
‘
œgŸk™kÑ)÷+à—
‘
œfŸj™jÑ(÷+ð —	‘	œXŸ]™]Ñ*ð		
÷ 
 ×	×	ús   ŒA1BÂ
Bc                ój   • SU;   a  [        U 5      $ SU;   a  [        U 5      $ [        S U 5       5      $ )NÚarmv7lÚi686c              3  ó0   #   • U H  o[         ;   v •  M     g 7fr    )Ú_ALLOWED_ARCHS)Ú.0Úarchs     r   Ú	<genexpr>Ú'_have_compatible_abi.<locals>.<genexpr>H   s   é € Ð8±%¨$”~Ö%²%ùs   ‚)r-   r0   Úany)r,   Úarchss     r   Ú_have_compatible_abir<   C   s8   € Ø�5ÓÜ˜zÓ*Ð*Ø�ƒÜ˜jÓ)Ð)ÜÑ8±%Ó8Ó8Ð8ó    c                 ó   • g)Né2   © r@   r=   r   Ú<lambda>rA   P   s   € ÀBr=   zdict[int, int]Ú_LAST_GLIBC_MINORc                  ó*   • \ rS rSr% S\S'   S\S'   Srg)Ú_GLibCVersionéS   ÚintÚmajorÚminorr@   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r@   r=   r   rD   rD   S   s   ‡ ØƒJØ†Jr=   rD   c                 ó¢   •  [         R                  " S5      n U c   eU R                  5       u  pU$ ! [        [        [
        [        4 a     gf = f)zB
Primary implementation of glibc_version_string using os.confstr.
ÚCS_GNU_LIBC_VERSIONN)ÚosÚconfstrÚrsplitÚAssertionErrorÚAttributeErrorr   r   )Úversion_stringÚ_Úversions      r   Ú_glibc_version_string_confstrrY   X   sV   € ðä%'§Z¢ZÐ0EÓ%FˆØÑ)Ð)Ð)Ø#×*Ñ*Ó,‰
ˆð €Nøô œN¬G´ZÐ@ó áðús   ‚-1 ±AÁAc                 ó*  •  SSK n  U R                  S5      n UR                  nU R                  Ul        U" 5       n[        U[        5      (       a  UR                  S5      nU$ ! [         a     gf = f! [         a     gf = f! [
         a     gf = f)z?
Fallback implementation of glibc_version_string using ctypes.
r   NÚascii)ÚctypesÚImportErrorÚCDLLr   Úgnu_get_libc_versionrU   Úc_char_pÚrestypeÚ
isinstanceÚbytesÚdecode)r\   Úprocess_namespacer_   Úversion_strs       r   Ú_glibc_version_string_ctypesrg   k   s¦   € ðÛð"Ø"ŸK™K¨Ó-ÐðØ0×EÑEÐð $*§?¡?ÐÔ á3Ó5€KÜ�+œu×%Ñ%Ø!×(Ñ(¨Ó1ˆàÐøôG ó Ùðûô$ ó Ùðûô
 ó ñ ðús3   ‚A% ‡A5 ™B Á%
A2Á1A2Á5
BÂBÂ
BÂBc                 ó8   • [        5       =(       d
    [        5       $ )z9Returns glibc version string, or None if not using glibc.)rY   rg   r@   r=   r   Ú_glibc_version_stringri   —   s   € ä(Ó*×LÔ.JÓ.LÐLr=   c                ó  • [         R                  " SU 5      nU(       d)  [        R                  " SU  3[        SS9  [        SS5      $ [        [        UR                  S5      5      [        UR                  S5      5      5      $ )a  Parse glibc version.

We use a regexp instead of str.split because we want to discard any
random junk that might come after the minor version -- this might happen
in patched/forked versions of glibc (e.g. Linaro's version of glibc
uses version strings like "2.20-2014.11"). See gh-3588.
z$(?P<major>[0-9]+)\.(?P<minor>[0-9]+)z;Expected glibc version with 2 components major.minor, got: é   )Ú
stackleveléÿÿÿÿrG   rH   )ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningrD   rF   Úgroup)rf   Úms     r   Ú_parse_glibc_versionru   œ   sl   € ô 	�ŠÐ8¸+ÓF€AÞÜ�ŠØIÈ+ÈÐWÜØò	
ô
 ˜R Ó$Ð$Üœ˜QŸW™W WÓ-Ó.´°A·G±G¸GÓ4DÓ0EÓFÐFr=   c                 óJ   • [        5       n U c  [        SS5      $ [        U 5      $ )Nrm   )ri   rD   ru   )rf   s    r   Ú_get_glibc_versionrw   ¯   s(   € ä'Ó)€KØÑÜ˜R Ó$Ð$Ü Ó,Ð,r=   )Úmaxsizec                 ó:   •  [        S5      $ ! [         a     gf = f)z½Return the ``_manylinux`` C extension module, or None if unavailable.

The result is cached for the lifetime of the process, since the presence
of the module does not change while running.
Ú
_manylinuxN)Ú
__import__r]   r@   r=   r   Ú_get_manylinux_moduler|   ¸   s$   € ðÜ˜,Ó'Ð'øÜó Ùðús   ‚
 �
™c                óö  • [        5       nX!:  a  g[        5       nUc  g[        US5      (       a(  UR                  US   US   U 5      nUb  [	        U5      $ gU[        SS5      :X  a&  [        US5      (       a  [	        UR                  5      $ U[        SS	5      :X  a&  [        US
5      (       a  [	        UR                  5      $ U[        SS5      :X  a&  [        US5      (       a  [	        UR                  5      $ g)NFTÚmanylinux_compatibler   r   rk   é   Úmanylinux1_compatibleé   Úmanylinux2010_compatibleé   Úmanylinux2014_compatible)	rw   r|   Úhasattrr~   ÚboolrD   r€   r‚   r„   )r7   rX   Ú	sys_glibcÚmanylinux_modÚresults        r   Ú_is_compatiblerŠ   Å   s   € Ü"Ó$€IØÓØä)Ó+€MØÑØÜˆ}Ð4×5Ñ5Ø×3Ñ3°G¸A±JÀÈÁ
ÈDÓQˆØÑÜ˜“<ÐØØ”-  1Ó%Ó%¬'ØÐ.÷+ñ +ô �M×7Ñ7Ó8Ð8Ø”-  2Ó&Ó&¬7ØÐ1÷,ñ ,ô �M×:Ñ:Ó;Ð;Ø”-  2Ó&Ó&¬7ØÐ1÷,ñ ,ô �M×:Ñ:Ó;Ð;Ør=   rk   rƒ   Úmanylinux2014r�   Úmanylinux2010r   Ú
manylinux1zdict[_GLibCVersion, str]Ú_LEGACY_MANYLINUX_MAPc              #  óÐ  #   • [        [        R                  U 5      (       d  g[        SS5      n[	        U 5      SS1-  (       a  [        SS5      n[        [        5       6 nU/n[        UR                  S-
  SS5       H&  n[        U   nUR                  [        XE5      5        M(     U  H¸  nU H¯  nUR                  UR                  :X  a  UR                  nOSn[        UR                  US5       Hh  n[        UR                  U5      n	[        Xi5      (       d  M+  S	R                  " / U	QUP76 v •  [        R                  U	5      =n
(       d  M_  U
 S
U 3v •  Mj     M±     Mº     g7f)aª  Generate manylinux tags compatible to the current platform.

:param archs: Sequence of compatible architectures.
    The first one shall be the closest to the actual architecture and be the part of
    platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
    The ``linux_`` prefix is assumed as a prerequisite for the current platform to
    be manylinux-compatible.

:returns: An iterator of compatible manylinux tags.
Nrk   é   r   r3   é   r   rm   zmanylinux_{}_{}_{}rW   )r<   Úsysr,   rD   Úsetrw   ÚrangerG   rB   ÚappendrH   rŠ   ÚformatrŽ   Úget)r;   Útoo_old_glibc2Úcurrent_glibcÚglibc_max_listÚglibc_majorÚglibc_minorr7   Ú	glibc_maxÚ	min_minorÚglibc_versionÚ
legacy_tags              r   Úplatform_tagsr¡   ë   sE  é € ô  ¤§¡°×6Ñ6Øä" 1 bÓ)€NÜ
ˆ5ƒz�X˜vÐ&×&ä& q¨!Ó,ˆÜ!Ô#5Ó#7Ð8€MØ#�_€Nô ˜]×0Ñ0°1Ñ4°a¸Ö<ˆÜ'¨Ñ4ˆØ×Ñœm¨KÓEÖFñ =ó ˆÛ'ˆIØ�‰ .×"6Ñ"6Ó6Ø*×0Ñ0‘	ð �	Ü$ Y§_¡_°iÀÖD�Ü -¨i¯o©o¸{Ó K�Ü! $×6Ó6Ø.×5Ò5ÐK°}ÐKÀdÒKÒKô &;×%>Ñ%>¸}Ó%MÐM�z×MØ!+ ¨A¨d¨VÐ4Ô4ó  Eó (ò ùs   ‚DE&Ä0E&ÅE&)r   ÚstrÚreturnz%Generator[ELFFile | None, None, None])r,   r¢   r£   r†   )r,   r¢   r;   úSequence[str]r£   r†   )r£   z
str | None)rf   r¢   r£   rD   )r£   rD   )r£   ztypes.ModuleType | None)r7   r¢   rX   rD   r£   r†   )r;   r¤   r£   zIterator[str])-Ú
__future__r   ÚcollectionsÚ
contextlibÚ	functoolsrQ   rn   r’   rp   Útypingr   r   Ú_elffiler   r   r	   r
   ÚtypesÚcollections.abcr   r   r   r(   r)   r*   r5   Úcontextmanagerr   r-   r0   r<   ÚdefaultdictrB   rM   rD   rY   rg   ri   ru   Ú	lru_cacherw   r|   rŠ   rŽ   r¡   r@   r=   r   Ú<module>r°      s&  ðÞ "ã Û Û Û 	Û 	Û 
Û ß ,ç 8Ó 8æÛß=Ñ=à€Ø€Ø"Ð ò€ð ×Ñóó ðô
ô
ô9ð %0×$;Ò$;¹JÓ$GÐ �>Ó Gô�Jô ô
ô&)ôXMô
Gð& ×Ñó-ó ð-ð ×Ò˜QÑó	ó  ð	ôñ< �!�RÓ˜/á�!�RÓ˜/á�!�QÓ˜ð3Ð Ð/ó õ+5r=   