Ë
    nûàg×B  ã                  óì  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlmZ d dlZd dlZd dlmZmZmZ d dlZd dlZ G d„ de«      Z G d„ d«      Z G d	„ d
«      Zd„ Zd„ Zd„ Zej:                  j=                  dddefddefg«      ej:                  j?                  e	j@                  dd dk(  xr e	j@                  jB                  dk7  d¬«      d„ «       «       Z"ej:                  j?                  e	j@                  dd dk(  xr e	j@                  jB                  dk7  d¬«      d„ «       Z#ej:                  j=                  dddg«      d„ «       Z$d„ Z% G d„ d «      Z& G d!„ d"«      Z'y)#é    )ÚannotationsN)Úmock)ÚDistInfoDistributionÚDistributionÚEggInfoDistributionc                  ó   — e Zd Zd„ Zy)Ú
EggRemoverc                óÐ   — | t         j                  v rt         j                  j                  | «       t        j                  j	                  | «      rt        j                  | «       y y ©N)ÚsysÚpathÚremoveÚosÚexists)Úselfs    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pkg_resources/tests/test_pkg_resources.pyÚ__call__zEggRemover.__call__   s>   € Ø”3—8‘8ÑÜ�H‰H�O‰O˜DÔ!Ü�7‰7�>‰>˜$ÔÜ�I‰I�d�Oð  ó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r	   r	      s   „ ór   r	   c                  óx   — e Zd ZU g Zded<    ej
                  dddddd«      Z	 ed	„ «       Zed
