+
    ®¾j=Q  ã                   óè   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt ^ RIHt ^RI
Ht ^RIHtHtHtHtHtHt ^RIHtHt ]P,                  ! ]4      tRtRt ! R R	]4      tR#   ] d
    ^ RI	Ht  LPi ; i)
é    N)ÚThread)ÚDistlibException)ÚHTTPBasicAuthHandlerÚRequestÚHTTPPasswordMgrÚurlparseÚbuild_openerÚstring_types)Úzip_dirÚServerProxyzhttps://pypi.org/pypiÚpypic                   ó¸   a € ] tR t^t o RtRtRR ltR tR tR t	R t
R	 tR
 tRR ltRR ltRR ltRR ltR tRR ltRR ltRR ltR tR tRR ltRtV tR# )ÚPackageIndexzW
This class represents a package index compatible with PyPI, the Python
Package Index.
s.   ----------ThIs_Is_tHe_distlib_index_bouNdaRY_$Nc           	     ó:  € T;'       g    \         V n        V P                  4        \        V P                  4      w  r#rErgV'       g   V'       g   V'       g   VR9  d   \	        RV P                  ,          4      hRV n        RV n        RV n        RV n        \        \        P                  R4      ;_uu_ 4       pR F.  p	 \        P                  ! V	R.VVR7      p
V
^ 8X  d	   W�n         MK0  	  RRR4       R#   \         d     KJ  i ; i  + '       g   i     R# ; i)zt
Initialise an instance.

:param url: The URL of the index. If not specified, the URL for PyPI is
            used.
zinvalid repository: %sNÚwz	--version)ÚstdoutÚstderr)ÚhttpÚhttps)ÚgpgÚgpg2)ÚDEFAULT_INDEXÚurlÚread_configurationr   r   Úpassword_handlerÚssl_verifierr   Úgpg_homeÚopenÚosÚdevnullÚ
subprocessÚ
check_callÚOSError)Úselfr   ÚschemeÚnetlocÚpathÚparamsÚqueryÚfragÚsinkÚsÚrcs   &&         ÚX/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/distlib/index.pyÚ__init__ÚPackageIndex.__init__%   sò   € ð ×'Ð'œ-ˆŒØ×ÑÔ!Ü4<¸T¿X¹XÓ4FÑ1ˆ˜ eß—UŸd fÐ4EÔ&EÜ"Ð#;¸d¿h¹hÕ#FÓGÐGØ $ˆÔØ ˆÔØˆŒØˆŒÜ”"—*‘*˜c×"Ô" dó %�ðÜ#×.Ò.°°;Ð/?ÈØ6:ô<�Bà˜Q”wØ#$œÙñ ñ	 %÷ #Ñ"øô ô Úðú÷ #×"Ð"ús0   Â8D	Â?(C7Ã'D	Ã7D	ÄD	ÄD	ÄD	Ä	D	c                ó   € ^RI Hp V! 4       # )z[
Get the distutils command for interacting with PyPI configurations.
:return: the command.
)Ú_get_pypirc_command)Úutilr2   )r$   Úcmds   & r.   r2   Ú PackageIndex._get_pypirc_commandB   s   € õ
 	5Ù‹uˆó    c                óê   € ^RI Hp V! V 4      pVP                  R4      V n        VP                  R4      V n        VP                  RR4      V n        VP                  RV P                  4      V n        R# )z£
