ó
    Ñ]j‘  ã                  ó  • S r SSKJ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
  SSKJrJrJr  SSKJr  SS	KJr  SS
KJr  SSKJrJrJr  \(       a  SSKJr  \R6                  " \5      r\R<                  " S\R>                  5      r \R<                  " S\R>                  5      r!                  SS jr"                SS jr#            SS jr$          SS jr%SS jr&SS jr'SS jr(/ SQr)g)z
Bootstrap.é    )ÚannotationsN)ÚeqÚlt)ÚPath)ÚPIPEÚCalledProcessErrorÚPopen)ÚTYPE_CHECKINGé   )Úfrom_bundle)Úadd_wheel_to_update_log)ÚVersionÚWheelÚdiscover_wheels)ÚAppDataa  
    ^
    (?P<name>
        [A-Za-z0-9]                 # must start with an alnum
        (?:[A-Za-z0-9._-]*           # inner chars: alnum plus . _ -
           [A-Za-z0-9])?             # must also end with an alnum (unless length is 1)
    )
    $
    zÅ
    ^
    (?P<operator>==|<)              # only the operators Version.as_version_spec can emit
    (?P<version>[A-Za-z0-9._+!-]+)  # PEP 440 public-version character set, no whitespace
    $
    c           
     ó2  • SnU(       a  U[         R                  :w  a  [        XX#XVU5      nU(       ad  Uca  U[         R                  :w  aM  [	        U [         R
                  " U5      UUUUR                  US9nUb  UR                  (       a  [        X‚U5        U$ )znGet a wheel with the given distribution-version-for_py_version trio, by using the extra search dir + download.N)ÚdistributionÚversion_specÚfor_py_versionÚsearch_dirsÚapp_dataÚ	to_folderÚenv)	r   Úbundler   ÚembedÚdownload_wheelÚas_version_specÚhouseÚ
can_updater   )	r   Úversionr   r   Údownloadr   Údo_periodic_updater   Úwheels	            Ú[/home/mande/repo/quber/.venv/lib/python3.13/site-packages/virtualenv/seed/wheels/acquire.pyÚ	get_wheelr%   3   sˆ   € ð €Eæ�w¤'§.¡.Ó0ä˜L°>ÐPXÐnqÓrˆæ�E‘M g´·±Ó&>äØ%Ü ×0Ò0°Ó9Ø)Ø#ØØ—n‘nØñ
ˆð Ñ ×!4×!4Ü# E¸8ÔDà€Ló    c                óâ  • [        U 5        [        U5        U  U=(       d    S 3n[        R                  SXrU5        [        R
                  SSSSSSS	S
SUS[        U5      U/n[        X4U5      n[        X†[        [        SSS9n	U	R                  5       u  p«U	R                  S:w  a  X«S.n[        U	R                  U40 UD6e[        XX%U
5      n[        R                  SUR                  5        U$ )aå  Invoke ``pip download`` in a subprocess to fetch a seed wheel.

:param distribution: PEP 503 normalized project name; rejected if it contains anything other than
    ``[A-Za-z0-9._-]``.
:param version_spec: optional version specifier of the form ``==<ver>`` or ``<<ver>`` as emitted by
    :func:`Version.as_version_spec`, or ``None``/empty for the latest compatible release.
:param for_py_version: major.minor Python version to pass through to ``pip --python-version``.
:param search_dirs: additional directories to treat as a local wheel index when bootstrapping pip.
:param app_data: application data store used to locate the embedded pip wheel.
:param to_folder: directory the downloaded wheel is written into.
:param env: environment mapping passed through to the subprocess.

:returns: the downloaded :class:`Wheel`.

:raises ValueError: if ``distribution`` or ``version_spec`` fail the strict allow-list check.
:raises CalledProcessError: if ``pip download`` exits with a non-zero status.

Ú zdownload wheel %s %s to %sz-mÚpipr!   z--progress-barÚoffz--disable-pip-version-checkz--only-binary=:all:z	--no-depsz--python-versionz-dTúutf-8)r   ÚstdoutÚstderrÚuniversal_newlinesÚencodingr   )Úoutputr-   zdownloaded wheel %s)Ú_check_distributionÚ_check_version_specÚLOGGERÚdebugÚsysÚ
executableÚstrÚpip_wheel_env_runr	   r   ÚcommunicateÚ
returncoder   Ú_find_downloaded_wheelÚname)r   r   r   r   r   r   r   Úto_downloadÚcmdÚprocessÚoutÚerrÚkwargsÚresults                 r$   r   r   V   sø   € ô6 ˜Ô%Ü˜Ô%Ø!�N <×#5°2Ð"6Ð7€KÜ
‡L�LÐ-¨{ÈIÔVä�‰ØØØØØØ%ØØØØØÜˆI‹Øð€Cô" ˜K°3Ó
7€CÜ�C¬´dÈtÐ^eÑf€GØ×"Ñ"Ó$�H€CØ×Ñ˜QÓØÑ/ˆÜ  ×!3Ñ!3°SÑC¸FÑCÐCÜ# LÀÐ[^Ó_€FÜ
‡L�LÐ&¨¯©Ô4Ø€Mr&   c           
     ó
  • UR                  5        Hd  nUR                  5       nS HK  nUR                  U5      (       d  M  [        [	        U[        U5      S  5      R                  5       5      s  s  $    Mf     [        XX#5      $ )N)zSaved zFile was already downloaded )Ú
splitlinesÚlstripÚ
startswithr   r   ÚlenÚabsoluteÚfind_compatible_in_house)r   r   r   r   r@   ÚlineÚstripped_lineÚmarkers           r$   r;   r;   ‘   so   € ð —‘Ö ˆØŸ™›ˆÛ@ˆFØ×'Ñ'¨×/Ó/ÜœT -´°F³°Ð">Ó?×HÑHÓJÓKÔKó Añ !ô $ LÀÓZÐZr&   c                óz  ^^	• [        X0S U5      nS[        U5      peUb“  U(       aŒ  UR                  S5      (       a
  S[        snmO+UR                  S5      (       a
  S[        snmO[        U5      e[        R                  " XS  5      m	[        UU	4S j[        U5       5       [        U5      5      nXV:X  a  S $ XE   $ )Nr   Ú<r   z==é   c              3  ó`   >#   • U  H#  u  pT" UR                   T5      (       d  M  Uv •  M%     g 7f)N)Úversion_tuple)Ú.0ÚatÚwÚopr    s      €€r$   Ú	<genexpr>Ú+find_compatible_in_house.<locals>.<genexpr>ª   s$   øé € ÐXÒ&7™U˜R¹2¸a¿o¹oÈw×;W—b‘bÒ&7ùs   ƒ.¥	.)
r   rH   rG   r   r   Ú
ValueErrorr   Úas_version_tupleÚnextÚ	enumerate)
r   r   r   Ú	in_folderÚwheelsÚstartÚendÚfrom_posrV   r    s
           @@r$   rJ   rJ   �   s­   ù€ ô ˜Y°d¸NÓK€FØ”C˜“Kˆ3ØÑ¦LØ×"Ñ" 3×'Ñ'ØœbˆLˆH‘bØ×$Ñ$ T×*Ñ*ØœbˆLˆH‘bä˜\Ó*Ð*Ü×(Ò(¨°iÐ)@ÓAˆÜÕX¤i°Ô&7ÓXÔZ]Ð^dÓZeÓfˆà“<ˆ4Ð2 V¡]Ð2r&   c                ó,  • UR                  5       nUR                  SSSSS.5        [        SS [        R                  R
                   S[        R                  R                   3U SUSUS9nUc  S	n[        U5      e[        UR                  5      US
'   U$ )NÚ1Ú0r+   )ÚPIP_USE_WHEELÚPIP_USERÚPIP_NO_INPUTÚPYTHONIOENCODINGr)   Ú.F)r   r    r   r   r!   r   r"   r   zcould not find the embedded pipÚ
PYTHONPATH)
ÚcopyÚupdater%   r5   Úversion_infoÚmajorÚminorÚRuntimeErrorr7   Úpath)r   r   r   r#   Úmsgs        r$   r8   r8   ¯   s˜   € Ø
�(‰(‹*€CØ‡J�J °#ÀsÐ`gÑhÔiÜØØÜ×*Ñ*×0Ñ0Ð1°´3×3CÑ3C×3IÑ3IÐ2JÐKØØØØ Øñ	€Eð �}Ø/ˆÜ˜3ÓÐÜ˜EŸJ™J›€CˆÑØ€Jr&   c                óZ   • [         R                  U 5      (       d  SU < 3n[        U5      eg )Nz=refusing to download wheel for suspicious distribution name: )Ú_DISTRIBUTION_REÚ	fullmatchrY   )r   rr   s     r$   r1   r1   Ã   s/   € Ü×%Ñ% l×3Ñ3ØMÈlÑM]Ð^ˆÜ˜‹oÐð 4r&   c                ój   • U (       d  g [         R                  U 5      (       d  SU < 3n[        U5      eg )Nz9refusing to download wheel with suspicious version spec: )Ú_VERSION_SPEC_REru   rY   )r   rr   s     r$   r2   r2   É   s5   € ÞØÜ×%Ñ% l×3Ñ3ØIÈ,ÑIYÐZˆÜ˜‹oÐð 4r&   )r   r%   r8   )r   r7   r    ú
str | Noner   r7   r   ú
list[Path]r!   Úboolr   r   r"   rz   r   údict[str, str]ÚreturnúWheel | None)r   r7   r   rx   r   r7   r   ry   r   r   r   r   r   r{   r|   r   )r   r7   r   rx   r   r7   r   r   r@   r7   r|   r}   )
r   r7   r   rx   r   r7   r]   r   r|   r}   )r   ry   r   r   r   r{   r|   r{   )r   r7   r|   ÚNone)r   rx   r|   r~   )*Ú__doc__Ú
__future__r   ÚloggingÚrer5   Úoperatorr   r   Úpathlibr   Ú
subprocessr   r   r	   Útypingr
   r   r   Úperiodic_updater   Úutilr   r   r   Úvirtualenv.app_data.baser   Ú	getLoggerÚ__name__r3   ÚcompileÚVERBOSErt   rw   r%   r   r;   rJ   r8   r1   r2   Ú__all__© r&   r$   Ú<module>r�      s°  ðÙ å "ã Û 	Û 
ß Ý ß 6Ñ 6Ý  å Ý 4ß 1Ñ 1æÝ0à	×	Ò	˜8Ó	$€ð —:’:ðð ‡J�JóÐ ð  —:’:ðð ‡J�JóÐ ð Øð àð ð ð ð ð	 ð
 ð ð ð ð ð ð 
ð ð ô ðF8Øð8àð8ð ð8ð ð	8ð
 ð8ð ð8ð 
ð8ð ô8ðv	[Øð	[Ø%/ð	[ØADð	[ØQUð	[Ø\_ð	[àô	[ð3Øð3Ø%/ð3ØADð3ØQUð3àô3ô$ô(ôò�r&   