„ «       Z	d„ Z
d„ Zy)ÚTestZipProviderzlist[EggRemover]Ú
finalizersiÝ  é   é   é   é   r   c                ó†  — t        j                  dd¬«      }t        j                  |d«      }t        j                  «       }d|_        | j                  j                  «       |_        |j                  |d«       t        j                  «       }d|_        | j                  j                  «       |_        |j                  |d«       t        j                  «       }d	|_        | j                  j                  «       |_        |j                  |d
«       t        j                  «       }d|_        | j                  j                  «       |_        |j                  |d«       |j                  «        |j                  «        t        j                  j                  |j                  «       t        j                  j!                  |j                  d«      }t        j                  j                  |«       | j"                  j                  t%        |«      «       | j"                  j                  t%        |j                  «      «       y)z'create a zip egg and add it to sys.pathz.eggF)ÚsuffixÚdeleteÚwúmod.pyzx = 3
údata.datúhello, world!zsubdir/mod2.pyzx = 6
zsubdir/data2.datzgoodbye, world!ÚsubdirN)ÚtempfileÚNamedTemporaryFileÚzipfileÚZipFileÚZipInfoÚfilenameÚref_timeÚ	timetupleÚ	date_timeÚwritestrÚcloser   r   ÚappendÚnamer   Újoinr   r	   )ÚclsÚeggÚzip_eggÚzip_infor'   s        r   Úsetup_classzTestZipProvider.setup_class&   s‹  € ô ×)Ñ)°ÀÔFˆÜ—/‘/ # sÓ+ˆÜ—?‘?Ó$ˆØ$ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×Ñ˜ 9Ô-Ü—?‘?Ó$ˆØ&ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×Ñ˜ ?Ô3Ü—?‘?Ó$ˆØ,ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×Ñ˜ 9Ô-Ü—?‘?Ó$ˆØ.ˆÔØ Ÿ\™\×3Ñ3Ó5ˆÔØ×Ñ˜Ð#4Ô5Ø�‰ŒØ�	‰	Œä�‰�‰˜Ÿ™Ô!Ü—‘—‘˜cŸh™h¨Ó1ˆÜ�‰�‰˜ÔØ�‰×Ñœj¨Ó0Ô1Ø�‰×Ñœj¨¯©Ó2Õ3r   c                ó4   — | j                   D ]	  } |«        Œ y r   )r   )r6   Ú	finalizers     r   Úteardown_classzTestZipProvider.teardown_classD   s   € àŸ™ò 	ˆIÙ�Kñ	r   c                ó   — dd l }t        j                  |«      }g d¢}t        |j	                  d«      «      |k(  sJ ‚ddg}t        |j	                  d«      «      |k(  sJ ‚t        |j	                  d«      «      |k(  sJ ‚|j	                  d«      g k(  sJ ‚|j	                  d	«      g k(  sJ ‚dd l}t        j                  |«      }t        |j	                  d«      «      |k(  sJ ‚|j	                  d«      g k(  sJ ‚|j	                  d«      g k(  sJ ‚y )
Nr   )r%   r$   r'   Ú z	data2.datzmod2.pyr'   zsubdir/Únonexistentznonexistent/)ÚmodÚpkg_resourcesÚZipProviderÚsortedÚresource_listdirÚmod2)r   rA   ÚzpÚexpected_rootÚexpected_subdirrF   Úzp2s          r   Útest_resource_listdirz%TestZipProvider.test_resource_listdirI   s  € Ûä×&Ñ& sÓ+ˆâ8ˆÜ�b×)Ñ)¨"Ó-Ó.°-Ò?Ð?Ð?à&¨	Ð2ˆÜ�b×)Ñ)¨(Ó3Ó4¸ÒGÐGÐGÜ�b×)Ñ)¨)Ó4Ó5¸ÒHÐHÐHà×"Ñ" =Ó1°RÒ7Ð7Ð7Ø×"Ñ" >Ó2°bÒ8Ð8Ð8ãä×'Ñ'¨Ó-ˆä�c×*Ñ*¨2Ó.Ó/°?ÒBÐBÐBà×#Ñ# HÓ-°Ò3Ð3Ð3Ø×#Ñ# IÓ.°"Ò4Ð4Ñ4r   c                ó’  — ddl }t        j                  «       }t        j                  |«      }|j	                  |d«      }t
        j
                  j                  t        j                  |«      j                  «      }|| j                  k(  sJ ‚t        |dd¬«      }|j                  d«       |j                  «        | j                  j                  «       }t        j                  |||f«       |j	                  |d«      }t        |d¬«      5 }|j!                  «       dk(  sJ ‚	 ddd«       |j#                  «        y# 1 sw Y   ŒxY w)	a  
        If a previous call to get_resource_filename has saved the file, but
        the file has been subsequently mutated with different file of the
        same size and modification time, it should not be overwritten on a
        subsequent call to get_resource_filename.
        r   Nr%   r#   úutf-8©Úencodingzhello, world?r&   )rA   rB   ÚResourceManagerrC   Úget_resource_filenameÚdatetimeÚfromtimestampr   ÚstatÚst_mtimer.   ÚopenÚwriter2   Ú	timestampÚutimeÚreadÚcleanup_resources)r   rA   ÚmanagerrG   r-   ÚactualÚfÚtss           r   Ú)test_resource_filename_rewrites_on_changez9TestZipProvider.test_resource_filename_rewrites_on_changea   s  € ó 	ä×/Ñ/Ó1ˆÜ×&Ñ& sÓ+ˆØ×+Ñ+¨G°ZÓ@ˆÜ×"Ñ"×0Ñ0´·±¸Ó1B×1KÑ1KÓLˆØ˜Ÿ™Ò&Ð&Ð&Ü�˜3¨Ô1ˆØ	�‰�Ô Ø	�‰Œ	Ø�]‰]×$Ñ$Ó&ˆÜ
�‰�˜B ˜8Ô$Ø×+Ñ+¨G°ZÓ@ˆÜ�( WÔ-ð 	/°Ø—6‘6“8˜Ò.Ð.Ñ.÷	/à×!Ñ!Õ#÷	/ð 	/ús   ÄD=Ä=EN)r   r   r   r   Ú__annotations__rR   r.   Úclassmethodr:   r=   rK   r`   r   r   r   r   r       s\   … Ø#%€JÐ Ó%à ˆx× Ñ   q¨"¨b°"°aÓ8€HØ.àñ4ó ð4ð: ñó ðò5ó0$r   r   c                  ó    — e Zd Zd„ Zd„ Z	 d„ Zy)ÚTestResourceManagerc                ó®   — t        j                  «       }|j                  d«      }t        t	        |«      «      }d|z   }t        |t        «      sJ |«       ‚y )NÚfooz%Unexpected type from get_cache_path: )rB   rP   Úget_cache_pathÚstrÚtypeÚ
isinstance)r   Úmgrr   Útype_Úmessages        r   Útest_get_cache_pathz'TestResourceManager.test_get_cache_path{   sL   € Ü×+Ñ+Ó-ˆØ×!Ñ! %Ó(ˆÜ”D˜“J“ˆØ9¸EÑAˆÜ˜$¤Ô$Ð- gÓ-Ñ$r   c                óV  ‡— t         j                  fˆfd„	Šg ‰_        t        j                  «       }|j	                  t        |«      «       t        j                  j                  d«      }t        j                  j                  t         d‰¬«      5  |j                  |«       d d d «       ‰j                  }t        |«      dk(  sJ ‚|d   j                  t        j                  «      dd  dd	gk(  sJ ‚|d
   j                  t        j                  «      dd  dgk(  sJ ‚y # 1 sw Y   Œ}xY w)Nc                ó|   •— ‰j                   j                  | «        || «      }|st        j                  | «       |S r   )Údirnamesr3   r   Úmakedirs)ÚdirnameÚunpatched_isdirÚwas_dirÚpatched_isdirs      €r   rv   zCTestResourceManager.test_get_cache_path_race.<locals>.patched_isdir„   s5   ø€ Ø×"Ñ"×)Ñ)¨'Ô2á% gÓ.ˆGÙÜ—‘˜GÔ$ØˆNr   )rf   ÚbarÚbazÚisdir)Únewé   r   éþÿÿÿrf   rw   é   éÿÿÿÿ)rB   ry   rq   rP   Úset_extraction_pathrh   r   Úsepr5   r   ÚpatchÚobjectrg   ÚlenÚsplit)r   Útmpdirrk   Úarchive_nameÚcalled_dirnamesrv   s        @r   Útest_get_cache_path_racez,TestResourceManager.test_get_cache_path_race‚   s  ø€ ä3@×3FÑ3Fõ 	ð "$ˆÔô ×+Ñ+Ó-ˆØ×Ñ¤ F£Ô,ä—v‘v—{‘{Ð#8Ó9ˆÜ�Z‰Z×Ñœ}¨g¸=ÐÓIñ 	-Ø×Ñ˜|Ô,÷	-ð (×0Ñ0ˆÜ�?Ó# qÒ(Ð(Ð(Ø˜qÑ!×'Ñ'¬¯©Ó/°°Ð4¸À¸ÒFÐFÐFØ˜qÑ!×'Ñ'¬¯©Ó/°°Ð4¸¸Ò?Ð?Ñ?÷	-ð 	-ús   ÂDÄD(c                óv   — d}t         j                  ddj                  |«      g}t        j                  |«       y)z�
        In a separate Python environment, import pkg_resources and assert
        that action doesn't cause setuptools to be imported.
        )zimport pkg_resourcesz
import syszAassert "setuptools" not in sys.modules, "setuptools was imported"z-cz; N)r   Ú
executabler5   Ú
subprocessÚ
check_call)r   ÚlinesÚcmds      r   Útest_setuptools_not_importedz0TestResourceManager.test_setuptools_not_imported¢   s2   € ð