Read the PyPI access configuration as supported by distutils. This populates
``username``, ``password``, ``realm`` and ``url`` attributes from the
configuration.
)Ú_load_pypircÚusernameÚpasswordÚrealmr   Ú
repositoryN)r3   r8   Úgetr9   r:   r;   r   )r$   r8   Úcfgs   &  r.   r   ÚPackageIndex.read_configurationJ   sY   € õ 	'Ù˜4Ó ˆØŸ™ 
Ó+ˆŒØŸ™ 
Ó+ˆŒØ—W‘W˜W fÓ-ˆŒ
Ø—7‘7˜<¨¯©Ó2ˆŽr6   c                óB   € V P                  4        ^RIHp V! V 4       R# )z|
Save the PyPI access configuration. You must have set ``username`` and
``password`` attributes before calling this method.
)Ú_store_pypircN)Úcheck_credentialsr3   rA   )r$   rA   s   & r.   Úsave_configurationÚPackageIndex.save_configurationW   s   € ð
 	×ÑÔ Ý'Ù�dÖr6   c                ó   € V P                   e   V P                  f   \        R4      h\        4       p\	        V P
                  4      w  r#   pVP                  V P                  W0P                   V P                  4       \        V4      V n	        R# )zX
Check that ``username`` and ``password`` have been set, and raise an
exception if not.
Nz!username and password must be set)
r9   r:   r   r   r   r   Úadd_passwordr;   r   r   )r$   ÚpmÚ_r&   s   &   r.   rB   ÚPackageIndex.check_credentials`   sm   € ð
 �=‰=Ò  D§M¡MÒ$9Ü"Ð#FÓGÐGÜÓˆÜ (¨¯©Ó 2Ñˆ�1�a˜˜AØ
�‰˜Ÿ
™
 F¯M©M¸4¿=¹=ÔIÜ 4°RÓ 8ˆÖr6   c                ó:  € V P                  4        VP                  4        VP                  4       pRVR&   V P                  VP	                  4       . 4      pV P                  V4       RVR&   V P                  VP	                  4       . 4      pV P                  V4      # )a9  
Register a distribution on PyPI, using the provided metadata.

:param metadata: A :class:`Metadata` instance defining at least a name
                 and version number for the distribution to be
                 registered.
:return: The HTTP response received from PyPI upon submission of the
        request.
Úverifyú:actionÚsubmit)rB   ÚvalidateÚtodictÚencode_requestÚitemsÚsend_request)r$   ÚmetadataÚdÚrequests   &&  r.   ÚregisterÚPackageIndex.registerl   s‰   € ð 	×ÑÔ Ø×ÑÔØ�O‰OÓˆØˆˆ)‰Ø×%Ñ% a§g¡g£i°Ó4ˆØ×Ñ˜'Ô"Øˆˆ)‰Ø×%Ñ% a§g¡g£i°Ó4ˆØ× Ñ  Ó)Ð)r6   c                óö   €  VP                  4       pV'       g   MNVP                  R4      P                  4       pVP                  V4       \        P                  V: RV: 24       Kh  VP                  4        R# )aB  
Thread runner for reading lines of from a subprocess into a buffer.

:param name: The logical name of the stream (used for logging only).
:param stream: The stream to read from. This will typically a pipe
               connected to the output stream of a subprocess.
:param outbuf: The list to append the read lines to.
úutf-8z: N)ÚreadlineÚdecodeÚrstripÚappendÚloggerÚdebugÚclose)r$   ÚnameÚstreamÚoutbufr,   s   &&&& r.   Ú_readerÚPackageIndex._reader€   sV   € ð Ø—‘Ó!ˆAßØØ—‘˜Ó!×(Ñ(Ó*ˆAØ�M‰M˜!ÔÜ�L‰L£Tª1Ð-Ö.Ø�‰Žr6   c           	     óÖ  € V P                   RRR.pVf   V P                  pV'       d   VP                  RV.4       Ve   VP                  . RO4       \        P                  ! 4       p\
        P                  P                  V\
        P                  P                  V4      R,           4      pVP                  RRRVR	Wq.4       \        P                  R
RP                  V4      4       WW3# )a1  
Return a suitable command for signing a file.

:param filename: The pathname to the file to be signed.
:param signer: The identifier of the signer of the file.
:param sign_password: The passphrase for the signer's
                      private key used for signing.
:param keystore: The path to a directory which contains the keys
                 used in verification. If not specified, the
                 instance's ``gpg_home`` attribute is used instead.
:return: The signing command as a list suitable to be
         passed to :class:`subprocess.Popen`.
ú--status-fdÚ2ú--no-ttyú	--homedirz.ascz--detach-signz--armorz--local-userz--outputúinvoking: %sÚ )z--batchz--passphrase-fdÚ0)r   r   ÚextendÚtempfileÚmkdtempr   r'   ÚjoinÚbasenamer^   r_   )r$   ÚfilenameÚsignerÚsign_passwordÚkeystorer4   ÚtdÚsfs   &&&&&   r.   Úget_sign_commandÚPackageIndex.get_sign_command’   s½   € ð �x‰x˜¨¨ZÐ8ˆØÒØ—}‘}ˆHßØ�J‰J˜ XÐ.Ô/ØÒ$Ø�J‰JÒ:Ô;Ü×ÒÓˆÜ�W‰W�\‰\˜"œbŸg™g×.Ñ.¨xÓ8¸6ÕAÓBˆØ�
‰
�O Y°Ø˜J¨ð6ô 	7ä�‰�^ S§X¡X¨c£]Ô3Øˆwˆr6   c                óh  € R\         P                  R\         P                  /pVe   \         P                  VR&   . p. p\         P                  ! V3/ VB p\        V P                  RVP
                  V3R7      pVP                  4        \        V P                  RVP                  V3R7      pVP                  4        Ve6   VP                  P                  V4       VP                  P                  4        VP                  4        VP                  4        VP                  4        VP                  WE3# )a¦  
Run a command in a child process , passing it any input data specified.

:param cmd: The command to run.
:param input_data: If specified, this must be a byte string containing
                   data to be sent to the child process.
:return: A tuple consisting of the subprocess' exit code, a list of
         lines read from the subprocess' ``stdout``, and a list of
         lines read from the subprocess' ``stderr``.
r   r   Ústdin)ÚtargetÚargs)r!   ÚPIPEÚPopenr   rd   r   Ústartr   r|   Úwriter`   Úwaitrq   Ú
returncode)	r$   r4   Ú
input_dataÚkwargsr   r   ÚpÚt1Út2s	   &&&      r.   Úrun_commandÚPackageIndex.run_command®   sè   € ð ”j—o‘oØ”j—o‘oð
ˆð Ò!Ü(Ÿo™oˆF�7‰OØˆØˆÜ×Ò˜SÑ+ FÑ+ˆô ˜4Ÿ<™<¨x¸¿¹À6Ð.JÔKˆØ
�‰Œ
Ü˜4Ÿ<™<¨x¸¿¹À6Ð.JÔKˆØ
�‰Œ
ØÒ!Ø�G‰G�M‰M˜*Ô%Ø�G‰G�M‰MŒOà	�‰ŒØ
�‰Œ	Ø
�‰Œ	Ø�|‰|˜VÐ+Ð+r6   c                óª   € V P                  WVV4      w  rVV P                  VVP                  R4      4      w  rxp	V^ 8w  d   \        RV,          4      hV# )aú  
Sign a file.

:param filename: The pathname to the file to be signed.
:param signer: The identifier of the signer of the file.
:param sign_password: The passphrase for the signer's
                      private key used for signing.
:param keystore: The path to a directory which contains the keys
                 used in signing. If not specified, the instance's
                 ``gpg_home`` attribute is used instead.
:return: The absolute pathname of the file where the signature is
         stored.
rY   z&sign command failed with error code %s)ry   rŠ   Úencoder   )
r$   rs   rt   ru   rv   r4   Úsig_filer-   r   r   s
   &&&&&     r.   Ú	sign_fileÚPackageIndex.sign_fileÑ   si   € ð ×-Ñ-¨hÀØ.6ó8‰ˆà!×-Ñ-¨cØ.;×.BÑ.BÀ7Ó.KóMÑˆ�Fà�Œ7Ü"ð $-Ø/1õ$2ó 3ð 3àˆr6   c                ó¦  € V P                  4        \        P                  P                  V4      '       g   \	        RV,          4      hVP                  4        VP                  4       pRp	V'       d<   V P                  '       g   \        P                  R4       MV P                  W#VV4      p	\        VR4      ;_uu_ 4       p
V
P                  4       pRRR4       \        P                  ! X4      P                  4       p\        P                   ! V4      P                  4       pVP#                  RRRRR	VR
VRVRV/4       R\        P                  P%                  V4      V3.pV	'       d’   \        V	R4      ;_uu_ 4       p
V
P                  4       pRRR4       VP'                  R\        P                  P%                  V	4      X34       \(        P*                  ! \        P                  P-                  V	4      4       V P/                  VP1                  4       V4      pV P3                  V4      #   + '       g   i     ELc; i  + '       g   i     L¹; i)a  
Upload a release file to the index.

:param metadata: A :class:`Metadata` instance defining at least a name
                 and version number for the file to be uploaded.
:param filename: The pathname of the file to be uploaded.
:param signer: The identifier of the signer of the file.
:param sign_password: The passphrase for the signer's
                      private key used for signing.
:param filetype: The type of the file being uploaded. This is the
                distutils command which produced that file, e.g.
                ``sdist`` or ``bdist_wheel``.
:param pyversion: The version of Python which the release relates
                  to. For code compatible with any Python, this would
                  be ``source``, otherwise it would be e.g. ``3.2``.
:param keystore: The path to a directory which contains the keys
                 used in signing. If not specified, the instance's
                 ``gpg_home`` attribute is used instead.