ˆô
 �~‰~˜t T§Y¡Y¨uÓ%5Ð6ˆÜ×Ñ˜cÕ"r   N)r   r   r   rn   rˆ   r�   r   r   r   rd   rd   z   s   „ ò.ò@ð8ó#r   rd   c                ó  — t         j                  j                  | «      }t        j                  |«       t	        | d«      5 }|j                  |«       ddd«       t        t        j                  |«      «      }|\  }|S # 1 sw Y   Œ-xY w)a†  
    Make a test Distribution object, and return it.

    :param metadata_path: the path to the metadata file that should be
        created. This should be inside a distribution directory that should
        also be created. For example, an argument value might end with
        "<project>.dist-info/METADATA".
    :param metadata: the desired contents of the metadata file, as bytes.
    ÚwbN)	r   r   rs   ÚmkdirrV   rW   ÚlistrB   Údistributions_from_metadata)Úmetadata_pathÚmetadataÚdist_dirr^   ÚdistsÚdists         r   Úmake_test_distributionrš   °   sp   € ô �w‰w�‰˜}Ó-€HÜ‡H�HˆXÔÜ	ˆm˜TÓ	"ð  aØ	�‰�Ô÷ä”×:Ñ:¸8ÓDÓE€EØ�G€Tà€K÷ð ús   ÁA?Á?Bc                óš  — d}t         j                  j                  t        | «      d|«      }dj	                  d«      }t        ||¬«      }t        j                  t        «      5 }|j                  |«       ddd«       j                  }t        |«      }d}||v s