:return: The HTTP response received from PyPI upon submission of the
        request.
znot found: %sNz)no signing program available - not signedÚrbrL   Úfile_uploadÚprotocol_versionÚ1ÚfiletypeÚ	pyversionÚ
md5_digestÚsha256_digestÚcontentÚgpg_signature)rB   r   r'   Úexistsr   rN   rO   r   r^   Úwarningr�   r   ÚreadÚhashlibÚmd5Ú	hexdigestÚsha256Úupdaterr   r]   ÚshutilÚrmtreeÚdirnamerP   rQ   rR   )r$   rS   rs   rt   ru   r–   r—   rv   rT   rŽ   ÚfÚ	file_datar˜   r™   ÚfilesÚsig_datarU   s   &&&&&&&&         r.   Úupload_fileÚPackageIndex.upload_fileè   sº  € ð. 	×ÑÔ Ü�w‰w�~‰~˜h×'Ò'Ü" ?°XÕ#=Ó>Ð>Ø×ÑÔØ�O‰OÓˆØˆßØ—8—8�8Ü—‘ÐJÕKàŸ>™>¨(¸MØ*2ó4�ä�(˜D×!Ô! QØŸ™›ˆI÷ "ä—[’[ Ó+×5Ñ5Ó7ˆ
ÜŸš yÓ1×;Ñ;Ó=ˆØ	�‰Ø�}Ø Ø˜Ø˜Ø˜*Ø˜]ð
ô 	ð œRŸW™W×-Ñ-¨hÓ7¸ÐCÐDˆßÜ�h ×%Ô%¨ØŸ6™6›8�÷ &à�L‰L˜/¬2¯7©7×+;Ñ+;¸HÓ+EØ!ð#ô $ä�MŠMœ"Ÿ'™'Ÿ/™/¨(Ó3Ô4Ø×%Ñ% a§g¡g£i°Ó7ˆØ× Ñ  Ó)Ð)÷) "×!Ð!ú÷ &×%ús   ÃH,Å>I È,H=	É I	c                ó  € V P                  4        \        P                  P                  V4      '       g   \	        RV,          4      h\        P                  P                  VR4      p\        P                  P                  V4      '       g   \	        RV,          4      hVP                  4        VP                  VP                  rT\        V4      P                  4       pRRV3RV3.pRWF3.pV P                  Wx4      p	V P                  V	4      # )aâ  
Upload documentation to the index.