J d|› �«       ‚|j                  |«      s
J d|› �«       ‚y# 1 sw Y   ŒLxY w)	zI
    Test a metadata file with bytes that can't be decoded as utf-8.
    ÚMETADATAzfoo.dist-infou   nÃ©ez
iso-8859-1)r–   Nz`codec can't decode byte 0xe9 in position 1: invalid continuation byte in METADATA file at path: zactual: )r   r   r5   rh   Úencoderš   ÚpytestÚraisesÚUnicodeDecodeErrorÚget_metadataÚvalueÚendswith)	r…   r-   r•   r–   r™   ÚexcinfoÚexcr]   Úexpecteds	            r   Útest_get_metadata__bad_utf8r§   Ä   sÇ   € ð €Hä—G‘G—L‘L¤ V£¨o¸xÓH€Mà�}‰}˜\Ó*€HÜ! -¸(ÔC€Dä	�‰Ô)Ó	*ð $¨gØ×Ñ˜(Ô#÷$ð �-‰-€CÜ�‹X€Fð	?ð ð �vÑÐ2 ¨&¨Ð2Ó2ÐØ�?‰?˜=Ô)Ð>¨X°f°XÐ+>Ó>Ñ)÷$ð $ús   Á$CÃC
c                óÖ   — | |z  }|j                  «        |j                  d«      j                  «        t        t	        j
                  |«      «      }t        |«      dk(  sJ ‚|\  }||fS )zN
    Create a distribution directory with no file containing the version.
    ztemp.txtr}   )Ú
ensure_dirr5   Úensurer“   rB   r”   rƒ   )r…   Úbasenamer—   r˜   r™   s        r   Úmake_distribution_no_versionr¬   Þ   sg   € ð ˜Ñ €HØ×ÑÔð ‡M�M�*Ó×$Ñ$Ô&ä”×:Ñ:¸8ÓDÓE€EÜˆu‹:˜Š?Ðˆ?Ø�G€Tà�ˆ>Ðr   )r!   Úexpected_filenameÚexpected_dist_typezegg-infozPKG-INFOz	dist-inforœ   r{   )é   r   Úfinalz/https://github.com/python/cpython/issues/103632©Úreasonc                óÊ  — d|› �}t        | |«      \  }}d|› d�}t        j                  j                  ||«      }t	        j
                  t        «      5 }	|j                   ddd«       t        	j                  «      }
||
v sJ t        ||
f«      «       ‚|	j                  j                  \  }}||v sJ ‚||v sJ t        ||f«      «       ‚t        |«      |u sJ ‚y# 1 sw Y   ŒyxY w)zI
    Test Distribution.version when the "Version" header is missing.
    zfoo.z!Missing 'Version:' header and/or z file at path: N)r¬   r   r   r5   rž   rŸ   Ú
ValueErrorÚversionrh   r¢   Úargsri   )r…   r!   r­   r®   r«   r™   r—   Úexpected_textr•   r¤   ÚerrÚmsgs               r   Ú!test_distribution_version_missingrº   ï   sù   € ð" �f�Xˆ€HÜ1°&¸(ÓC�N€Dˆ(ð ,Ð,=Ð+>¸oÐNð ô —G‘G—L‘L Ð+<Ó=€Mô 
�‰”zÓ	"ð  gØ�Š÷ô ˆg�m‰mÓ
€Cð ˜CÑÐ:¤ m°SÐ%9Ó!:Ó:Ðð —‘×"Ñ"�I€CˆØ˜CÑÐÐà˜CÑÐ:¤ m°SÐ%9Ó!:Ó:ÐÜ�‹:Ð+Ñ+Ð+Ñ+÷ð ús   ÁCÃC"c                 óÒ   — t        d«      } t        j                  t        «      5 }| j                   ddd«       j
                  j                  \  }} d}||k(  sJ ‚y# 1 sw Y   Œ,xY w)zl
    Test Distribution.version when the "Version" header is missing and
    the path can't be detected.
    z/fooNzJMissing 'Version:' header and/or PKG-INFO file at path: [could not detect])r   rž   rŸ   r´   rµ   r¢   r¶   )r™   r¤   r¹   r¦   s       r   Ú1test_distribution_version_missing_undetected_pathr¼     sc   € ô ˜Ó€DÜ	�‰”zÓ	"ð  gØ�Š÷ð —‘×"Ñ"�I€CˆàTð ð �(Š?Ð‰?÷ð ús   ¥AÁA&ÚonlyFTc                ó„   — | dz  }|j                  «        t        j                  t        | «      t        |«      |«      rJ ‚y)z5Test path containing a file with dist-info extension.zfoobar.dist-infoN)ÚtouchrB   Údist_factoryrh   )Útmp_pathr½   Ú	dist_infos      r   Útest_dist_info_is_not_dirrÃ   /  s<   € ð Ð-Ñ-€IØ‡O�OÔÜ×)Ñ)¬#¨h«-¼¸Y»ÈÔNÐNÐNÐNr   c                ó�  ‡‡— t         j                  Š| j                  dt        j                  d¬«      «       t        ‰dz  d«      5 }t        j                  ddi|«       ddd«       | j                  d	t        j                  d
¬«      «       ˆˆfd„}t        j                  dt        j                  |¬«      «      5 }t        j                  j                  «        t        j                  «       ddgk(  sJ ‚t        j                  j                  «        ddd«       j                  «        y# 1 sw Y   ŒÐxY w# 1 sw Y   Œ&xY w)z-Regression test for pkg_resources._macos_verszplatform.mac_ver)r?   r   r?   )Úreturn_valueú
fake.plistr‘   ÚProductVersionz11.4Nzos.path.existsTc                ó"   •—  ‰‰dz  g|¢­i |¤ŽS )NrÆ   r   )Úfiler¶   ÚkwargsÚ	orig_openrÁ   s      €€r   Ú	fake_openz+test_macos_vers_fallback.<locals>.fake_openE  s   ø€ Ù˜ LÑ0ÐB°4ÒB¸6ÑBÐBr   zbuiltins.open)Úside_effectÚ11Ú4)ÚbuiltinsrV   Úsetattrr   ÚMockÚplistlibÚdumpr�   rB   Ú_macos_versÚcache_clearÚassert_called)ÚmonkeypatchrÁ   Ú	fake_filerÌ   ÚmrË   s    `   @r   Útest_macos_vers_fallbackrÛ   7  s  ù€ ä—‘€Ið ×ÑÐ*¬D¯I©IÀ<Ô,PÔQô 
ˆh˜Ñ% tÓ	,ð =°	Ü�‰Ð'¨Ð0°)Ô<÷=ð ×ÑÐ(¬$¯)©)ÀÔ*FÔGõCô 
�‰�O¤T§Y¡Y¸9Ô%EÓ	Fð 0È!Ü×!Ñ!×-Ñ-Ô/Ü×(Ñ(Ó*¨t°S¨kÒ9Ð9Ð9Ü×!Ñ!×-Ñ-Ô/÷0ð
 ‡O�OÕ÷=ð =ú÷0ð 0ús   ÁD0Â?AD<Ä0D9Ä<Ec                  ó*  — e Zd Zej                  d„ «       Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Z
ej                  j                  ej                  j                  d«      ej                  j                  d«      k7  d	¬
«      ej                  j                  ddg«      d„ «       «       Zej                  j                  ej                  j                   dk7  d¬
«      ej                  j                  dg d¢«      d„ «       «       Zy)ÚTestDeepVersionLookupDistutilsc                ó   ‡—  G d„ dt         «      } |‰«      }‰j                  t        j                  «       d}t	        ˆfd„|D «       «      |_        t        t        t        j                  |j
                  j                  «       «      «       |S )zq
        Create a package environment, similar to a virtualenv,
        in which packages are installed.
        c                  ó   — e Zd Zy)ú7TestDeepVersionLookupDistutils.env.<locals>.EnvironmentN)r   r   r   r   r   r   ÚEnvironmentrà   Y  s   „ Ør   rá   )ÚhomeÚlibÚscriptsÚdatazegg-basec              3  ó>   •K  — | ]  }|t        ‰|z  «      f–— Œ y ­wr   )rh   )Ú.0rs   r…   s     €r   ú	<genexpr>z5TestDeepVersionLookupDistutils.env.<locals>.<genexpr>_  s    øè ø€ ÒN¸g˜'¤3 v°Ñ'7Ó#8Ô9ÑNùs   ƒ)rh   ÚchmodrT   ÚS_IRWXUÚdictÚpathsr“   Úmapr   r’   Úvalues)r   r…   rá   ÚenvÚsubss    `   r   rï   z"TestDeepVersionLookupDistutils.envR  sg   ø€ ô	œ#ô 	ñ ˜&Ó!ˆØ�‰”T—\‘\Ô"Ø;ˆÜÓNÈÔNÓNˆŒ	ÜŒS”—‘˜3Ÿ9™9×+Ñ+Ó-Ó.Ô/Øˆ
r   c                ó<  — d}t        d||¬«      }t        j                  j                  |«      }t        j                  j
                  j                  |«      }|j                  «        |j                  d   |_        |j                  «        |j                  «        y)zj
        Create a foo package installed (distutils-style) to env.paths['lib']
        as version.
        u&   This package has unicode metadata! â�„rf   )r4   rµ   Úlong_descriptionrã   N)rë   Ú	distutilsr™   r   ÚcommandÚinstall_egg_infoÚinitialize_optionsrì   Úinstall_dirÚfinalize_optionsÚrun)r   rï   rµ   ÚldÚattrsr™   Úiei_cmds          r   Úcreate_foo_pkgz-TestDeepVersionLookupDistutils.create_foo_pkgc  sy   € ð
 6ˆÜ˜%¨À2ÔFˆÜ�~‰~×*Ñ*¨5Ó1ˆÜ×#Ñ#×4Ñ4×EÑEÀdÓKˆØ×"Ñ"Ô$Ø!Ÿi™i¨Ñ.ˆÔØ× Ñ Ô"Ø�‰�r   c                óð   — d}| j                  ||«       t        j                  j                  d«      }t        j                  |j
                  d   g«      j                  |«      }|j                  |k(  sJ ‚y )Nz1.11.0.dev0+2329eaezfoo>=1.9rã   )rý   rB   ÚRequirementÚparseÚ