:param metadata: A :class:`Metadata` instance defining at least a name
                 and version number for the documentation to be
                 uploaded.
:param doc_dir: The pathname of the directory which contains the
                documentation. This should be the directory that
                contains the ``index.html`` for the documentation.
:return: The HTTP response received from PyPI upon submission of the
        request.
znot a directory: %rz
index.htmlznot found: %rra   Úversionrš   )rL   Ú
doc_upload)rB   r   r'   Úisdirr   rq   rœ   rN   ra   r®   r   ÚgetvaluerP   rR   )
r$   rS   Údoc_dirÚfnra   r®   Úzip_dataÚfieldsr©   rU   s
   &&&       r.   Úupload_documentationÚ!PackageIndex.upload_documentation!  sá   € ð 	×ÑÔ Ü�w‰w�}‰}˜W×%Ò%Ü"Ð#8¸7Õ#BÓCÐCÜ�W‰W�\‰\˜' <Ó0ˆÜ�w‰w�~‰~˜b×!Ò!Ü" ?°RÕ#7Ó8Ð8Ø×ÑÔØ Ÿ™ x×'7Ñ'7ˆgÜ˜7Ó#×,Ñ,Ó.ˆØ+Ø˜4�. 9¨gÐ"6ð8ˆà˜TÐ,Ð-ˆØ×%Ñ% fÓ4ˆØ× Ñ  Ó)Ð)r6   c                óì   € V P                   RRR.pVf   V P                  pV'       d   VP                  RV.4       VP                  RW.4       \        P	                  RRP                  V4      4       V# )a$  
Return a suitable command for verifying a file.

:param signature_filename: The pathname to the file containing the
                           signature.
:param data_filename: The pathname to the file containing the
                      signed data.
:param keystore: The path to a directory which contains the keys
                 used in verification. If not specified, the
                 instance's ``gpg_home`` attribute is used instead.
:return: The verifying command as a list suitable to be
         passed to :class:`subprocess.Popen`.
rg   rh   ri   rj   z--verifyrk   rl   )r   r   rn   r^   r_   rq   )r$   Úsignature_filenameÚdata_filenamerv   r4   s   &&&& r.   Úget_verify_commandÚPackageIndex.get_verify_command=  sf   € ð �x‰x˜¨¨ZÐ8ˆØÒØ—}‘}ˆHßØ�J‰J˜ XÐ.Ô/Ø�
‰
�JÐ 2ÐBÔCÜ�‰�^ S§X¡X¨c£]Ô3Øˆ
r6   c                óÄ   € V P                   '       g   \        R4      hV P                  WV4      pV P                  V4      w  rVpVR9  d   \        RV,          4      hV^ 8H  # )aæ  
Verify a signature for a file.

:param signature_filename: The pathname to the file containing the
                           signature.
:param data_filename: The pathname to the file containing the
                      signed data.
:param keystore: The path to a directory which contains the keys
                 used in verification. If not specified, the
                 instance's ``gpg_home`` attribute is used instead.
:return: True if the signature was verified, else False.
z0verification unavailable because gpg unavailablez(verify command failed with error code %s)r   é   )r   r   r»   rŠ   )r$   r¹   rº   rv   r4   r-   r   r   s   &&&&    r.   Úverify_signatureÚPackageIndex.verify_signatureU  sm   € ð �x�xˆxÜ"ð $1ó 2ð 2à×%Ñ%Ð&8Ø&.ó0ˆà!×-Ñ-¨cÓ2Ñˆ�FØ�VÔÜ"Ð#MÐPRÕ#RÓSÐSØ�Q‰wˆr6   c           	     ó  € Vf   Rp\         P                  R4       MT\        V\        \        34      '       d   Vw  rcMRp\        \        V4      ! 4       p\         P                  RV,          4       \        VR4      ;_uu_ 4       pV P                  \        V4      4      p VP                  4       p	Rp
Rp^ p^ pRV	9   d   \        V	R,          4      pV'       d
   V! WÚV4        VP                  V