WorkingSetrì   Úfindrµ   )r   rï   rµ   Úreqr™   s        r   Ú#test_version_resolved_from_egg_infozBTestDeepVersionLookupDistutils.test_version_resolved_from_egg_infoq  sh   € Ø'ˆØ×Ñ˜C Ô)ô ×'Ñ'×-Ñ-¨jÓ9ˆÜ×'Ñ'¨¯©°5Ñ)9Ð(:Ó;×@Ñ@ÀÓEˆØ�|‰|˜wÒ&Ð&Ñ&r   )ÚunnormalizedÚ
normalized))rf   rf   )zfoo/rf   )úfoo/barr  )zfoo/bar/r  c                óf   — t        j                  |«      }t        j                  |«      }||k(  sJ ‚y)zeEnsure the trailing slash is cleaned for path comparison.

        See pypa/setuptools#1519.
        N©rB   Únormalize_path©r   r  r  Úresult_from_unnormalizedÚresult_from_normalizeds        r   Ú test_normalize_path_trailing_sepz?TestDeepVersionLookupDistutils.test_normalize_path_trailing_sep{  s5   € ô $1×#?Ñ#?ÀÓ#MÐ Ü!.×!=Ñ!=¸jÓ!IÐØ'Ð+AÒAÐAÑAr   ÚAÚaz%Testing case-insensitive filesystems.r±   )z
MiXeD/CasEz
mixed/casec                óf   — t        j                  |«      }t        j                  |«      }||k(  sJ ‚y)z@Ensure mixed case is normalized on case-insensitive filesystems.Nr	  r  s        r   Útest_normalize_path_normcasez;TestDeepVersionLookupDistutils.test_normalize_path_normcase�  s5   € ô $1×#?Ñ#?ÀÓ#MÐ Ü!.×!=Ñ!=¸jÓ!IÐØ'Ð+AÒAÐAÑAr   ú\z5Testing systems using backslashes as path separators.)r  r¦   ))zforward/slashúforward\slash)zforward/slash/r  )zbackward\slash\zbackward\slashc                óT   — t        j                  |«      }|j                  |«      sJ ‚y)z;Ensure path seps are cleaned on backslash path sep systems.N)rB   r
  r£   )r   r  r¦   Úresults       r   Ú!test_normalize_path_backslash_sepz@TestDeepVersionLookupDistutils.test_normalize_path_backslash_sep�  s&   € ô ×-Ñ-¨lÓ;ˆØ�‰˜xÔ(Ð(Ñ(r   N)r   r   r   rž   Úfixturerï   rý   r  ÚmarkÚparametrizer  Úskipifr   r   Únormcaser  r€   r  r   r   r   rÝ   rÝ   Q  s"  „ Ø‡^�^ñó ðò ò'ð ‡[�[×ÑØ&ò	
óñBóðBð ‡[�[×ÑØ
�‰×Ñ˜Ó §¡×!1Ñ!1°#Ó!6Ñ6Ø6ð ó ð ‡[�[×ÑØ&à(ð	
óñBóó	ðBð ‡[�[×ÑØ
�‰�‰�tÑØFð ó ð ‡[�[×ÑØ$ò	
óñ)óó	ñ)r   rÝ   c                  óh   — e Zd Zd„ ZdddddœZej                  j                  dg d¢«      d	„ «       Zy
)ÚTestWorkdirRequirec                óZ  — |dz  }|j                  «        | j                  j                  «       D ]M  \  }}||z  }|j                  j                  dd¬«       |j	                  t        j                  |«      d¬«       ŒO |j                  t        d|g«       t        j                  |«      S )Nzsite-packagesT)Úexist_okÚparentsrM   rN   r   )r’   ÚFILESÚitemsÚparentÚ
write_textÚinspectÚcleandocrÑ   r   r   Úfspath)r   rÁ   rØ   Ú
dist_filesÚsite_packagesrÉ   Úcontentr   s           r   Úfake_site_packagesz%TestWorkdirRequire.fake_site_packages°  s›   € Ø  ?Ñ2ˆØ×ÑÔØ!ŸZ™Z×-Ñ-Ó/ò 	I‰MˆD�'Ø  4Ñ'ˆDØ�K‰K×Ñ t°TÐÔ:Ø�O‰OœG×,Ñ,¨WÓ5ÀˆOÕHð	Ið
 	×ÑœC ¨-¨Ô9Ü�y‰y˜Ó'Ð'r   ze
            Metadata-Version: 2.4
            Name: pkg1.mod
            Version: 1.2.3
            zd
            Metadata-Version: 2.1
            Name: pkg2.mod
            Version: 0.42
            zE
            Name: pkg3.mod
            Version: 1.2.3.4
            zD
            Name: pkg4.mod
            Version: 0.42.1
            )z!pkg1_mod-1.2.3.dist-info/METADATAz pkg2.mod-0.42.dist-info/METADATAzpkg3_mod.egg-info/PKG-INFOzpkg4.mod.egg-info/PKG-INFO)rµ   Úrequirement))z1.2.3zpkg1.mod>=1)z0.42zpkg2.mod>=0.4)z1.2.3.4zpkg3.mod<=2)z0.42.1zpkg4.mod>0.2,<1c                óz  — | j                  ||| j                  «      }t        j                  |g«      }||j	                  dd«      fD ]q  }|j                  |«      \  }|j                  |k(  sJ ‚t        j                  j                  t        j                  j                  |j                  |g«      |«      rŒqJ ‚ y )Nú.ú-)r,  r"  rB   r  ÚreplaceÚrequirerµ   r   r   ÚsamefileÚ