4      pV'       g   MZV\        V4      ,          pVP                  V4       V'       d   VP                  V4       V^,          pV'       g   Kj  V! WÚV4       Ku  VP!                  4         RRR4       X^ 8¼  d   XV8  d   \#        R	WË3,          4      hV'       dI   VP%                  4       pW?8w  d   \#        X: R
V: RV: RV: 24      h\         P                  RV4       R# R#   TP!                  4        i ; i  + '       g   i     L˜; i)aŠ  
This is a convenience method for downloading a file from an URL.
Normally, this will be a file from the index, though currently
no check is made for this (i.e. a file can be downloaded from
anywhere).

The method is just like the :func:`urlretrieve` function in the
standard library, except that it allows digest computation to be
done during download and checking that the downloaded data
matched any expected value.

:param url: The URL of the file to be downloaded (assumed to be
            available via an HTTP GET request).
:param destfile: The pathname where the downloaded file is to be
                 saved.
:param digest: If specified, this must be a (hasher, value)
               tuple, where hasher is the algorithm used (e.g.
               ``'md5'``) and ``value`` is the expected value.
:param reporthook: The same as for :func:`urlretrieve` in the
                   standard library.
NzNo digest specifiedr    zDigest specified: %sÚwbi    zcontent-lengthzContent-Lengthz1retrieval incomplete: got only %d out of %d bytesz digest mismatch for z: expected z, got zDigest verified: %séÿÿÿÿ)r^   r_   Ú
isinstanceÚlistÚtupleÚgetattrrŸ   r   rR   r   ÚinfoÚintrž   Úlenr‚   r£   r`   r   r¡   )r$   r   ÚdestfileÚdigestÚ
reporthookÚdigesterÚhasherÚdfpÚsfpÚheadersÚ	blocksizeÚsizerž   ÚblocknumÚblockÚactuals   &&&&&           r.   Údownload_fileÚPackageIndex.download_filem  s¾  € ð, Š>ØˆHÜ�L‰LÐ.Õ/ä˜&¤4¬ -×0Ò0Ø!'‘�˜à�Üœw¨Ô/Ó1ˆHÜ�L‰LÐ/°&Õ8Ô9ô �(˜D×!Ô! Sð ×#Ñ#¤G¨C£LÓ1ˆCðØŸ(™(›*�Ø �	Ø�Ø�Ø�Ø# wÔ.Ü˜wÐ'7Õ8Ó9�DßÙ˜x°DÔ9ØØŸH™H YÓ/�Eß ØØœC ›JÕ&�DØ—I‘I˜eÔ$ßØ Ÿ™¨Ô.Ø •M�Hß!‘zÙ" 8¸Ö=à—	‘	•÷5 "ð: �1Œ9˜ œÜ"ØCØ�,õó ð  ÷ Ø×'Ñ'Ó)ˆFØÔÜ&Û7=»xÛ7=ºvð(Gó Hð Hô �L‰LÐ.°Ö7ñ øð —	‘	•ú÷5 "×!ús7   ÂG9Â!8G$Ã"G$Ã=AG$ÅG$ÅG9Ç$G6Ç6G9Ç9H		c                óî   € . pV P                   '       d   VP                  V P                   4       V P                  '       d   VP                  V P                  4       \        V!  pVP	                  V4      # )zµ
Send a standard library :class:`Request` to PyPI and return its
response.

:param req: The request to send.
:return: The HTTP response from PyPI (a standard library HTTPResponse).
)r   r]   r   r	   r   )r$   ÚreqÚhandlersÚopeners   &&  r.   rR   ÚPackageIndex.send_requestº  s^   € ð ˆØ× × Ð Ø�O‰O˜D×1Ñ1Ô2Ø××ÐØ�O‰O˜D×-Ñ-Ô.Ü˜xÑ(ˆØ�{‰{˜3ÓÐr6   c           
     óX  € . pV P                   pV Fn  w  rV\        V\        \        34      '       g   V.pV FD  pVP	                  RV,           RV,          P                  R4      RVP                  R4      34       KF  	  Kp  	  V F:  w  r‰p
VP	                  RV,           RV: RV	: R2P                  R4      RV
34       K<  	  VP	                  RV,           R,           R34       RP                  V4      pR	V,           pR
VR\        \        V4      4      /p\        V P                  W½4      # )zö
Encode fields and files for posting to an HTTP server.

:param fields: The fields to send as a list of (fieldname, value)
               tuples.
:param files: The files to send as a list of (fieldname, filename,
              file_bytes) tuple.
s   --z)Content-Disposition: form-data; name="%s"rY   r6   z&Content-Disposition: form-data; name="z"; filename="Ú"s   
s   multipart/form-data; boundary=zContent-typezContent-length)ÚboundaryrÄ   rÅ   rÆ   rn   r�   rq   ÚstrrÊ   r   r   )r$   rµ   r©   Úpartsrá   ÚkÚvaluesÚvÚkeyrs   ÚvalueÚbodyÚctrÒ   s   &&&           r.   rP   ÚPackageIndex.encode_requestÊ  s   € ð ˆØ—=‘=ˆÛ‰IˆAÜ˜f¤t¬U m×4Ò4Ø ˜�ã�Ø—‘Ø˜HÕ$Ø@Øõß™˜w›ØØ—H‘H˜WÓ%ð'ö (ó ñ	  ó %*Ñ ˆC˜5Ø�L‰LØ˜Ö ã“xð!ß"(¡&¨£/ØØðö ñ %*ð 	�‰�e˜hÕ&¨Õ.°Ð4Ô5à�|‰|˜EÓ"ˆØ.°Õ9ˆà˜BØœc¤# d£)›nð
ˆô �t—x‘x Ó/Ð/r6   c                óÚ   € \        V\        4      '       d   R V/p\        V P                  RR7      p TP	                  Y;'       g    R4      V! R4      ! 4        #   T! R4      ! 4        i ; i)ra   g      @)ÚtimeoutÚandr`   )rÄ   r
   r   r   Úsearch)r$   ÚtermsÚoperatorÚ	rpc_proxys   &&& r.   rï   ÚPackageIndex.searchõ  sZ   € Ü�eœ\×*Ò*Ø˜U�OˆEÜ §¡°#Ô6ˆ	ð	!Ø×#Ñ# E×+<Ð+<°uÓ=á�gÔÕ ø‰I�gÔÕ ús   ³A ÁA ÁA*)r   r   r:   r   r;   r   r   r9   )N)NNÚsdistÚsourceN)NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rá   r/   r2   r   rC   rB   rV   rd   ry   rŠ   r�   r«   r¶   r»   r¿   rØ   rR   rP   rï   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r.   r   r      sv   ø‡ € ñð
 A€Hôò:ò3òò
9ò*ò(ô$ô8!,ôFô.7*òr*ô8ô0ô0K8òZ ò )0÷V!ò !r6   r   )rŸ   Úloggingr   r¤   r!   ro   Ú	threadingr   ÚImportErrorÚdummy_threadingÚ r   Úcompatr   r   r   r   r	   r
   r3   r   r   Ú	getLoggerrö   r^   r   ÚDEFAULT_REALMÚobjectr   © r6   r.   Ú<module>r     so   ðó Û Û 	Û Û Û ð'Ý õ ÷;÷ ;ç &à	×	Ò	˜8Ó	$€à'€Ø€ô_!�6ö _!øð ô 'ß&ð'ús   šA! Á!A1Á0A1