commonpathÚlocation)	r   rÁ   rØ   rµ   r-  r*  Úwsr  r™   s	            r   Ú test_require_non_normalised_namez3TestWorkdirRequire.test_require_non_normalised_nameÐ  s©   € ð ×/Ñ/°¸+ÀtÇzÁzÓRˆÜ×%Ñ% } oÓ6ˆà ×!4Ñ!4°S¸#Ó!>Ð?ò 	ˆCØ—Z‘Z “_‰FˆTØ—<‘< 7Ò*Ð*Ð*Ü—7‘7×#Ñ#Ü—‘×"Ñ" D§M¡M°=Ð#AÓBÀMõð ð ñ	r   N)	r   r   r   r,  r"  rž   r  r  r7  r   r   r   r  r  ¯  sM   „ ò	(ð.ð
-ð
'ð'ñ€Eð* ‡[�[×ÑØ"ò	
óñóñr   r  )(Ú
__future__r   rÐ   rR   r&  r   rÓ   rT   r‹   r   r(   r*   Úunittestr   rž   rB   r   r   r   Ú"distutils.command.install_egg_inforó   Údistutils.distrh   r	   r   rd   rš   r§   r¬   r  r  ÚxfailÚversion_infoÚreleaselevelrº   r¼   rÃ   rÛ   rÝ   r  r   r   r   ú<module>r?     s˜  ðÝ "ã Û Û Û 	Û Û Û Û 
Û Û Ý ã ã ß QÑ Qã )Û ô�ô ÷W$ñ W$÷t3#ñ 3#òlò(?ò4ð" ‡�×ÑØ9à	�ZÐ!4Ð5Ø	�jÐ"6Ð7ðóð ‡�×ÑØ×Ñ�R�aÐ˜GÑ#ÒP¨×(8Ñ(8×(EÑ(EÈÑ(PØ<ð ó ñ,ó	óð,ð> ‡�×ÑØ×Ñ�R�aÐ˜GÑ#ÒP¨×(8Ñ(8×(EÑ(EÈÑ(PØ<ð ó ñó	ðð$ ‡�×Ñ˜ %¨ Ó/ñOó 0ðOò÷4[)ñ [)÷|6ò 6r   